Remove kotlin.jvm.internal.KotlinPackage and corresponding code
Original commit: 8594cfca46
This commit is contained in:
@@ -58,7 +58,6 @@ import org.jetbrains.kotlin.jps.JpsKotlinCompilerSettings
|
|||||||
import org.jetbrains.kotlin.jps.incremental.*
|
import org.jetbrains.kotlin.jps.incremental.*
|
||||||
import org.jetbrains.kotlin.load.kotlin.ModuleMapping
|
import org.jetbrains.kotlin.load.kotlin.ModuleMapping
|
||||||
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatiblePackageFacadeKind
|
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
|
||||||
import org.jetbrains.kotlin.modules.TargetId
|
import org.jetbrains.kotlin.modules.TargetId
|
||||||
@@ -421,10 +420,7 @@ public class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR
|
|||||||
fun getOldSourceFiles(generatedClass: GeneratedJvmClass, previousMappings: Mappings): Collection<File> {
|
fun getOldSourceFiles(generatedClass: GeneratedJvmClass, previousMappings: Mappings): Collection<File> {
|
||||||
if (!generatedClass.outputFile.getName().endsWith(PackageClassUtils.PACKAGE_CLASS_NAME_SUFFIX + ".class")) return emptySet()
|
if (!generatedClass.outputFile.getName().endsWith(PackageClassUtils.PACKAGE_CLASS_NAME_SUFFIX + ".class")) return emptySet()
|
||||||
|
|
||||||
val kotlinClass = generatedClass.outputClass
|
val classInternalName = JvmClassName.byClassId(generatedClass.outputClass.getClassId()).getInternalName()
|
||||||
if (!kotlinClass.getClassHeader().isCompatiblePackageFacadeKind()) return emptySet()
|
|
||||||
|
|
||||||
val classInternalName = JvmClassName.byClassId(kotlinClass.getClassId()).getInternalName()
|
|
||||||
val oldClassSources = previousMappings.getClassSources(previousMappings.getName(classInternalName))
|
val oldClassSources = previousMappings.getClassSources(previousMappings.getName(classInternalName))
|
||||||
if (oldClassSources == null) return emptySet()
|
if (oldClassSources == null) return emptySet()
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,10 @@ import org.jetbrains.kotlin.jps.build.GeneratedJvmClass
|
|||||||
import org.jetbrains.kotlin.jps.build.KotlinBuilder
|
import org.jetbrains.kotlin.jps.build.KotlinBuilder
|
||||||
import org.jetbrains.kotlin.jps.incremental.storage.*
|
import org.jetbrains.kotlin.jps.incremental.storage.*
|
||||||
import org.jetbrains.kotlin.load.kotlin.ModuleMapping
|
import org.jetbrains.kotlin.load.kotlin.ModuleMapping
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.*
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
||||||
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleFileFacadeKind
|
||||||
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassKind
|
||||||
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassPartKind
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
|
||||||
import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto
|
import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
@@ -165,24 +168,20 @@ public class IncrementalCacheImpl(
|
|||||||
|
|
||||||
val header = kotlinClass.classHeader
|
val header = kotlinClass.classHeader
|
||||||
val changesInfo = when {
|
val changesInfo = when {
|
||||||
header.isCompatiblePackageFacadeKind() ->
|
|
||||||
protoMap.process(kotlinClass, isPackage = true)
|
|
||||||
header.isCompatibleFileFacadeKind() -> {
|
header.isCompatibleFileFacadeKind() -> {
|
||||||
assert(sourceFiles.size() == 1) { "Package part from several source files: $sourceFiles" }
|
assert(sourceFiles.size() == 1) { "Package part from several source files: $sourceFiles" }
|
||||||
packagePartMap.addPackagePart(className)
|
packagePartMap.addPackagePart(className)
|
||||||
|
|
||||||
val isPackage = true
|
protoMap.process(kotlinClass, isPackage = true) +
|
||||||
|
|
||||||
protoMap.process(kotlinClass, isPackage) +
|
|
||||||
constantsMap.process(kotlinClass) +
|
constantsMap.process(kotlinClass) +
|
||||||
inlineFunctionsMap.process(kotlinClass, isPackage)
|
inlineFunctionsMap.process(kotlinClass, isPackage = true)
|
||||||
}
|
}
|
||||||
header.isCompatibleMultifileClassKind() -> {
|
header.isCompatibleMultifileClassKind() -> {
|
||||||
val partNames = kotlinClass.classHeader.filePartClassNames?.toList()
|
val partNames = kotlinClass.classHeader.filePartClassNames?.toList()
|
||||||
?: throw AssertionError("Multifile class has no parts: ${kotlinClass.className}")
|
?: throw AssertionError("Multifile class has no parts: ${kotlinClass.className}")
|
||||||
multifileClassFacadeMap.add(className, partNames)
|
multifileClassFacadeMap.add(className, partNames)
|
||||||
|
|
||||||
// TODO NO_CHANGES? (delegates only, see package facade)
|
// TODO NO_CHANGES? (delegates only)
|
||||||
constantsMap.process(kotlinClass) +
|
constantsMap.process(kotlinClass) +
|
||||||
inlineFunctionsMap.process(kotlinClass, isPackage = true)
|
inlineFunctionsMap.process(kotlinClass, isPackage = true)
|
||||||
}
|
}
|
||||||
@@ -191,18 +190,14 @@ public class IncrementalCacheImpl(
|
|||||||
packagePartMap.addPackagePart(className)
|
packagePartMap.addPackagePart(className)
|
||||||
multifileClassPartMap.add(className.internalName, header.multifileClassName!!)
|
multifileClassPartMap.add(className.internalName, header.multifileClassName!!)
|
||||||
|
|
||||||
val isPackage = true
|
protoMap.process(kotlinClass, isPackage = true) +
|
||||||
|
|
||||||
protoMap.process(kotlinClass, isPackage) +
|
|
||||||
constantsMap.process(kotlinClass) +
|
constantsMap.process(kotlinClass) +
|
||||||
inlineFunctionsMap.process(kotlinClass, isPackage)
|
inlineFunctionsMap.process(kotlinClass, isPackage = true)
|
||||||
}
|
}
|
||||||
header.isCompatibleClassKind() && !header.isLocalClass -> {
|
header.isCompatibleClassKind() && !header.isLocalClass -> {
|
||||||
val isPackage = false
|
protoMap.process(kotlinClass, isPackage = false) +
|
||||||
|
|
||||||
protoMap.process(kotlinClass, isPackage) +
|
|
||||||
constantsMap.process(kotlinClass) +
|
constantsMap.process(kotlinClass) +
|
||||||
inlineFunctionsMap.process(kotlinClass, isPackage)
|
inlineFunctionsMap.process(kotlinClass, isPackage = false)
|
||||||
}
|
}
|
||||||
else -> CompilationResult.NO_CHANGES
|
else -> CompilationResult.NO_CHANGES
|
||||||
}
|
}
|
||||||
@@ -674,7 +669,7 @@ data class CompilationResult(
|
|||||||
public val NO_CHANGES: CompilationResult = CompilationResult()
|
public val NO_CHANGES: CompilationResult = CompilationResult()
|
||||||
}
|
}
|
||||||
|
|
||||||
public operator fun plus(other: CompilationResult): CompilationResult =
|
operator fun plus(other: CompilationResult): CompilationResult =
|
||||||
CompilationResult(protoChanged || other.protoChanged,
|
CompilationResult(protoChanged || other.protoChanged,
|
||||||
constantsChanged || other.constantsChanged,
|
constantsChanged || other.constantsChanged,
|
||||||
inlineChanged || other.inlineChanged,
|
inlineChanged || other.inlineChanged,
|
||||||
|
|||||||
+4
-4
@@ -22,7 +22,9 @@ import com.google.common.io.Files
|
|||||||
import com.google.protobuf.ExtensionRegistry
|
import com.google.protobuf.ExtensionRegistry
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import org.jetbrains.kotlin.jps.incremental.LocalFileKotlinClass
|
import org.jetbrains.kotlin.jps.incremental.LocalFileKotlinClass
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.*
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
||||||
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleFileFacadeKind
|
||||||
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassPartKind
|
||||||
import org.jetbrains.kotlin.serialization.DebugProtoBuf
|
import org.jetbrains.kotlin.serialization.DebugProtoBuf
|
||||||
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
|
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
|
||||||
import org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf
|
import org.jetbrains.kotlin.serialization.jvm.DebugJvmProtoBuf
|
||||||
@@ -140,9 +142,7 @@ fun classFileToString(classFile: File): String {
|
|||||||
out.write("\n------ string table types proto -----\n${DebugJvmProtoBuf.StringTableTypes.parseDelimitedFrom(input)}")
|
out.write("\n------ string table types proto -----\n${DebugJvmProtoBuf.StringTableTypes.parseDelimitedFrom(input)}")
|
||||||
|
|
||||||
when {
|
when {
|
||||||
classHeader!!.isCompatiblePackageFacadeKind() ->
|
classHeader!!.isCompatibleFileFacadeKind() ->
|
||||||
out.write("\n------ package proto -----\n${DebugProtoBuf.Package.parseFrom(input, getExtensionRegistry())}")
|
|
||||||
classHeader.isCompatibleFileFacadeKind() ->
|
|
||||||
out.write("\n------ file facade proto -----\n${DebugProtoBuf.Package.parseFrom(input, getExtensionRegistry())}")
|
out.write("\n------ file facade proto -----\n${DebugProtoBuf.Package.parseFrom(input, getExtensionRegistry())}")
|
||||||
classHeader.isCompatibleClassKind() ->
|
classHeader.isCompatibleClassKind() ->
|
||||||
out.write("\n------ class proto -----\n${DebugProtoBuf.Class.parseFrom(input, getExtensionRegistry())}")
|
out.write("\n------ class proto -----\n${DebugProtoBuf.Class.parseFrom(input, getExtensionRegistry())}")
|
||||||
|
|||||||
+2
-4
@@ -22,7 +22,6 @@ import org.jetbrains.kotlin.jps.incremental.storage.ProtoMapValue
|
|||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleClassKind
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleFileFacadeKind
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleFileFacadeKind
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassPartKind
|
import org.jetbrains.kotlin.load.kotlin.header.isCompatibleMultifileClassPartKind
|
||||||
import org.jetbrains.kotlin.load.kotlin.header.isCompatiblePackageFacadeKind
|
|
||||||
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
|
import org.jetbrains.kotlin.serialization.jvm.BitEncoding
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.MockLibraryUtil
|
import org.jetbrains.kotlin.test.MockLibraryUtil
|
||||||
@@ -94,16 +93,15 @@ public abstract class AbstractProtoComparisonTest : UsefulTestCase() {
|
|||||||
val newProtoBytes = BitEncoding.decodeBytes(newClassHeader.annotationData!!)
|
val newProtoBytes = BitEncoding.decodeBytes(newClassHeader.annotationData!!)
|
||||||
|
|
||||||
val oldProto = ProtoMapValue(
|
val oldProto = ProtoMapValue(
|
||||||
oldClassHeader.isCompatiblePackageFacadeKind() || oldClassHeader.isCompatibleFileFacadeKind() || oldClassHeader.isCompatibleMultifileClassPartKind(),
|
oldClassHeader.isCompatibleFileFacadeKind() || oldClassHeader.isCompatibleMultifileClassPartKind(),
|
||||||
oldProtoBytes, oldClassHeader.strings!!
|
oldProtoBytes, oldClassHeader.strings!!
|
||||||
)
|
)
|
||||||
val newProto = ProtoMapValue(
|
val newProto = ProtoMapValue(
|
||||||
newClassHeader.isCompatiblePackageFacadeKind() || newClassHeader.isCompatibleFileFacadeKind() || newClassHeader.isCompatibleMultifileClassPartKind(),
|
newClassHeader.isCompatibleFileFacadeKind() || newClassHeader.isCompatibleMultifileClassPartKind(),
|
||||||
newProtoBytes, newClassHeader.strings!!
|
newProtoBytes, newClassHeader.strings!!
|
||||||
)
|
)
|
||||||
|
|
||||||
val diff = when {
|
val diff = when {
|
||||||
newClassHeader.isCompatiblePackageFacadeKind(),
|
|
||||||
newClassHeader.isCompatibleClassKind(),
|
newClassHeader.isCompatibleClassKind(),
|
||||||
newClassHeader.isCompatibleFileFacadeKind(),
|
newClassHeader.isCompatibleFileFacadeKind(),
|
||||||
newClassHeader.isCompatibleMultifileClassPartKind() ->
|
newClassHeader.isCompatibleMultifileClassPartKind() ->
|
||||||
|
|||||||
Reference in New Issue
Block a user