diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java index 423045a26066..792e44cc1692 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java @@ -262,7 +262,9 @@ public class GrReferenceExpressionImpl extends GrReferenceElementImpl 0) { + return PsiIntersectionType.createIntersection(ArrayUtil.reverseArray(superTypes)); + } } return factory.createType((PsiClass)resolved); } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/Gr23HighlightingTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/Gr23HighlightingTest.groovy index 6ea50bee7e80..b52e95186116 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/Gr23HighlightingTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/Gr23HighlightingTest.groovy @@ -475,4 +475,14 @@ class A implements T {} new A().foo ''', GroovyUnusedDeclarationInspection } + + void 'test no exception on super reference in trait without supertypes'() { + testHighlighting '''\ +trait SimpleTrait { + void foo() { + super.foo() + } +} +''' + } }