Fix detection of scripts in cls stub builder
This commit is contained in:
+1
-1
@@ -51,7 +51,7 @@ class KotlinBuiltInStubBuilder : ClsStubBuilder() {
|
||||
)
|
||||
val context = components.createContext(nameResolver, packageFqName, TypeTable(packageProto.typeTable))
|
||||
|
||||
val fileStub = createFileStub(packageFqName)
|
||||
val fileStub = createFileStub(packageFqName, isScript = false)
|
||||
createDeclarationsStubs(
|
||||
fileStub, context,
|
||||
ProtoContainer.Package(packageFqName, context.nameResolver, context.typeTable, source = null),
|
||||
|
||||
+1
-1
@@ -84,7 +84,7 @@ open class KotlinClsStubBuilder : ClsStubBuilder() {
|
||||
if (classId.isLocal) return null
|
||||
val (nameResolver, classProto) = JvmProtoBufUtil.readClassDataFrom(annotationData, strings)
|
||||
val context = components.createContext(nameResolver, packageFqName, TypeTable(classProto.typeTable))
|
||||
createTopLevelClassStub(classId, classProto, KotlinJvmBinarySourceElement(kotlinClass), context)
|
||||
createTopLevelClassStub(classId, classProto, KotlinJvmBinarySourceElement(kotlinClass), context, header.isScript)
|
||||
}
|
||||
KotlinClassHeader.Kind.FILE_FACADE -> {
|
||||
val (nameResolver, packageProto) = JvmProtoBufUtil.readPackageDataFrom(annotationData, strings)
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ class KotlinJavaScriptStubBuilder : ClsStubBuilder() {
|
||||
val classProto = ProtoBuf.Class.parseFrom(content, JsSerializerProtocol.extensionRegistry)
|
||||
val context = components.createContext(nameResolver, packageFqName, TypeTable(classProto.typeTable))
|
||||
val classId = JsMetaFileUtils.getClassId(file)
|
||||
return createTopLevelClassStub(classId, classProto, source = null, context = context)
|
||||
return createTopLevelClassStub(classId, classProto, source = null, context = context, isScript = false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+7
-6
@@ -46,9 +46,10 @@ fun createTopLevelClassStub(
|
||||
classId: ClassId,
|
||||
classProto: ProtoBuf.Class,
|
||||
source: SourceElement?,
|
||||
context: ClsStubBuilderContext
|
||||
context: ClsStubBuilderContext,
|
||||
isScript: Boolean
|
||||
): KotlinFileStubImpl {
|
||||
val fileStub = createFileStub(classId.packageFqName)
|
||||
val fileStub = createFileStub(classId.packageFqName, isScript)
|
||||
createClassStub(fileStub, classProto, context.nameResolver, classId, source, context)
|
||||
return fileStub
|
||||
}
|
||||
@@ -58,7 +59,7 @@ fun createPackageFacadeStub(
|
||||
packageFqName: FqName,
|
||||
c: ClsStubBuilderContext
|
||||
): KotlinFileStubImpl {
|
||||
val fileStub = KotlinFileStubForIde.forFile(packageFqName, packageFqName.isRoot)
|
||||
val fileStub = KotlinFileStubForIde.forFile(packageFqName, isScript = false)
|
||||
setupFileStub(fileStub, packageFqName)
|
||||
createDeclarationsStubs(
|
||||
fileStub, c, ProtoContainer.Package(packageFqName, c.nameResolver, c.typeTable, source = null), packageProto)
|
||||
@@ -101,10 +102,10 @@ fun createMultifileClassStub(
|
||||
return fileStub
|
||||
}
|
||||
|
||||
fun createIncompatibleAbiVersionFileStub() = createFileStub(FqName.ROOT)
|
||||
fun createIncompatibleAbiVersionFileStub() = createFileStub(FqName.ROOT, isScript = false)
|
||||
|
||||
fun createFileStub(packageFqName: FqName): KotlinFileStubImpl {
|
||||
val fileStub = KotlinFileStubForIde.forFile(packageFqName, packageFqName.isRoot)
|
||||
fun createFileStub(packageFqName: FqName, isScript: Boolean): KotlinFileStubImpl {
|
||||
val fileStub = KotlinFileStubForIde.forFile(packageFqName, isScript)
|
||||
setupFileStub(fileStub, packageFqName)
|
||||
return fileStub
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user