KT-45777: Also collect added classes/class members as classpath changes

as they can impact recompilation (examples shown in the code comments).

Test: Updated ClasspathChangesComputerTest
This commit is contained in:
Hung Nguyen
2021-11-17 20:28:25 +00:00
committed by teamcityserver
parent 8c611e0b4d
commit 2b65d673bb
2 changed files with 26 additions and 25 deletions
@@ -194,34 +194,25 @@ class JavaOnlyClasspathChangesComputerTest(private val protoBased: Boolean) : Cl
// ModifiedClassChangedMembers
LookupSymbol(name = "modifiedField", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = "addedField", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = "removedField", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = "modifiedMethod", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = "addedMethod", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = "removedMethod", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.ModifiedClassChangedMembers"),
// AddedClass
LookupSymbol(name = "AddedClass", scope = "com.example"),
// RemovedClass
LookupSymbol(name = "RemovedClass", scope = "com.example")
) + if (protoBased) {
setOf(
// ModifiedClassChangedMembers
LookupSymbol(name = "addedField", scope = "com.example.ModifiedClassChangedMembers"),
LookupSymbol(name = "addedMethod", scope = "com.example.ModifiedClassChangedMembers"),
// AddedClass
LookupSymbol(name = "AddedClass", scope = "com.example"),
)
} else {
emptySet()
},
),
fqNames = setOf(
"com.example.ModifiedClassUnchangedMembers",
"com.example.ModifiedClassChangedMembers",
"com.example.AddedClass",
"com.example.RemovedClass"
) + if (protoBased) {
setOf("com.example.AddedClass")
} else {
emptySet()
}
)
).assertEquals(changes)
}