From 35fbe16c299d68176cc581ef358133bc66da83d3 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Tue, 12 Sep 2017 20:59:35 +0200 Subject: [PATCH] [groovy] don't highlight null in GString key inspection (IDEA-174890) --- .../confusing/GroovyGStringKeyInspection.java | 7 +------ .../inspections/GroovyGStringKeyInspectionTest.groovy | 6 +++++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/confusing/GroovyGStringKeyInspection.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/confusing/GroovyGStringKeyInspection.java index 76c58df8baa8..1967badb3173 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/confusing/GroovyGStringKeyInspection.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/confusing/GroovyGStringKeyInspection.java @@ -27,7 +27,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgument import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrMethodCall; -import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import static com.intellij.psi.CommonClassNames.JAVA_UTIL_MAP; import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.GROOVY_LANG_GSTRING; @@ -100,11 +99,7 @@ public class GroovyGStringKeyInspection extends BaseInspection { private static boolean isGStringType(@NotNull GrExpression expression) { PsiType expressionType = expression.getType(); - if (expressionType == null) { - return false; - } - PsiClassType type = TypesUtil.createTypeByFQClassName(GROOVY_LANG_GSTRING, expression); - return type.isAssignableFrom(expressionType); + return expressionType != null && expressionType.equalsToText(GROOVY_LANG_GSTRING); } } } \ No newline at end of file diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GroovyGStringKeyInspectionTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GroovyGStringKeyInspectionTest.groovy index 53c4008ee985..99a04f0ef167 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GroovyGStringKeyInspectionTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/inspections/GroovyGStringKeyInspectionTest.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -88,4 +88,8 @@ class GroovyGStringKeyInspectionTest extends GrHighlightingTestBase { [:]."${key}"='bar' ''') } + + void 'test do not highlight null'() { + testHighlighting '[(null):1]' + } } \ No newline at end of file