From 643ad5571c5cc571bfdabdc68e376924f564a648 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Mon, 5 Mar 2018 20:57:04 +0300 Subject: [PATCH] [groovy] resolve: check property result validity (IDEA-187712) --- .../resolve/processors/GroovyResolverProcessor.java | 2 +- .../groovy/lang/resolve/ResolvePropertyTest.groovy | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/processors/GroovyResolverProcessor.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/processors/GroovyResolverProcessor.java index 4149f2fcfaf7..8ca549eb561a 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/processors/GroovyResolverProcessor.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/processors/GroovyResolverProcessor.java @@ -280,7 +280,7 @@ public abstract class GroovyResolverProcessor implements PsiScopeProcessor, Elem if (kind == GroovyResolveKind.PROPERTY) { myAccessorProcessors.forEach( it -> it.getResults().stream().filter( - result -> applicable == result.isApplicable() + result -> applicable == result.isValidResult() ).forEach(results::add) ); } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy index 4b31b765c99a..eedd13e2624a 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/resolve/ResolvePropertyTest.groovy @@ -1505,4 +1505,15 @@ class Foo { disableTransformations testRootDisposable resolveByText 'def abc = 42; [:].with { abc }', GrVariable } + + void 'test Class property vs instance property'() { + def property = resolveByText '''\ +class A { + int getName() { 42 } +} + +println A.name +''', PsiMethod + assert property.containingClass.qualifiedName == 'java.lang.Class' + } }