void (GroovyResolveResult result) { if (!result.isStaticsOK()) { if (myInapplicable == null) myInapplicable = new ArrayList<>(); myInapplicable.add(result); return; } if (!result.isAccessible() && myParameters.getInvocationCount() < 2) return; if (mySkipPackages && result.getElement() instanceof PsiPackage) return; PsiElement element = result.getElement(); if (element instanceof PsiVariable && !myMatcher.prefixMatches(((PsiVariable)element).getName())) { return; } if (element instanceof GrReflectedMethod) { GrMethod base = ((GrReflectedMethod)element).getBaseMethod(); if (!myProcessedMethodWithOptionalParams.add(base)) return; result = PsiImplUtil.reflectedToBase(result, base, (GrReflectedMethod)element); element = base; } if (myFieldPointerOperator && !(element instanceof PsiVariable)) { return; } if (myMethodPointerOperator && !(element instanceof PsiMethod)) { return; } addCandidate(result); if (!myFieldPointerOperator && !myMethodPointerOperator) { if (element instanceof PsiMethod) { processProperty((PsiMethod)element, result); } else if (element instanceof GrField) { if (((GrField)element).isProperty()) { processPropertyFromField((GrField)element, result); } } } if (element instanceof GrVariable && !(element instanceof GrField)) { myLocalVars.add(((GrVariable)element).getName()); } }