From 40773ad04ac3cfddb0e0505f7262871336d55395 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 9 Sep 2015 22:00:26 +0300 Subject: [PATCH] KotlinClsStubBuilder: fix reading header for multifile facades --- .../idea/decompiler/stubBuilder/KotlinClsStubBuilder.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinClsStubBuilder.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinClsStubBuilder.kt index 2e205bc17b9..5f6a86c7e9b 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinClsStubBuilder.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/decompiler/stubBuilder/KotlinClsStubBuilder.kt @@ -60,6 +60,11 @@ public open class KotlinClsStubBuilder : ClsStubBuilder() { } val components = createStubBuilderComponents(file, packageFqName) + if (header.isCompatibleMultifileClassKind()) { + val partHeaders = readMultifileClassPartHeaders(file, kotlinBinaryClass) + return createMultifileClassStub(partHeaders, classId.asSingleFqName(), components) + } + val annotationData = header.annotationData if (annotationData == null) { LOG.error("Corrupted kotlin header for file ${file.getName()}") @@ -82,10 +87,6 @@ public open class KotlinClsStubBuilder : ClsStubBuilder() { val context = components.createContext(packageData.getNameResolver(), packageFqName) createFileFacadeStub(packageData.getPackageProto(), classId.asSingleFqName(), context) } - header.isCompatibleMultifileClassKind() -> { - val partHeaders = readMultifileClassPartHeaders(file, kotlinBinaryClass) - createMultifileClassStub(partHeaders, classId.asSingleFqName(), components) - } else -> throw IllegalStateException("Should have processed " + file.getPath() + " with header $header") } }