Treat SEALED_SUBCLASS_FQ_NAME_LIST change as a class signature change
#KT-19580
This commit is contained in:
+4
-4
@@ -1,4 +1,4 @@
|
||||
sealed class Base {
|
||||
class A : Base()
|
||||
class B : Base()
|
||||
}
|
||||
sealed class Base
|
||||
|
||||
class A : Base()
|
||||
class B : Base()
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
sealed class Base {
|
||||
class A : Base()
|
||||
class B : Base()
|
||||
class C : Base()
|
||||
}
|
||||
sealed class Base
|
||||
|
||||
class A : Base()
|
||||
class B : Base()
|
||||
class C : Base()
|
||||
+6
-6
@@ -1,8 +1,8 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/Base$A.class
|
||||
out/production/module/Base$B.class
|
||||
out/production/module/A.class
|
||||
out/production/module/B.class
|
||||
out/production/module/Base.class
|
||||
End of files
|
||||
Compiling files:
|
||||
@@ -27,14 +27,14 @@ COMPILATION FAILED
|
||||
================ Step #2 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/Base$A.class
|
||||
out/production/module/Base$B.class
|
||||
out/production/module/Base$C.class
|
||||
out/production/module/A.class
|
||||
out/production/module/B.class
|
||||
out/production/module/Base.class
|
||||
out/production/module/C.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/Base.kt
|
||||
src/use.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
------------------------------------------
|
||||
-2
@@ -1,5 +1,3 @@
|
||||
import Base.*
|
||||
|
||||
fun use(x: Base): String =
|
||||
when (x) {
|
||||
is A -> "A"
|
||||
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
sealed class Base
|
||||
sealed class Intermediate : Base()
|
||||
class Impl1 : Intermediate()
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
sealed class Base
|
||||
sealed class Intermediate : Base()
|
||||
class Impl1 : Intermediate()
|
||||
class Impl2 : Intermediate()
|
||||
Vendored
+40
@@ -0,0 +1,40 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/Base.class
|
||||
out/production/module/Impl1.class
|
||||
out/production/module/Intermediate.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/Base.kt
|
||||
End of files
|
||||
Marked as dirty by Kotlin:
|
||||
src/use.kt
|
||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UseKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/use.kt
|
||||
End of files
|
||||
Exit code: ABORT
|
||||
------------------------------------------
|
||||
COMPILATION FAILED
|
||||
'when' expression must be exhaustive, add necessary 'is Impl2' branch or 'else' branch instead
|
||||
|
||||
================ Step #2 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/Base.class
|
||||
out/production/module/Impl1.class
|
||||
out/production/module/Impl2.class
|
||||
out/production/module/Intermediate.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/Base.kt
|
||||
src/use.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
fun use(x: Base): Int =
|
||||
when (x) {
|
||||
is Impl1 -> 1
|
||||
}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
fun use(x: Base): Int =
|
||||
when (x) {
|
||||
is Impl1 -> 1
|
||||
is Impl2 -> 2
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
sealed class Base {
|
||||
class A : Base()
|
||||
class B : Base()
|
||||
}
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
sealed class Base {
|
||||
class A : Base()
|
||||
class B : Base()
|
||||
class C : Base()
|
||||
}
|
||||
Vendored
+40
@@ -0,0 +1,40 @@
|
||||
================ Step #1 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/Base$A.class
|
||||
out/production/module/Base$B.class
|
||||
out/production/module/Base.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/Base.kt
|
||||
End of files
|
||||
Marked as dirty by Kotlin:
|
||||
src/use.kt
|
||||
Exit code: ADDITIONAL_PASS_REQUIRED
|
||||
------------------------------------------
|
||||
Cleaning output files:
|
||||
out/production/module/META-INF/module.kotlin_module
|
||||
out/production/module/UseKt.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/use.kt
|
||||
End of files
|
||||
Exit code: ABORT
|
||||
------------------------------------------
|
||||
COMPILATION FAILED
|
||||
'when' expression must be exhaustive, add necessary 'is C' branch or 'else' branch instead
|
||||
|
||||
================ Step #2 =================
|
||||
|
||||
Cleaning output files:
|
||||
out/production/module/Base$A.class
|
||||
out/production/module/Base$B.class
|
||||
out/production/module/Base$C.class
|
||||
out/production/module/Base.class
|
||||
End of files
|
||||
Compiling files:
|
||||
src/Base.kt
|
||||
src/use.kt
|
||||
End of files
|
||||
Exit code: OK
|
||||
------------------------------------------
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import Base.*
|
||||
|
||||
fun use(x: Base): String =
|
||||
when (x) {
|
||||
is A -> "A"
|
||||
is B -> "B"
|
||||
}
|
||||
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
import Base.*
|
||||
|
||||
fun use(x: Base): String =
|
||||
when (x) {
|
||||
is A -> "A"
|
||||
is B -> "B"
|
||||
is C -> "C"
|
||||
}
|
||||
Reference in New Issue
Block a user