groovy hasModifierProperty: don't resolve annotations unless really needed (EA-64982, EA-64979, EA-64978)

This commit is contained in:
peter
2015-02-18 16:18:47 +01:00
parent f606e01187
commit b93a336771
@@ -189,10 +189,10 @@ public class GrModifierListImpl extends GrStubElementBase<GrModifierListStub> im
if (modifier.equals(GrModifier.STATIC)) return true;
if (modifier.equals(GrModifier.FINAL)) return true;
}
if (pParent instanceof GrTypeDefinition) {
if (pParent instanceof GrTypeDefinition && modifier.equals(GrModifier.FINAL) && !modifierList.hasExplicitVisibilityModifiers()) {
PsiModifierList pModifierList = ((GrTypeDefinition)pParent).getModifierList();
if (pModifierList != null && !modifierList.hasExplicitVisibilityModifiers() && PsiImplUtil.hasImmutableAnnotation(pModifierList)) {
if (modifier.equals(GrModifier.FINAL)) return true;
if (pModifierList != null && PsiImplUtil.hasImmutableAnnotation(pModifierList)) {
return true;
}
}
}