remove descriptor field from LightClassDataForKotlinClass

This commit is contained in:
Dmitry Jemerov
2015-08-20 18:11:41 +02:00
parent c00fbb236f
commit 482406b0d9
3 changed files with 3 additions and 14 deletions
@@ -177,7 +177,7 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
if (classDescriptor == null) { if (classDescriptor == null) {
return new OutermostKotlinClassLightClassData( return new OutermostKotlinClassLightClassData(
javaFileStub, extraDiagnostics, FqName.ROOT, classOrObject, javaFileStub, extraDiagnostics, FqName.ROOT, classOrObject,
null, Collections.<JetClassOrObject, InnerKotlinClassLightClassData>emptyMap() Collections.<JetClassOrObject, InnerKotlinClassLightClassData>emptyMap()
); );
} }
@@ -192,8 +192,7 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
InnerKotlinClassLightClassData innerLightClassData = new InnerKotlinClassLightClassData( InnerKotlinClassLightClassData innerLightClassData = new InnerKotlinClassLightClassData(
predictClassFqName(bindingContext, innerClassDescriptor), predictClassFqName(bindingContext, innerClassDescriptor),
innerClass, innerClass
innerClassDescriptor
); );
innerClassesMap.put(innerClass, innerLightClassData); innerClassesMap.put(innerClass, innerLightClassData);
@@ -204,7 +203,6 @@ public class KotlinJavaFileStubProvider<T extends WithFileStubAndExtraDiagnostic
extraDiagnostics, extraDiagnostics,
fqName, fqName,
classOrObject, classOrObject,
classDescriptor,
innerClassesMap innerClassesMap
); );
} }
@@ -151,11 +151,6 @@ public open class KotlinLightClassForExplicitDeclaration(
private fun getJavaFileStub(): PsiJavaFileStub = getLightClassData().javaFileStub private fun getJavaFileStub(): PsiJavaFileStub = getLightClassData().javaFileStub
protected fun getDescriptor(): ClassDescriptor? { protected fun getDescriptor(): ClassDescriptor? {
val cachedValue = getLightClassCachedValue(classOrObject)
if (cachedValue.hasUpToDateValue()) {
return cachedValue.value.dataForClass(classOrObject)?.descriptor
}
return LightClassGenerationSupport.getInstance(project).resolveClassToDescriptor(classOrObject) return LightClassGenerationSupport.getInstance(project).resolveClassToDescriptor(classOrObject)
} }
@@ -17,7 +17,6 @@
package org.jetbrains.kotlin.asJava package org.jetbrains.kotlin.asJava
import com.intellij.psi.impl.java.stubs.PsiJavaFileStub import com.intellij.psi.impl.java.stubs.PsiJavaFileStub
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.JetClassOrObject import org.jetbrains.kotlin.psi.JetClassOrObject
import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics
@@ -31,7 +30,6 @@ interface WithFileStubAndExtraDiagnostics {
interface LightClassDataForKotlinClass: LightClassData { interface LightClassDataForKotlinClass: LightClassData {
val classOrObject: JetClassOrObject val classOrObject: JetClassOrObject
val descriptor: ClassDescriptor?
val jvmQualifiedName: FqName val jvmQualifiedName: FqName
} }
@@ -42,8 +40,7 @@ data class KotlinPackageLightClassData(
data class InnerKotlinClassLightClassData( data class InnerKotlinClassLightClassData(
override val jvmQualifiedName: FqName, override val jvmQualifiedName: FqName,
override val classOrObject: JetClassOrObject, override val classOrObject: JetClassOrObject
override val descriptor: ClassDescriptor?
): LightClassDataForKotlinClass ): LightClassDataForKotlinClass
data class OutermostKotlinClassLightClassData( data class OutermostKotlinClassLightClassData(
@@ -51,7 +48,6 @@ data class OutermostKotlinClassLightClassData(
override val extraDiagnostics: Diagnostics, override val extraDiagnostics: Diagnostics,
override val jvmQualifiedName: FqName, override val jvmQualifiedName: FqName,
override val classOrObject: JetClassOrObject, override val classOrObject: JetClassOrObject,
override val descriptor: ClassDescriptor?,
val allInnerClasses: Map<JetClassOrObject, InnerKotlinClassLightClassData> val allInnerClasses: Map<JetClassOrObject, InnerKotlinClassLightClassData>
): LightClassDataForKotlinClass, WithFileStubAndExtraDiagnostics { ): LightClassDataForKotlinClass, WithFileStubAndExtraDiagnostics {