Gradle IC: fix converting class to package facade
This commit is contained in:
@@ -192,13 +192,19 @@ open class IncrementalCacheImpl<Target>(
|
||||
// the class' proto wouldn't ever be deleted,
|
||||
// because we don't write proto for multifile facades.
|
||||
// As a workaround we can remove proto values for multifile facades.
|
||||
val additionalChangeInfo = if (className in protoMap) {
|
||||
val info = ChangeInfo.SignatureChanged(className.fqNameForClassNameWithoutDollars, areSubclassesAffected = true)
|
||||
CompilationResult(protoChanged = true, changes = sequenceOf(info))
|
||||
}
|
||||
else CompilationResult.NO_CHANGES
|
||||
protoMap.remove(className)
|
||||
classFqNameToSourceMap.remove(className.fqNameForClassNameWithoutDollars)
|
||||
internalNameToSource.remove(className.internalName)
|
||||
|
||||
// TODO NO_CHANGES? (delegates only)
|
||||
constantsMap.process(kotlinClass, isPackage = true) +
|
||||
inlineFunctionsMap.process(kotlinClass, isPackage = true)
|
||||
inlineFunctionsMap.process(kotlinClass, isPackage = true) +
|
||||
additionalChangeInfo
|
||||
}
|
||||
KotlinClassHeader.Kind.MULTIFILE_CLASS_PART -> {
|
||||
assert(sourceFiles.size == 1) { "Multifile class part from several source files: $sourceFiles" }
|
||||
|
||||
+10
-14
@@ -10,24 +10,32 @@ Compiling files:
|
||||
End of files
|
||||
Marked as dirty by Kotlin:
|
||||
src/AChild.kt
|
||||
src/getA.kt
|
||||
src/getAChild.kt
|
||||
src/useF.kt
|
||||
src/useG.kt
|
||||
src/useH.kt
|
||||
src/useJ.kt
|
||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/AChild.class
|
||||
out/production/module/GetAChildKt.class
|
||||
out/production/module/GetAKt.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UseFKt.class
|
||||
out/production/module/UseGKt.class
|
||||
out/production/module/UseHKt.class
|
||||
out/production/module/UseJKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/AChild.kt
|
||||
src/getA.kt
|
||||
src/getAChild.kt
|
||||
src/useF.kt
|
||||
src/useG.kt
|
||||
src/useH.kt
|
||||
src/useJ.kt
|
||||
End of files
|
||||
Exit code: ABORT
|
||||
------------------------------------------
|
||||
@@ -50,22 +58,10 @@ Compiling files:
|
||||
src/AChild.kt
|
||||
src/APartF.kt
|
||||
src/APartG.kt
|
||||
src/getAChild.kt
|
||||
src/useF.kt
|
||||
src/useG.kt
|
||||
End of files
|
||||
Marked as dirty by Kotlin:
|
||||
src/getAChild.kt
|
||||
src/useJ.kt
|
||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/GetAChildKt.class
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UseJKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/getAChild.kt
|
||||
src/useJ.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
------------------------------------------
|
||||
Reference in New Issue
Block a user