From 632fee20aa411de2f52ee2ff8f8565a148d185c1 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Wed, 14 Dec 2016 19:30:34 +0300 Subject: [PATCH] [groovy] fix expection on super reference in trait without supertypes (EA-74829) --- .../expressions/GrReferenceExpressionImpl.java | 4 +++- .../lang/highlighting/Gr23HighlightingTest.groovy | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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() + } +} +''' + } }