boolean (@NotNull PsiScopeProcessor processor, @NotNull ResolveState state, PsiElement lastParent, @NotNull PsiElement place) { final ElementClassHint classHint = processor.getHint(ElementClassHint.KEY); if (classHint == null || classHint.shouldProcess(ElementClassHint.DeclarationKind.CLASS)) { final NameHint nameHint = processor.getHint(NameHint.KEY); final String name = nameHint != null ? nameHint.getName(state) : null; if (name != null) { String qNameImported = myPseudoImports.get(name); if (qNameImported != null) { PsiClass imported = JavaPsiFacade.getInstance(myManager.getProject()).findClass(qNameImported, getResolveScope()); if (imported != null) { if (!processor.execute(imported, state)) return false; } } } else { for (String qNameImported : myPseudoImports.values()) { PsiClass aClass = JavaPsiFacade.getInstance(myManager.getProject()).findClass(qNameImported, getResolveScope()); if (aClass != null) { if (!processor.execute(aClass, state)) return false; } } } if (myContext == null) { return JavaResolveUtil.processImplicitlyImportedPackages(processor, state, place, getManager()); } } IElementType i = myContentElementType; if (i == JavaElementType.TYPE_WITH_CONJUNCTIONS_TEXT || i == JavaElementType.TYPE_WITH_DISJUNCTIONS_TEXT || i == JavaElementType.EXPRESSION_STATEMENT || i == JavaElementType.REFERENCE_TEXT) { return true; } else { processor.handleEvent(PsiScopeProcessor.Event.SET_DECLARATION_HOLDER, this); if (lastParent == null) { // Parent element should not see our vars return true; } return PsiScopesUtil.walkChildrenScopes(this, processor, state, lastParent, place); } }