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 d0aff5e205b8..40589065654d 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 @@ -108,10 +108,12 @@ public class GrReferenceExpressionImpl extends GrReferenceElementImpl result = cache.get(key); if (result == null) { @@ -388,10 +391,13 @@ public class ResolveUtil { @NotNull private static String rawCanonicalText(@NotNull PsiType type) { - final String result = type.getCanonicalText(); - final int i = result.indexOf('<'); - if (i > 0) return result.substring(0, i); - return result; + if (type instanceof PsiClassType) { + String qname = TypesUtil.getQualifiedName(type); + if (qname != null) { + return qname; + } + } + return TypeConversionUtil.erasure(type).getCanonicalText(); } public static GroovyPsiElement resolveProperty(GroovyPsiElement place, String name) { diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GrAssignabilityTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GrAssignabilityTest.groovy index 03ac29a17193..668af1ca2cbf 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GrAssignabilityTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GrAssignabilityTest.groovy @@ -31,10 +31,12 @@ class GrAssignabilityTest extends GrHighlightingTestBase { public void testIncompatibleTypesAssignments() { doTest(); } public void testDefaultMapConstructorNamedArgs() { + addBigDecimal() doTest(new GroovyConstructorNamedArgumentsInspection()); } public void testDefaultMapConstructorNamedArgsError() { + addBigDecimal() doTest(new GroovyConstructorNamedArgumentsInspection()); } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/convertToJava/CodeBlockGenerationTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/convertToJava/CodeBlockGenerationTest.groovy index f6e52759ee23..07dddce977a7 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/convertToJava/CodeBlockGenerationTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/convertToJava/CodeBlockGenerationTest.groovy @@ -161,7 +161,10 @@ public final class Matcher { void testArrayAccess() { doTest() } - void testCastWithEquality() { doTest() } + void testCastWithEquality() { + addBigDecimal() + doTest() + } void testAsserts() { doTest() }