@Nullable @Override public String getType(PsiElement e) { if (DumbService.getInstance(e.getProject()).isDumb() || !Settings.getInstance(e.getProject()).pluginEnabled || !Settings.getInstance(e.getProject()).objectManagerFindTypeProvider) { return null; } if (!(e instanceof MethodReference) || !PhpElementsUtil.isMethodWithFirstStringOrFieldReference(e, "find")) { return null; } String refSignature = ((MethodReference) e).getSignature(); if (StringUtil.isEmpty(refSignature)) { return null; } // we need the param key on getBySignature(), since we are already in the resolved method there // attach it to signature // param can have dotted values split with \ PsiElement[] parameters = ((MethodReference) e).getParameters(); if (parameters.length == 2) { return PhpTypeProviderUtil.getReferenceSignature((MethodReference) e, TRIM_KEY, 2); } return null; }
public static Settings getInstance(Project project) { Settings settings = ServiceManager.getService(project, Settings.class); settings.project = project; return settings; }