Minor: do not pass psiManager redundantly
This commit is contained in:
+1
-1
@@ -139,7 +139,7 @@ public class CliLightClassGenerationSupport(project: Project) : LightClassGenera
|
||||
}
|
||||
|
||||
override fun getPsiClass(classOrObject: KtClassOrObject): PsiClass? {
|
||||
return KtLightClassForExplicitDeclaration.create(psiManager, classOrObject)
|
||||
return KtLightClassForExplicitDeclaration.create(classOrObject)
|
||||
}
|
||||
|
||||
override fun resolveClassToDescriptor(classOrObject: KtClassOrObject): ClassDescriptor? {
|
||||
|
||||
+3
-6
@@ -20,7 +20,6 @@ import com.intellij.lang.Language;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import com.intellij.psi.impl.light.AbstractLightClass;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -41,10 +40,8 @@ public class FakeLightClassForFileOfPackage extends AbstractLightClass implement
|
||||
private final KtLightClassForFacade delegate;
|
||||
private final KtFile file;
|
||||
|
||||
public FakeLightClassForFileOfPackage(
|
||||
@NotNull PsiManager manager, @NotNull KtLightClassForFacade delegate, @NotNull KtFile file
|
||||
) {
|
||||
super(manager);
|
||||
public FakeLightClassForFileOfPackage(@NotNull KtLightClassForFacade delegate, @NotNull KtFile file) {
|
||||
super(delegate.getManager());
|
||||
this.delegate = delegate;
|
||||
this.file = file;
|
||||
}
|
||||
@@ -82,7 +79,7 @@ public class FakeLightClassForFileOfPackage extends AbstractLightClass implement
|
||||
@NotNull
|
||||
@Override
|
||||
public PsiElement copy() {
|
||||
return new FakeLightClassForFileOfPackage(getManager(), delegate, file);
|
||||
return new FakeLightClassForFileOfPackage(delegate, file);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-2
@@ -37,8 +37,8 @@ class KtLightClassForAnonymousDeclaration extends KtLightClassForExplicitDeclara
|
||||
|
||||
private SoftReference<PsiClassType> cachedBaseType = null;
|
||||
|
||||
KtLightClassForAnonymousDeclaration(@NotNull PsiManager manager, @NotNull FqName name, @NotNull KtClassOrObject classOrObject) {
|
||||
super(manager, name, classOrObject);
|
||||
KtLightClassForAnonymousDeclaration(@NotNull FqName name, @NotNull KtClassOrObject classOrObject) {
|
||||
super(name, classOrObject);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -16,17 +16,15 @@
|
||||
|
||||
package org.jetbrains.kotlin.asJava
|
||||
|
||||
import com.intellij.psi.PsiManager
|
||||
import com.intellij.psi.PsiEnumConstant
|
||||
import com.intellij.psi.PsiEnumConstantInitializer
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtEnumEntry
|
||||
import com.intellij.psi.PsiEnumConstantInitializer
|
||||
import com.intellij.psi.PsiEnumConstant
|
||||
|
||||
internal class KtLightClassForEnumEntry(
|
||||
psiManager: PsiManager,
|
||||
fqName: FqName,
|
||||
enumEntry: KtEnumEntry,
|
||||
private val enumConstant: PsiEnumConstant
|
||||
): KtLightClassForAnonymousDeclaration(psiManager, fqName, enumEntry), PsiEnumConstantInitializer {
|
||||
): KtLightClassForAnonymousDeclaration(fqName, enumEntry), PsiEnumConstantInitializer {
|
||||
override fun getEnumConstant(): PsiEnumConstant = enumConstant
|
||||
}
|
||||
|
||||
+6
-8
@@ -48,10 +48,9 @@ import org.jetbrains.kotlin.resolve.jvm.JvmClassName
|
||||
import javax.swing.Icon
|
||||
|
||||
public open class KtLightClassForExplicitDeclaration(
|
||||
manager: PsiManager,
|
||||
protected val classFqName: FqName, // FqName of (possibly inner) class
|
||||
protected val classOrObject: KtClassOrObject)
|
||||
: KtWrappingLightClass(manager), KtJavaMirrorMarker, StubBasedPsiElement<KotlinClassOrObjectStub<out KtClassOrObject>> {
|
||||
: KtWrappingLightClass(classOrObject.manager), KtJavaMirrorMarker, StubBasedPsiElement<KotlinClassOrObjectStub<out KtClassOrObject>> {
|
||||
private var delegate: PsiClass? = null
|
||||
|
||||
private fun getLocalClassParent(): PsiElement? {
|
||||
@@ -138,7 +137,7 @@ public open class KtLightClassForExplicitDeclaration(
|
||||
override fun getFqName(): FqName = classFqName
|
||||
|
||||
override fun copy(): PsiElement {
|
||||
return KtLightClassForExplicitDeclaration(manager, classFqName, classOrObject.copy() as KtClassOrObject)
|
||||
return KtLightClassForExplicitDeclaration(classFqName, classOrObject.copy() as KtClassOrObject)
|
||||
}
|
||||
|
||||
override fun getDelegate(): PsiClass {
|
||||
@@ -365,7 +364,7 @@ public open class KtLightClassForExplicitDeclaration(
|
||||
return getDelegate().innerClasses
|
||||
.map {
|
||||
val declaration = ClsWrapperStubPsiFactory.getOriginalDeclaration(it) as KtClassOrObject?
|
||||
if (declaration != null) create(myManager, declaration, it) else null
|
||||
if (declaration != null) create(declaration, it) else null
|
||||
}
|
||||
.filterNotNull()
|
||||
}
|
||||
@@ -387,7 +386,6 @@ public open class KtLightClassForExplicitDeclaration(
|
||||
|
||||
@JvmOverloads
|
||||
public fun create(
|
||||
manager: PsiManager,
|
||||
classOrObject: KtClassOrObject,
|
||||
psiClass: PsiClass? = null
|
||||
): KtLightClassForExplicitDeclaration? {
|
||||
@@ -398,17 +396,17 @@ public open class KtLightClassForExplicitDeclaration(
|
||||
val fqName = predictFqName(classOrObject) ?: return null
|
||||
|
||||
if (classOrObject is KtObjectDeclaration && classOrObject.isObjectLiteral()) {
|
||||
return KtLightClassForAnonymousDeclaration(manager, fqName, classOrObject)
|
||||
return KtLightClassForAnonymousDeclaration(fqName, classOrObject)
|
||||
}
|
||||
|
||||
if (classOrObject.hasInterfaceDefaultImpls) {
|
||||
val implsFqName = fqName.defaultImplsChild()
|
||||
if (implsFqName.asString() == psiClass?.qualifiedName) {
|
||||
return KtLightClassForInterfaceDefaultImpls(manager, implsFqName, classOrObject)
|
||||
return KtLightClassForInterfaceDefaultImpls(implsFqName, classOrObject)
|
||||
}
|
||||
}
|
||||
|
||||
return KtLightClassForExplicitDeclaration(manager, fqName, classOrObject)
|
||||
return KtLightClassForExplicitDeclaration(fqName, classOrObject)
|
||||
}
|
||||
|
||||
private fun predictFqName(classOrObject: KtClassOrObject): FqName? {
|
||||
|
||||
+2
-3
@@ -22,13 +22,12 @@ import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
|
||||
public open class KtLightClassForInterfaceDefaultImpls(
|
||||
manager: PsiManager,
|
||||
classFqName: FqName,
|
||||
classOrObject: KtClassOrObject)
|
||||
: KtLightClassForExplicitDeclaration(manager, classFqName, classOrObject){
|
||||
: KtLightClassForExplicitDeclaration(classFqName, classOrObject){
|
||||
|
||||
override fun copy(): PsiElement {
|
||||
return KtLightClassForInterfaceDefaultImpls(manager, classFqName, classOrObject.copy() as KtClassOrObject)
|
||||
return KtLightClassForInterfaceDefaultImpls(classFqName, classOrObject.copy() as KtClassOrObject)
|
||||
}
|
||||
|
||||
override fun getTypeParameterList(): PsiTypeParameterList? = null
|
||||
|
||||
@@ -125,7 +125,7 @@ sealed class KtLightFieldImpl(
|
||||
val kotlinEnumEntry = origin as? KtEnumEntry
|
||||
val initializingClass = if (kotlinEnumEntry != null && kotlinEnumEntry.declarations.isNotEmpty()) {
|
||||
val enumConstantFqName = FqName(containingClass.getFqName().asString() + "." + kotlinEnumEntry.name)
|
||||
KtLightClassForEnumEntry(delegate.manager, enumConstantFqName, kotlinEnumEntry, delegate)
|
||||
KtLightClassForEnumEntry(enumConstantFqName, kotlinEnumEntry, delegate)
|
||||
}
|
||||
else null
|
||||
return KtLightEnumConstant(kotlinEnumEntry, delegate, containingClass, initializingClass)
|
||||
|
||||
+2
-4
@@ -34,7 +34,6 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName
|
||||
import org.jetbrains.kotlin.idea.decompiler.navigation.SourceNavigationHelper
|
||||
import org.jetbrains.kotlin.idea.project.ResolveElementCache
|
||||
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.stubindex.*
|
||||
import org.jetbrains.kotlin.idea.stubindex.KotlinSourceFilterScope.sourceAndClassFiles
|
||||
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
|
||||
@@ -43,7 +42,6 @@ import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
|
||||
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
|
||||
import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException
|
||||
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
|
||||
@@ -147,7 +145,7 @@ public class IDELightClassGenerationSupport(private val project: Project) : Ligh
|
||||
}
|
||||
return SourceNavigationHelper.getOriginalClass(classOrObject)
|
||||
}
|
||||
return KtLightClassForExplicitDeclaration.create(psiManager, classOrObject)
|
||||
return KtLightClassForExplicitDeclaration.create(classOrObject)
|
||||
}
|
||||
|
||||
private fun withFakeLightClasses(
|
||||
@@ -160,7 +158,7 @@ public class IDELightClassGenerationSupport(private val project: Project) : Ligh
|
||||
lightClasses.add(lightClassForFacade)
|
||||
if (facadeFiles.size() > 1) {
|
||||
lightClasses.addAll(facadeFiles.map {
|
||||
FakeLightClassForFileOfPackage(psiManager, lightClassForFacade, it)
|
||||
FakeLightClassForFileOfPackage(lightClassForFacade, it)
|
||||
})
|
||||
}
|
||||
return lightClasses
|
||||
|
||||
Reference in New Issue
Block a user