mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
tolerate fields with no containing class (EA-44534)
This commit is contained in:
@@ -480,10 +480,15 @@ public class PsiClassImplUtil {
|
||||
if (list != null) {
|
||||
for (final Pair<PsiMember, PsiSubstitutor> candidate : list) {
|
||||
PsiMember candidateField = candidate.getFirst();
|
||||
PsiSubstitutor finalSubstitutor = obtainFinalSubstitutor(candidateField.getContainingClass(), candidate.getSecond(), aClass,
|
||||
PsiClass containingClass = candidateField.getContainingClass();
|
||||
if (containingClass == null) {
|
||||
LOG.error("No class for field " + candidateField.getName() + " of " + candidateField.getClass());
|
||||
continue;
|
||||
}
|
||||
PsiSubstitutor finalSubstitutor = obtainFinalSubstitutor(containingClass, candidate.getSecond(), aClass,
|
||||
substitutor, factory, languageLevel);
|
||||
|
||||
processor.handleEvent(PsiScopeProcessor.Event.SET_DECLARATION_HOLDER, candidateField.getContainingClass());
|
||||
processor.handleEvent(PsiScopeProcessor.Event.SET_DECLARATION_HOLDER, containingClass);
|
||||
if (!processor.execute(candidateField, state.put(PsiSubstitutor.KEY, finalSubstitutor))) return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user