diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassDataProvider.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassDataProvider.kt index ad1702a1d7c..1bbb83f2e11 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassDataProvider.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassDataProvider.kt @@ -41,7 +41,6 @@ import org.jetbrains.kotlin.codegen.CompilationErrorHandler import org.jetbrains.kotlin.codegen.binding.CodegenBinding import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.config.CompilerConfiguration -import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.fileClasses.NoResolveFileClassesProvider import org.jetbrains.kotlin.fileClasses.getFileClassType import org.jetbrains.kotlin.name.FqName @@ -52,7 +51,6 @@ import org.jetbrains.kotlin.psi.KtScript import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils.descriptorToDeclaration import org.jetbrains.kotlin.resolve.diagnostics.Diagnostics -import org.jetbrains.kotlin.resolve.jvm.JvmClassName import org.jetbrains.kotlin.utils.sure abstract class LightClassDataProvider( @@ -181,35 +179,21 @@ class LightClassDataProviderForClassOrObject(private val classOrObject: KtClassO extraDiagnostics: Diagnostics): WithFileStubAndExtraDiagnostics { val classDescriptor = bindingContext.get(BindingContext.CLASS, classOrObject) ?: return InvalidLightClassData - val fqName = predictClassFqName(bindingContext, classDescriptor) val allInnerClasses = CodegenBinding.getAllInnerClasses(bindingContext, classDescriptor) val innerClassesMap = ContainerUtil.newHashMap() for (innerClassDescriptor in allInnerClasses) { - val declaration = descriptorToDeclaration(innerClassDescriptor) - if (declaration !is KtClassOrObject) continue - - val innerLightClassData = InnerKotlinClassLightClassData( - predictClassFqName(bindingContext, innerClassDescriptor), - declaration) - - innerClassesMap.put(declaration, innerLightClassData) + val declaration = descriptorToDeclaration(innerClassDescriptor) as? KtClassOrObject ?: continue + innerClassesMap.put(declaration, InnerKotlinClassLightClassData(declaration)) } return OutermostKotlinClassLightClassData( javaFileStub, extraDiagnostics, - fqName, classOrObject, innerClassesMap) } - private fun predictClassFqName(bindingContext: BindingContext, classDescriptor: ClassDescriptor): FqName { - val asmType = CodegenBinding.getAsmType(bindingContext, classDescriptor) - //noinspection ConstantConditions - return JvmClassName.byInternalName(asmType.className.replace('.', '/')).fqNameForClassNameWithoutDollars - } - override val files: Collection get() = listOf(file) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassStubWithData.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassStubWithData.kt index 8492829555e..e76751d65e7 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassStubWithData.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/builder/LightClassStubWithData.kt @@ -30,7 +30,6 @@ interface WithFileStubAndExtraDiagnostics: LightClassData { interface LightClassDataForKotlinClass: LightClassData { val classOrObject: KtClassOrObject - val jvmQualifiedName: FqName } object InvalidLightClassData: WithFileStubAndExtraDiagnostics, LightClassDataForKotlinClass { @@ -40,8 +39,6 @@ object InvalidLightClassData: WithFileStubAndExtraDiagnostics, LightClassDataFor get() = shouldNotBeCalled() override val classOrObject: KtClassOrObject get() = shouldNotBeCalled() - override val jvmQualifiedName: FqName - get() = shouldNotBeCalled() private fun shouldNotBeCalled(): Nothing = throw UnsupportedOperationException("Should not be called") } @@ -52,14 +49,12 @@ data class KotlinFacadeLightClassData( ): LightClassData, WithFileStubAndExtraDiagnostics data class InnerKotlinClassLightClassData( - override val jvmQualifiedName: FqName, override val classOrObject: KtClassOrObject ): LightClassDataForKotlinClass data class OutermostKotlinClassLightClassData( override val javaFileStub: PsiJavaFileStub, override val extraDiagnostics: Diagnostics, - override val jvmQualifiedName: FqName, override val classOrObject: KtClassOrObject, val allInnerClasses: Map ): LightClassDataForKotlinClass, WithFileStubAndExtraDiagnostics {