diff --git a/plugins/gradle/java/intellij.gradle.java.iml b/plugins/gradle/java/intellij.gradle.java.iml
index 7c2446b171ac..72277fe09a4f 100644
--- a/plugins/gradle/java/intellij.gradle.java.iml
+++ b/plugins/gradle/java/intellij.gradle.java.iml
@@ -30,5 +30,6 @@
+
\ No newline at end of file
diff --git a/plugins/gradle/java/src/service/resolve/util.kt b/plugins/gradle/java/src/service/resolve/util.kt
index 96668d49bde3..90652bb95ba8 100644
--- a/plugins/gradle/java/src/service/resolve/util.kt
+++ b/plugins/gradle/java/src/service/resolve/util.kt
@@ -3,6 +3,7 @@ package org.jetbrains.plugins.gradle.service.resolve
import com.intellij.openapi.util.Key
import com.intellij.psi.*
+import com.intellij.psi.scope.ElementClassHint
import com.intellij.psi.scope.PsiScopeProcessor
import com.intellij.psi.util.PsiTreeUtil
import org.jetbrains.plugins.gradle.util.GradleConstants.EXTENSION
@@ -15,8 +16,10 @@ import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass
import org.jetbrains.plugins.groovy.lang.psi.util.GroovyPropertyUtils
import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil
import org.jetbrains.plugins.groovy.lang.resolve.NON_CODE
+import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil
import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil.processAllDeclarations
import org.jetbrains.plugins.groovy.lang.resolve.delegatesTo.getDelegatesToInfo
+import org.jetbrains.plugins.groovy.lang.resolve.imports.importedNameKey
import org.jetbrains.plugins.groovy.lang.resolve.processors.AccessorResolverProcessor
import org.jetbrains.plugins.groovy.lang.resolve.processors.ClassHint
import org.jetbrains.plugins.groovy.lang.resolve.processors.MethodResolverProcessor
@@ -37,7 +40,7 @@ fun processDeclarations(aClass: PsiClass,
state: ResolveState,
place: PsiElement): Boolean {
val name = processor.getHint(com.intellij.psi.scope.NameHint.KEY)?.getName(state)
- if (name == null) {
+ if (name == null || !ResolveUtil.shouldProcessMethods(processor.getHint(ElementClassHint.KEY))) {
aClass.processDeclarations(processor, state, null, place)
}
else {
@@ -74,7 +77,9 @@ fun processDeclarations(aClass: PsiClass,
if (processedSignatures.contains(method.getSignature(PsiSubstitutor.EMPTY).parameterTypes.map({ it.canonicalText }))) continue
processedSignatures.add(method.getSignature(PsiSubstitutor.EMPTY).parameterTypes.map({ it.canonicalText }))
place.putUserData(RESOLVED_CODE, true)
- if (!processor.execute(method, state)) return false
+ // hack to pass name check in org.jetbrains.plugins.groovy.lang.resolve.processors.GroovyResolverProcessor
+ val newState = state.put(importedNameKey, name)
+ if (!processor.execute(method, newState)) return false
}
}
if (!isGetterCandidate && !isSetterCandidate) {