Treat SEALED_SUBCLASS_FQ_NAME_LIST change as a class signature change

#KT-19580
This commit is contained in:
Alexey Tsvetkov
2017-08-09 22:15:38 +03:00
parent 856276328e
commit 6354d9d54f
39 changed files with 440 additions and 18 deletions
@@ -236,7 +236,15 @@ private class DifferenceCalculatorForClass(
isClassAffected = true
}
ProtoBufClassKind.SEALED_SUBCLASS_FQ_NAME_LIST -> {
// TODO
isClassAffected = true
// Subclasses are considered to be affected to fix the case where
// an implementation is added to an nth-level (n > 1) sealed class.
// In case of the following hierarchy:
// Base <- Intermediate <- Impl
// the change of the SEALED_SUBCLASS_FQ_NAME_LIST will be detected in the Intermediate,
// but there can be usages, that should be rebuilt, without direct references to the Intermediate:
// when (x as Base) { is Impl -> ... }
areSubclassesAffected = true
}
ProtoBufClassKind.TYPE_TABLE -> {
// TODO