diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/type/GroovyTypeCheckVisitor.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/type/GroovyTypeCheckVisitor.java index 733395ddcaca..92850d9a5ec9 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/type/GroovyTypeCheckVisitor.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/codeInspection/type/GroovyTypeCheckVisitor.java @@ -22,7 +22,6 @@ import com.intellij.openapi.util.Condition; import com.intellij.psi.*; import com.intellij.psi.impl.PsiSubstitutorImpl; import com.intellij.psi.tree.IElementType; -import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -380,7 +379,10 @@ public class GroovyTypeCheckVisitor extends BaseInspectionVisitor { }); } final PsiMethod staticMethod = ((GrGdkMethod)method).getStaticMethod(); - final PsiType qualifierType = info.getQualifierInstanceType(); + PsiType qualifierType = info.getQualifierInstanceType(); + if (method.hasModifierProperty(PsiModifier.STATIC)) { + qualifierType = ResolveUtil.unwrapClassType(qualifierType); + } //check methods processed by @Category(ClassWhichProcessMethod) annotation if (qualifierType != null && diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GroovyHighlightingTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GroovyHighlightingTest.groovy index a2385a052c49..a9efb24f1520 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GroovyHighlightingTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/highlighting/GroovyHighlightingTest.groovy @@ -1993,4 +1993,12 @@ class Main { } ''' } + + void 'test static GDK method applicable'() { + testHighlighting ''' +def doParse() { + Date.parse('dd.MM.yyyy', '01.12.2016') +} +''', GroovyAssignabilityCheckInspection + } }