Use package facade name to search in dependent modules
Original commit: b36c841b6e
This commit is contained in:
@@ -191,7 +191,15 @@ public class IncrementalCacheImpl(
|
|||||||
result.addAll(targetFiles)
|
result.addAll(targetFiles)
|
||||||
}
|
}
|
||||||
|
|
||||||
val classFile = File(outPath, "${className.internalName}.class")
|
var internalName = className.internalName
|
||||||
|
|
||||||
|
if (packagePartMap.isPackagePart(className)) {
|
||||||
|
val packageInternalName = PackageClassUtils.getPackageClassInternalName(className.packageFqName)
|
||||||
|
val packageJvmName = JvmClassName.byInternalName(packageInternalName)
|
||||||
|
internalName = packageJvmName.internalName
|
||||||
|
}
|
||||||
|
|
||||||
|
val classFile = File(outPath, "$internalName.class")
|
||||||
val classFileName = classFile.normalizedPath
|
val classFileName = classFile.normalizedPath
|
||||||
|
|
||||||
for (dependent in dependents) {
|
for (dependent in dependents) {
|
||||||
@@ -234,6 +242,8 @@ public class IncrementalCacheImpl(
|
|||||||
classToSourcesMap.add(className, it)
|
classToSourcesMap.add(className, it)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inlineFunctionsMap.process(className, fileBytes)
|
||||||
|
|
||||||
val decision = when {
|
val decision = when {
|
||||||
header.isCompatiblePackageFacadeKind() ->
|
header.isCompatiblePackageFacadeKind() ->
|
||||||
getRecompilationDecision(
|
getRecompilationDecision(
|
||||||
@@ -243,13 +253,12 @@ public class IncrementalCacheImpl(
|
|||||||
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)
|
||||||
inlineFunctionsMap.process(className, fileBytes)
|
|
||||||
getRecompilationDecision(
|
getRecompilationDecision(
|
||||||
protoChanged = protoMap.put(className, BitEncoding.decodeBytes(header.annotationData!!), isPackage = true),
|
protoChanged = protoMap.put(className, BitEncoding.decodeBytes(header.annotationData!!), isPackage = true),
|
||||||
constantsChanged = constantsMap.process(className, fileBytes)
|
constantsChanged = constantsMap.process(className, fileBytes)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
header.isCompatibleClassKind() -> {
|
header.isCompatibleClassKind() ->
|
||||||
when (header.classKind!!) {
|
when (header.classKind!!) {
|
||||||
JvmAnnotationNames.KotlinClass.Kind.CLASS -> getRecompilationDecision(
|
JvmAnnotationNames.KotlinClass.Kind.CLASS -> getRecompilationDecision(
|
||||||
protoChanged = protoMap.put(className, BitEncoding.decodeBytes(header.annotationData!!), isPackage = false),
|
protoChanged = protoMap.put(className, BitEncoding.decodeBytes(header.annotationData!!), isPackage = false),
|
||||||
@@ -258,10 +267,7 @@ public class IncrementalCacheImpl(
|
|||||||
|
|
||||||
JvmAnnotationNames.KotlinClass.Kind.LOCAL_CLASS, JvmAnnotationNames.KotlinClass.Kind.ANONYMOUS_OBJECT -> DO_NOTHING
|
JvmAnnotationNames.KotlinClass.Kind.LOCAL_CLASS, JvmAnnotationNames.KotlinClass.Kind.ANONYMOUS_OBJECT -> DO_NOTHING
|
||||||
}
|
}
|
||||||
}
|
|
||||||
header.syntheticClassKind == JvmAnnotationNames.KotlinSyntheticClass.Kind.PACKAGE_PART -> {
|
header.syntheticClassKind == JvmAnnotationNames.KotlinSyntheticClass.Kind.PACKAGE_PART -> {
|
||||||
val facadeClassName = PackageClassUtils.getPackageClassInternalName(kotlinClass.classId.packageFqName)
|
|
||||||
inlineFunctionsMap.process(JvmClassName.byInternalName(facadeClassName), fileBytes)
|
|
||||||
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user