diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleArtifactsContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleArtifactsContributor.kt index f4a59524c1fa..63dfdc73695b 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleArtifactsContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleArtifactsContributor.kt @@ -17,6 +17,7 @@ package org.jetbrains.plugins.gradle.service.resolve import com.intellij.patterns.PsiJavaPatterns.psiElement import com.intellij.psi.CommonClassNames.JAVA_LANG_OBJECT +import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiElement import com.intellij.psi.PsiType import com.intellij.psi.ResolveState @@ -51,7 +52,6 @@ class GradleArtifactsContributor : GradleMethodContextContributor { processor: PsiScopeProcessor, state: ResolveState, place: PsiElement): Boolean { - val psiManager = GroovyPsiManager.getInstance(place.project) val methodName = if (methodCallInfo.isNotEmpty()) methodCallInfo[0] else null if (methodName != null && place is GrReferenceExpression && psiElement().inside(artifactsClosure).accepts(place)) { val text = place.text @@ -61,7 +61,7 @@ class GradleArtifactsContributor : GradleMethodContextContributor { return false } - if (!GradleResolverUtil.processDeclarations(psiManager, processor, state, place, GRADLE_API_ARTIFACT_HANDLER)) return false + if (!GradleResolverUtil.processDeclarations(processor, state, place, GRADLE_API_ARTIFACT_HANDLER)) return false // assuming that the method call is addition of an artifact to the given configuration. if (!processArtifactAddition(processor, state, place)) return false } @@ -78,11 +78,11 @@ class GradleArtifactsContributor : GradleMethodContextContributor { private fun processArtifactAddition(processor: PsiScopeProcessor, state: ResolveState, place: PsiElement): Boolean { - val psiManager = GroovyPsiManager.getInstance(place.project) - val artifactHandlerClass = psiManager.findClassWithCache(GRADLE_API_ARTIFACT_HANDLER, place.resolveScope) ?: return true + val groovyPsiManager = GroovyPsiManager.getInstance(place.project) + val artifactHandlerClass = JavaPsiFacade.getInstance(place.project).findClass(GRADLE_API_ARTIFACT_HANDLER, place.resolveScope) ?: return true val call = PsiTreeUtil.getParentOfType(place, GrMethodCall::class.java) ?: return true - val returnClass = psiManager.createTypeByFQClassName(GRADLE_API_PUBLISH_ARTIFACT, place.resolveScope) ?: return true + val returnClass = groovyPsiManager.createTypeByFQClassName(GRADLE_API_PUBLISH_ARTIFACT, place.resolveScope) ?: return true val type = PsiType.getJavaLangObject(place.manager, place.resolveScope).createArrayType() val builder = GrLightMethodBuilder(place.manager, "add").apply { containingClass = artifactHandlerClass diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleDependenciesContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleDependenciesContributor.kt index b57f9e2892df..0eedf10fa0cb 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleDependenciesContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleDependenciesContributor.kt @@ -17,6 +17,7 @@ package org.jetbrains.plugins.gradle.service.resolve import com.intellij.patterns.PsiJavaPatterns.psiElement import com.intellij.patterns.StandardPatterns.or +import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiElement import com.intellij.psi.ResolveState import com.intellij.psi.scope.ElementClassHint @@ -72,7 +73,7 @@ class GradleDependenciesContributor : GradleMethodContextContributor { } override fun process(methodCallInfo: List, processor: PsiScopeProcessor, state: ResolveState, place: PsiElement): Boolean { - val psiManager = GroovyPsiManager.getInstance(place.project) + val groovyPsiManager = GroovyPsiManager.getInstance(place.project) val methodName = methodCallInfo.firstOrNull() ?: return true val classHint = processor.getHint(ElementClassHint.KEY) @@ -80,12 +81,12 @@ class GradleDependenciesContributor : GradleMethodContextContributor { if (shouldProcessMethods && place is GrReferenceExpression && psiElement().inside(dependenciesClosure).accepts(place)) { if (methodCallInfo.size == 2) { val resolveScope = place.getResolveScope() - val psiClass = psiManager.findClassWithCache(GRADLE_API_DEPENDENCY_HANDLER, resolveScope) ?: return true + val psiClass = JavaPsiFacade.getInstance(place.project).findClass(GRADLE_API_DEPENDENCY_HANDLER, resolveScope) ?: return true if (canBeMethodOf(methodName, psiClass)) { return true } - val returnClass = psiManager.createTypeByFQClassName(GRADLE_API_ARTIFACTS_DEPENDENCY, resolveScope) ?: return true + val returnClass = groovyPsiManager.createTypeByFQClassName(GRADLE_API_ARTIFACTS_DEPENDENCY, resolveScope) ?: return true val wrappedBase = GrLightMethodBuilder(place.manager, "add").apply { returnType = returnClass containingClass = psiClass @@ -95,7 +96,7 @@ class GradleDependenciesContributor : GradleMethodContextContributor { } } if (psiElement().inside(dependencyConfigurationClosure).accepts(place)) { - if (GradleResolverUtil.processDeclarations(psiManager, processor, state, place, + if (GradleResolverUtil.processDeclarations(processor, state, place, GRADLE_API_ARTIFACTS_MODULE_DEPENDENCY, GRADLE_API_ARTIFACTS_CLIENT_MODULE_DEPENDENCY)) return false } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleExtensionsContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleExtensionsContributor.kt index 9884a1d0616b..cd018f3b3a2f 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleExtensionsContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleExtensionsContributor.kt @@ -22,6 +22,7 @@ import com.intellij.patterns.ElementPattern import com.intellij.patterns.PatternCondition import com.intellij.patterns.PsiJavaPatterns.psiElement import com.intellij.psi.CommonClassNames.* +import com.intellij.psi.JavaPsiFacade import com.intellij.psi.PsiElement import com.intellij.psi.ResolveState import com.intellij.psi.scope.ElementClassHint @@ -95,21 +96,21 @@ class GradleExtensionsContributor : GradleMethodContextContributor { val classHint = processor.getHint(ElementClassHint.KEY) val shouldProcessMethods = ResolveUtil.shouldProcessMethods(classHint) val shouldProcessProperties = ResolveUtil.shouldProcessProperties(classHint) - val psiManager = GroovyPsiManager.getInstance(place.project) + val groovyPsiManager = GroovyPsiManager.getInstance(place.project) val resolveScope = place.resolveScope - val projectClass = psiManager.findClassWithCache(GRADLE_API_PROJECT, resolveScope) ?: return true + val projectClass = JavaPsiFacade.getInstance(place.project).findClass(GRADLE_API_PROJECT, resolveScope) ?: return true val name = processor.getHint(NameHint.KEY)?.getName(state) if (psiElement().inside(closureInLeftShiftMethod).accepts(place)) { - if (!GradleResolverUtil.processDeclarations(psiManager, processor, state, place, GRADLE_API_DEFAULT_TASK)) { + if (!GradleResolverUtil.processDeclarations(processor, state, place, GRADLE_API_DEFAULT_TASK)) { return false } } if (place.text == "task" && place is GrReferenceExpression && place.parent is GrApplicationStatement) { if (GradleResolverUtil.isLShiftElement(place.parent?.children?.getOrNull(1)?.firstChild)) { - val taskContainerClass = psiManager.findClassWithCache(GRADLE_API_TASK_CONTAINER, resolveScope) ?: return true - val returnClass = psiManager.createTypeByFQClassName(GRADLE_API_TASK, resolveScope) ?: return true + val taskContainerClass = JavaPsiFacade.getInstance(place.project).findClass(GRADLE_API_TASK_CONTAINER, resolveScope) ?: return true + val returnClass = groovyPsiManager.createTypeByFQClassName(GRADLE_API_TASK, resolveScope) ?: return true val methodBuilder = GrLightMethodBuilder(place.manager, "create").apply { containingClass = taskContainerClass returnType = returnClass @@ -143,7 +144,7 @@ class GradleExtensionsContributor : GradleMethodContextContributor { for (gradleTask in extensionsData.tasks) { if (shouldProcessMethods && name == gradleTask.name) { - val returnClass = psiManager.createTypeByFQClassName( + val returnClass = groovyPsiManager.createTypeByFQClassName( if (isTaskDeclaration) JAVA_LANG_STRING else gradleTask.typeFqn, resolveScope) ?: continue val methodBuilder = GrLightMethodBuilder(place.manager, gradleTask.name).apply { @@ -163,7 +164,7 @@ class GradleExtensionsContributor : GradleMethodContextContributor { val taskClosure = groovyClosure().inMethod(psiMethod(GRADLE_API_PROJECT, gradleTask.name)) val psiElement = psiElement() if (psiElement.inside(taskClosure).accepts(place)) { - if (shouldProcessMethods && !GradleResolverUtil.processDeclarations(psiManager, processor, state, place, gradleTask.typeFqn)) { + if (shouldProcessMethods && !GradleResolverUtil.processDeclarations(processor, state, place, gradleTask.typeFqn)) { place.putUserData(RESOLVED_CODE, null) return false } @@ -210,7 +211,7 @@ class GradleExtensionsContributor : GradleMethodContextContributor { return processor.execute(variable, state) } else if (shouldProcessMethods && it.typeFqn == GROOVY_LANG_CLOSURE) { - val returnClass = psiManager.createTypeByFQClassName(GROOVY_LANG_CLOSURE, resolveScope) ?: return true + val returnClass = groovyPsiManager.createTypeByFQClassName(GROOVY_LANG_CLOSURE, resolveScope) ?: return true val methodBuilder = GrLightMethodBuilder(place.manager, name).apply { returnType = returnClass addParameter("args", JAVA_LANG_OBJECT, true) @@ -262,7 +263,7 @@ class GradleExtensionsContributor : GradleMethodContextContributor { buffer.append(" " + gradleProp.name) val hasInitializer = !gradleProp.value.isNullOrBlank() if (hasInitializer) { - buffer.append(" = "); + buffer.append(" = ") val longString = gradleProp.value!!.toString().length > 100 if (longString) { buffer.append("
") @@ -300,14 +301,14 @@ fun processExtension(processor: PsiScopeProcessor, extension: GradleExtensionsSettings.GradleExtension): Boolean { val classHint = processor.getHint(ElementClassHint.KEY) val shouldProcessMethods = ResolveUtil.shouldProcessMethods(classHint) - val psiManager = GroovyPsiManager.getInstance(place.project) + val groovyPsiManager = GroovyPsiManager.getInstance(place.project) val resolveScope = place.resolveScope - val projectClass = psiManager.findClassWithCache(GRADLE_API_PROJECT, resolveScope) ?: return true + val projectClass = JavaPsiFacade.getInstance(place.project).findClass(GRADLE_API_PROJECT, resolveScope) ?: return true val name = processor.getHint(NameHint.KEY)?.getName(state) if (name == extension.name) { - val returnClass = psiManager.createTypeByFQClassName(extension.rootTypeFqn, resolveScope) ?: return true + val returnClass = groovyPsiManager.createTypeByFQClassName(extension.rootTypeFqn, resolveScope) ?: return true val methodName = if (shouldProcessMethods) extension.name else "get" + extension.name.capitalize() val methodBuilder = GrLightMethodBuilder(place.manager, methodName).apply { containingClass = projectClass @@ -324,13 +325,13 @@ fun processExtension(processor: PsiScopeProcessor, val placeText = place.text val psiElement = psiElement() if (psiElement.inside(extensionClosure).accepts(place)) { - if (shouldProcessMethods && !GradleResolverUtil.processDeclarations(psiManager, processor, state, place, extension.rootTypeFqn)) { + if (shouldProcessMethods && !GradleResolverUtil.processDeclarations(processor, state, place, extension.rootTypeFqn)) { return false } val objectTypeFqn = extension.namedObjectTypeFqn?.let { if (it.isNotBlank()) it else null } ?: return true if (place.parent is GrMethodCallExpression) { - val methodBuilder = GradleResolverUtil.createMethodWithClosure(placeText, objectTypeFqn, null, place, psiManager) + val methodBuilder = GradleResolverUtil.createMethodWithClosure(placeText, objectTypeFqn, null, place) if (methodBuilder != null) { place.putUserData(RESOLVED_CODE, true) if (!processor.execute(methodBuilder, state)) return false diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleIdeaPluginScriptContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleIdeaPluginScriptContributor.kt index 4f26fa15aaea..00417bebd189 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleIdeaPluginScriptContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleIdeaPluginScriptContributor.kt @@ -80,7 +80,7 @@ class GradleIdeaPluginScriptContributor : GradleMethodContextContributor { val psiManager = GroovyPsiManager.getInstance(place.project) if (psiElement().inside(ideaIprClosure).inside(ideaProjectClosure).accepts(place)) { - if (GradleResolverUtil.processDeclarations(psiManager, processor, state, place, IDE_XML_MERGER_FQN)) return false + if (GradleResolverUtil.processDeclarations(processor, state, place, IDE_XML_MERGER_FQN)) return false } return true } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleJavaContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleJavaContributor.kt index 588b6d28cb76..0360bfcc7d1e 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleJavaContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleJavaContributor.kt @@ -26,7 +26,6 @@ import groovy.lang.Closure import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames.* import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil import org.jetbrains.plugins.groovy.lang.psi.patterns.groovyClosure import org.jetbrains.plugins.groovy.lang.psi.patterns.psiMethod @@ -67,8 +66,7 @@ class GradleJavaContributor : GradleMethodContextContributor { } override fun process(methodCallInfo: List, processor: PsiScopeProcessor, state: ResolveState, place: PsiElement): Boolean { - val psiManager = GroovyPsiManager.getInstance(place.project) - if (!GradleResolverUtil.processDeclarations(psiManager, processor, state, place, + if (!GradleResolverUtil.processDeclarations(processor, state, place, GRADLE_API_BASE_PLUGIN_CONVENTION, GRADLE_API_JAVA_PLUGIN_CONVENTION, GRADLE_API_APPLICATION_PLUGIN_CONVENTION, diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMavenArtifactRepositoryContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMavenArtifactRepositoryContributor.kt index 7e2962142d1d..2e59f2833ab3 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMavenArtifactRepositoryContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMavenArtifactRepositoryContributor.kt @@ -23,7 +23,6 @@ import com.intellij.psi.scope.PsiScopeProcessor import groovy.lang.Closure import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames.* import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil import org.jetbrains.plugins.groovy.lang.psi.patterns.groovyClosure import org.jetbrains.plugins.groovy.lang.psi.patterns.psiMethod @@ -55,11 +54,9 @@ class GradleMavenArtifactRepositoryContributor : GradleMethodContextContributor processor: PsiScopeProcessor, state: ResolveState, place: PsiElement): Boolean { - - val psiManager = GroovyPsiManager.getInstance(place.project) if (methodCallInfo.isNotEmpty() && psiElement().inside(repositoryClosure).accepts(place)) { if (!GradleResolverUtil.processDeclarations( - psiManager, processor, state, place, GRADLE_API_ARTIFACTS_REPOSITORIES_MAVEN_ARTIFACT_REPOSITORY)) return false + processor, state, place, GRADLE_API_ARTIFACTS_REPOSITORIES_MAVEN_ARTIFACT_REPOSITORY)) return false } return true } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMiscContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMiscContributor.kt index 3caa7c745bfc..fa0b88965308 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMiscContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleMiscContributor.kt @@ -16,10 +16,7 @@ package org.jetbrains.plugins.gradle.service.resolve import com.intellij.patterns.PsiJavaPatterns.psiElement -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiType -import com.intellij.psi.ResolveState +import com.intellij.psi.* import com.intellij.psi.scope.PsiScopeProcessor import groovy.lang.Closure import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames.* @@ -92,12 +89,12 @@ class GradleMiscContributor : GradleMethodContextContributor { val classHint = processor.getHint(com.intellij.psi.scope.ElementClassHint.KEY) val shouldProcessMethods = ResolveUtil.shouldProcessMethods(classHint) - val psiManager = GroovyPsiManager.getInstance(place.project) + val groovyPsiManager = GroovyPsiManager.getInstance(place.project) val resolveScope = place.resolveScope if (shouldProcessMethods && place.parent?.parent is GroovyFile && place.text == "plugins") { - val pluginsDependenciesClass = psiManager.findClassWithCache(pluginDependenciesSpecFqn, resolveScope) ?: return true - val returnClass = psiManager.createTypeByFQClassName(pluginDependenciesSpecFqn, resolveScope) ?: return true + val pluginsDependenciesClass = JavaPsiFacade.getInstance(place.project).findClass(pluginDependenciesSpecFqn, resolveScope) ?: return true + val returnClass = groovyPsiManager.createTypeByFQClassName(pluginDependenciesSpecFqn, resolveScope) ?: return true val methodBuilder = GrLightMethodBuilder(place.manager, "plugins").apply { containingClass = pluginsDependenciesClass returnType = returnClass diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleNonCodeMembersContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleNonCodeMembersContributor.kt index c0ef9447aa30..f1dbb678c96f 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleNonCodeMembersContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleNonCodeMembersContributor.kt @@ -35,7 +35,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrApplic import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrMethodCall import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrMethodCallExpression -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightField import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightMethodBuilder @@ -121,8 +120,8 @@ class GradleNonCodeMembersContributor : NonCodeMembersContributor() { if (GradleResolverUtil.canBeMethodOf(propCandidate, aClass)) return val domainObjectFqn = TypesUtil.getQualifiedName(domainObjectType) ?: return - val psiManager = GroovyPsiManager.getInstance(place.project) - val domainObjectPsiClass = psiManager.findClassWithCache(domainObjectFqn, place.resolveScope) ?: return + val javaPsiFacade = JavaPsiFacade.getInstance(place.project) + val domainObjectPsiClass = javaPsiFacade.findClass(domainObjectFqn, place.resolveScope) ?: return if (GradleResolverUtil.canBeMethodOf(propCandidate, domainObjectPsiClass)) return if (GradleResolverUtil.canBeMethodOf("get" + propCandidate.capitalize(), domainObjectPsiClass)) return if (GradleResolverUtil.canBeMethodOf("set" + propCandidate.capitalize(), domainObjectPsiClass)) return @@ -131,7 +130,7 @@ class GradleNonCodeMembersContributor : NonCodeMembersContributor() { val typeToDelegate = closure?.let { getDelegatesToInfo(it)?.typeToDelegate } if (typeToDelegate != null) { val fqNameToDelegate = TypesUtil.getQualifiedName(typeToDelegate) ?: return - val classToDelegate = psiManager.findClassWithCache(fqNameToDelegate, place.resolveScope) ?: return + val classToDelegate = javaPsiFacade.findClass(fqNameToDelegate, place.resolveScope) ?: return if (classToDelegate !== aClass) { val parent = place.parent if (parent is GrMethodCall) { diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleProjectContributor.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleProjectContributor.kt index efdcfbfa5b82..177a63feae7d 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleProjectContributor.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleProjectContributor.kt @@ -21,7 +21,6 @@ import com.intellij.psi.scope.PsiScopeProcessor import groovy.lang.Closure import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames.* import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil import org.jetbrains.plugins.groovy.lang.psi.patterns.groovyClosure import org.jetbrains.plugins.groovy.lang.psi.patterns.psiMethod @@ -54,7 +53,6 @@ class GradleProjectContributor : GradleMethodContextContributor { } override fun process(methodCallInfo: List, processor: PsiScopeProcessor, state: ResolveState, place: PsiElement): Boolean { - val psiManager = GroovyPsiManager.getInstance(place.project) - return GradleResolverUtil.processDeclarations(psiManager, processor, state, place, GRADLE_API_PROJECT) + return GradleResolverUtil.processDeclarations(processor, state, place, GRADLE_API_PROJECT) } } \ No newline at end of file diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleResolverUtil.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleResolverUtil.java index 6cf6c67cc8ac..004ead09730b 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleResolverUtil.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleResolverUtil.java @@ -28,7 +28,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.GrBinaryExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightMethodBuilder; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightParameter; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames; @@ -62,11 +61,10 @@ public class GradleResolverUtil { public static GrLightMethodBuilder createMethodWithClosure(@NotNull String name, @Nullable String returnType, @Nullable String closureTypeParameter, - @NotNull PsiElement place, - @NotNull GroovyPsiManager psiManager) { + @NotNull PsiElement place) { PsiClassType closureType; PsiClass closureClass = - psiManager.findClassWithCache(GroovyCommonClassNames.GROOVY_LANG_CLOSURE, place.getResolveScope()); + JavaPsiFacade.getInstance(place.getProject()).findClass(GroovyCommonClassNames.GROOVY_LANG_CLOSURE, place.getResolveScope()); if (closureClass == null) return null; if (closureClass.getTypeParameters().length != 1) { @@ -98,14 +96,14 @@ public class GradleResolverUtil { return methodWithClosure; } - public static boolean processDeclarations(@NotNull GroovyPsiManager psiManager, - @NotNull PsiScopeProcessor processor, + public static boolean processDeclarations(@NotNull PsiScopeProcessor processor, @NotNull ResolveState state, @NotNull PsiElement place, @NotNull String... fqNames) { + JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(place.getProject()); for (String fqName : fqNames) { if(fqName == null) continue; - PsiClass psiClass = psiManager.findClassWithCache(fqName, place.getResolveScope()); + PsiClass psiClass = javaPsiFacade.findClass(fqName, place.getResolveScope()); if (psiClass != null) { if (!UtilKt.processDeclarations(psiClass, processor, state, place)) return false; } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleSettingsScriptContributor.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleSettingsScriptContributor.java index ae89d3bf60da..813798b9e31e 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleSettingsScriptContributor.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/GradleSettingsScriptContributor.java @@ -19,7 +19,6 @@ import com.intellij.psi.*; import com.intellij.psi.scope.PsiScopeProcessor; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.gradle.util.GradleConstants; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass; import org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersContributor; @@ -44,7 +43,6 @@ public class GradleSettingsScriptContributor extends NonCodeMembersContributor { return; } - GroovyPsiManager psiManager = GroovyPsiManager.getInstance(place.getProject()); - GradleResolverUtil.processDeclarations(psiManager, processor, state, place, GradleCommonClassNames.GRADLE_API_INITIALIZATION_SETTINGS); + GradleResolverUtil.processDeclarations(processor, state, place, GradleCommonClassNames.GRADLE_API_INITIALIZATION_SETTINGS); } } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/dsl/GradleDslAnnotator.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/dsl/GradleDslAnnotator.java index dad7ae8d585f..a7f51b490d98 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/dsl/GradleDslAnnotator.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/dsl/GradleDslAnnotator.java @@ -17,6 +17,7 @@ package org.jetbrains.plugins.gradle.service.resolve.dsl; import com.intellij.lang.annotation.AnnotationHolder; import com.intellij.lang.annotation.Annotator; +import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiType; @@ -26,7 +27,6 @@ import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames; import org.jetbrains.plugins.gradle.service.resolve.GradleResolverUtil; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; @@ -50,14 +50,14 @@ public class GradleDslAnnotator implements Annotator { PsiType psiType = GradleResolverUtil.getTypeOf(qualifier); if (psiType == null) return; if (InheritanceUtil.isInheritor(psiType, GradleCommonClassNames.GRADLE_API_NAMED_DOMAIN_OBJECT_COLLECTION)) { - final GroovyPsiManager psiManager = GroovyPsiManager.getInstance(element.getProject()); + JavaPsiFacade javaPsiFacade = JavaPsiFacade.getInstance(element.getProject()); PsiClass defaultGroovyMethodsClass = - psiManager.findClassWithCache(GroovyCommonClassNames.DEFAULT_GROOVY_METHODS, element.getResolveScope()); + javaPsiFacade.findClass(GroovyCommonClassNames.DEFAULT_GROOVY_METHODS, element.getResolveScope()); if (canBeMethodOf(referenceExpression.getReferenceName(), defaultGroovyMethodsClass)) return; final String qualifiedName = TypesUtil.getQualifiedName(psiType); final PsiClass containerClass = - qualifiedName != null ? psiManager.findClassWithCache(qualifiedName, element.getResolveScope()) : null; + qualifiedName != null ? javaPsiFacade.findClass(qualifiedName, element.getResolveScope()) : null; if (canBeMethodOf(referenceExpression.getReferenceName(), containerClass)) return; PsiElement nameElement = referenceExpression.getReferenceNameElement(); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/util.kt b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/util.kt index 13cef81c0ea4..b0bec198e6ef 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/util.kt +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/resolve/util.kt @@ -24,7 +24,6 @@ import org.jetbrains.plugins.groovy.codeInspection.assignment.GrMethodCallInfo import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrMethodCall import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression -import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass import org.jetbrains.plugins.groovy.lang.psi.util.GroovyPropertyUtils @@ -62,8 +61,7 @@ fun processDeclarations(aClass: PsiClass, val typeToDelegate = closure?.let { getDelegatesToInfo(it)?.typeToDelegate } if (typeToDelegate != null) { val fqNameToDelegate = TypesUtil.getQualifiedName(typeToDelegate) ?: return true - val classToDelegate = GroovyPsiManager.getInstance(place.project).findClassWithCache(fqNameToDelegate, - place.resolveScope) ?: return true + val classToDelegate = JavaPsiFacade.getInstance(place.project).findClass(fqNameToDelegate, place.resolveScope) ?: return true if (classToDelegate !== aClass) { val parent = place.parent if (parent is GrMethodCall) { @@ -73,7 +71,7 @@ fun processDeclarations(aClass: PsiClass, } } - val lValue: Boolean = place is GrReferenceExpression && PsiUtil.isLValue(place); + val lValue: Boolean = place is GrReferenceExpression && PsiUtil.isLValue(place) if (!lValue) { val isSetterCandidate = name.startsWith("set") val isGetterCandidate = name.startsWith("get")