mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[groovy] cleanup: reuse processReceiverType()
This commit is contained in:
+2
-20
@@ -47,7 +47,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.toplevel.imports.GrImportStatem
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.types.GrCodeReferenceElement;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.api.util.GrStatementOwner;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.GrClosureType;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.PsiImplUtil;
|
||||
import org.jetbrains.plugins.groovy.lang.psi.impl.signatures.GrClosureSignatureUtil;
|
||||
@@ -64,6 +63,7 @@ import java.util.*;
|
||||
|
||||
import static org.jetbrains.plugins.groovy.lang.psi.impl.GrAnnotationUtilKt.hasAnnotation;
|
||||
import static org.jetbrains.plugins.groovy.lang.psi.util.PsiTreeUtilKt.treeWalkUpAndGetSingleElement;
|
||||
import static org.jetbrains.plugins.groovy.lang.resolve.ReceiverKt.processReceiverType;
|
||||
import static org.jetbrains.plugins.groovy.lang.resolve.ResolveUtilKt.getDefaultConstructor;
|
||||
import static org.jetbrains.plugins.groovy.lang.resolve.ResolveUtilKt.initialState;
|
||||
|
||||
@@ -231,25 +231,7 @@ public class ResolveUtil {
|
||||
@NotNull PsiScopeProcessor processor,
|
||||
@NotNull ResolveState state,
|
||||
@NotNull PsiElement place) {
|
||||
type = TypesUtil.boxPrimitiveType(type, place.getManager(), place.getResolveScope());
|
||||
if (type instanceof PsiClassType) {
|
||||
final PsiClassType.ClassResolveResult resolveResult = ((PsiClassType)type).resolveGenerics();
|
||||
final PsiClass psiClass = resolveResult.getElement();
|
||||
final PsiSubstitutor substitutor = state.get(PsiSubstitutor.KEY);
|
||||
state = state.put(PsiSubstitutor.KEY, substitutor.putAll(resolveResult.getSubstitutor()));
|
||||
if (psiClass != null) {
|
||||
if (!processClassDeclarations(psiClass, processor, state, null, place)) return false;
|
||||
}
|
||||
}
|
||||
else if (type instanceof PsiArrayType) {
|
||||
GrTypeDefinition arrayClass = GroovyPsiManager.getInstance(place.getProject()).getArrayClass(((PsiArrayType)type).getComponentType());
|
||||
if (arrayClass!= null && !processClassDeclarations(arrayClass, processor, state, null, place)) return false;
|
||||
}
|
||||
if (ResolveUtilKt.processNonCodeMembers(state)) {
|
||||
if (!processCategoryMembers(place, processor, state)) return false;
|
||||
if (!processNonCodeMembers(type, processor, place, state)) return false;
|
||||
}
|
||||
return true;
|
||||
return processReceiverType(type, processor, state, place);
|
||||
}
|
||||
|
||||
public static boolean processNonCodeMembers(@NotNull PsiType type,
|
||||
|
||||
Reference in New Issue
Block a user