mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-187683 Wrong 'Cannot be applied' warnings are shown in build.gradle file in newly created Gradle project
This commit is contained in:
@@ -30,5 +30,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.jps.build" />
|
||||
<orderEntry type="module" module-name="intellij.gradle.toolingExtension.impl" />
|
||||
<orderEntry type="library" name="XStream" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.groovy.psi" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -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<String>(importedNameKey, name)
|
||||
if (!processor.execute(method, newState)) return false
|
||||
}
|
||||
}
|
||||
if (!isGetterCandidate && !isSetterCandidate) {
|
||||
|
||||
Reference in New Issue
Block a user