From a900f2b66d7ee2e0fe4df11a1d20a386732a0a3a Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Wed, 15 Dec 2021 19:38:47 +0000 Subject: [PATCH] KT-45777: Reorganize unit test data for classpath snapshot feature to make it easier to add more tests in the next commits. - Add unit tests for constants and inline functions Also add tests for different kinds of Kotlin classes: CLASS, FILE_FACADE, MULTIFILE_CLASS. -Add unit test for nested classes Also remove the existing integration test for nested classes to keep the integration tests focused on the key scenarios while unit tests will cover the corner cases. Ignore inline functions that are private --- .idea/dictionaries/hungnv.xml | 1 + .../kotlin/incremental/IncrementalJvmCache.kt | 10 +- .../incremental/storage/externalizers.kt | 3 + .../ClasspathSnapshotShrinker.kt | 2 +- .../ClasspathChangesComputerTest.kt | 292 ++-- .../ClasspathSnapshotSerializerTest.kt | 40 +- .../ClasspathSnapshotTestCommon.kt | 136 +- .../classpathDiff/ClasspathSnapshotterTest.kt | 178 +-- .../0/com/example/SomeClass.class | Bin 0 -> 1239 bytes .../0/com/example/SomeClass.class | Bin 0 -> 1198 bytes .../0/com/example/SomeClass.java | 22 + .../0/com/example/SomeClass.java | 22 + .../0/com/example/SomeClass.kt | 16 + .../0/com/example/SomeClass.kt | 16 + .../example/SomeClass$CompanionObject.class | Bin 0 -> 965 bytes .../0/com/example/SomeClass.class | Bin 0 -> 1691 bytes .../example/SomeClass$CompanionObject.class | Bin 0 -> 955 bytes .../0/com/example/SomeClass.class | Bin 0 -> 1655 bytes .../0/com/example/SomeClass.kt | 18 + .../0/com/example/SomeClass.kt | 18 + .../0/com/example/FileFacadeKt.class | Bin 0 -> 579 bytes .../0/com/example/MultifileClass.class | Bin 0 -> 676 bytes .../MultifileClass__MultifileClass1Kt.class | Bin 0 -> 659 bytes .../MultifileClass__MultifileClass2Kt.class | Bin 0 -> 659 bytes .../example/NormalClass$CompanionObject.class | Bin 0 -> 1088 bytes .../com/example/NormalClass$NestedClass.class | Bin 0 -> 843 bytes .../0/com/example/NormalClass.class | Bin 0 -> 1296 bytes .../example/NormalClass$CompanionObject.class | Bin 0 -> 769 bytes .../com/example/NormalClass$NestedClass.class | Bin 0 -> 564 bytes .../0/com/example/NormalClass.class | Bin 0 -> 889 bytes .../0/com/example/FileFacade.kt | 4 + .../0/com/example/MultifileClass1.kt | 7 + .../0/com/example/MultifileClass2.kt | 7 + .../0/com/example/NormalClass.kt | 16 + .../0/com/example/FileFacade.kt | 1 + .../0/com/example/MultifileClass1.kt | 4 + .../0/com/example/MultifileClass2.kt | 4 + .../0/com/example/NormalClass.kt | 10 + .../0/com/example/ChangedSuperClass.java | 0 .../example/SubClassOfChangedSuperClass.java | 4 + .../SubSubClassOfChangedSuperClass.java | 4 + .../0/com/example/UnimpactedClass.java | 0 .../0/com/example/ChangedSuperClass.java | 3 +- .../example/SubClassOfChangedSuperClass.java | 4 + .../SubSubClassOfChangedSuperClass.java | 4 + .../0/com/example/UnimpactedClass.java | 0 ...otlinSubClassOfChangedJavaSuperClass.class | Bin 0 -> 595 bytes ...linSubClassOfChangedKotlinSuperClass.class | Bin 0 -> 605 bytes .../KotlinSubClassOfJavaSuperClass.class | Bin 574 -> 0 bytes .../KotlinSubClassOfKotlinSuperClass.class | Bin 584 -> 0 bytes ...otlinSubClassOfChangedJavaSuperClass.class | Bin 0 -> 595 bytes ...linSubClassOfChangedKotlinSuperClass.class | Bin 0 -> 605 bytes .../KotlinSubClassOfJavaSuperClass.class | Bin 574 -> 0 bytes .../KotlinSubClassOfKotlinSuperClass.class | Bin 584 -> 0 bytes .../JavaSubClassOfChangedJavaSuperClass.java | 4 + ...JavaSubClassOfChangedKotlinSuperClass.java | 4 + .../example/JavaSubClassOfJavaSuperClass.java | 4 - .../JavaSubClassOfKotlinSuperClass.java | 4 - .../KotlinSubClassOfChangedJavaSuperClass.kt | 3 + ...KotlinSubClassOfChangedKotlinSuperClass.kt | 3 + .../example/KotlinSubClassOfJavaSuperClass.kt | 3 - .../KotlinSubClassOfKotlinSuperClass.kt | 3 - .../JavaSubClassOfChangedJavaSuperClass.java | 4 + ...JavaSubClassOfChangedKotlinSuperClass.java | 4 + .../example/JavaSubClassOfJavaSuperClass.java | 4 - .../JavaSubClassOfKotlinSuperClass.java | 4 - .../KotlinSubClassOfChangedJavaSuperClass.kt | 3 + ...KotlinSubClassOfChangedKotlinSuperClass.kt | 3 + .../example/KotlinSubClassOfJavaSuperClass.kt | 3 - .../KotlinSubClassOfKotlinSuperClass.kt | 3 - .../0/com/example/ChangedSuperClass.class | Bin .../example/SubClassOfChangedSuperClass.class | Bin 0 -> 559 bytes .../SubSubClassOfChangedSuperClass.class | Bin 0 -> 586 bytes .../0/com/example/UnimpactedClass.class | Bin .../0/com/example/ChangedSuperClass.class | Bin 753 -> 747 bytes .../example/SubClassOfChangedSuperClass.class | Bin 0 -> 559 bytes .../SubSubClassOfChangedSuperClass.class | Bin 0 -> 586 bytes .../0/com/example/UnimpactedClass.class | Bin .../0/com/example/ChangedSuperClass.kt | 0 .../example/SubClassOfChangedSuperClass.kt | 3 + .../example/SubSubClassOfChangedSuperClass.kt | 3 + .../0/com/example/UnimpactedClass.kt | 0 .../0/com/example/ChangedSuperClass.kt | 2 +- .../example/SubClassOfChangedSuperClass.kt | 3 + .../example/SubSubClassOfChangedSuperClass.kt | 3 + .../0/com/example/UnimpactedClass.kt | 0 .../0/com/example/SubClass.class | Bin 502 -> 0 bytes .../0/com/example/SubSubClass.class | Bin 491 -> 0 bytes .../0/com/example/SubClass.class | Bin 502 -> 0 bytes .../0/com/example/SubSubClass.class | Bin 491 -> 0 bytes .../0/com/example/SubClass.java | 4 - .../0/com/example/SubSubClass.java | 4 - .../0/com/example/SubClass.java | 4 - .../0/com/example/SubSubClass.java | 4 - .../0/com/example/SubClass.kt | 3 - .../0/com/example/SubSubClass.kt | 3 - .../0/com/example/SubClass.kt | 3 - .../0/com/example/SubSubClass.kt | 3 - .../0/com/example/AddedClass.class | Bin .../example/ModifiedClassChangedMembers.class | Bin .../ModifiedClassUnchangedMembers.class | Bin .../0/com/example/UnchangedClass.class | Bin .../example/ModifiedClassChangedMembers.class | Bin .../ModifiedClassUnchangedMembers.class | Bin .../0/com/example/RemovedClass.class | Bin .../0/com/example/UnchangedClass.class | Bin .../0/com/example/AddedClass.java | 0 .../example/ModifiedClassChangedMembers.java | 0 .../ModifiedClassUnchangedMembers.java | 0 .../0/com/example/UnchangedClass.java | 0 .../example/ModifiedClassChangedMembers.java | 0 .../ModifiedClassUnchangedMembers.java | 0 .../0/com/example/RemovedClass.java | 0 .../0/com/example/UnchangedClass.java | 0 .../0/com/example/AddedClass.kt | 0 .../example/ModifiedClassChangedMembers.kt | 0 .../example/ModifiedClassUnchangedMembers.kt | 0 .../0/com/example/UnchangedClass.kt | 0 .../example/ModifiedClassChangedMembers.kt | 0 .../example/ModifiedClassUnchangedMembers.kt | 0 .../0/com/example/RemovedClass.kt | 0 .../0/com/example/UnchangedClass.kt | 0 .../0/com/example/TopLevelMembers2Kt.class | Bin 0 -> 519 bytes .../0/com/example/TopLevelMembersKt.class} | Bin 1323 -> 1313 bytes .../0/com/example/TopLevelMembers2Kt.class | Bin 0 -> 396 bytes .../0/com/example/TopLevelMembersKt.class} | Bin 1213 -> 1203 bytes .../0/com/example/topLevelMembers.kt} | 0 .../0/com/example/topLevelMembers2.kt} | 0 .../0/com/example/topLevelMembers.kt} | 0 .../0/com/example/topLevelMembers2.kt} | 0 .../com/example/TopLevelDeclarations2Kt.class | Bin 529 -> 0 bytes .../com/example/TopLevelDeclarations2Kt.class | Bin 406 -> 0 bytes .../com/example/SimpleKotlinClass.class | Bin 1122 -> 0 bytes .../com/example/SimpleKotlinClass.class | Bin 1143 -> 0 bytes .../com/example/SimpleKotlinClass.class | Bin 1103 -> 0 bytes ...JavaClassWithNestedClasses$InnerClass.json | 62 - .../SimpleJavaClass-protoBased=true.json | 1183 ----------------- .../example/JavaClassWithNestedClasses.java | 55 - .../src/java/com/example/SimpleJavaClass.java | 16 - .../kotlin/com/example/SimpleKotlinClass.kt | 16 - .../abi-change/com/example/SimpleClass.class | Bin 0 -> 861 bytes .../com/example/SimpleClass.class | Bin 0 -> 901 bytes .../abi-change/com/example/SimpleClass.class | Bin 0 -> 861 bytes .../kotlin/com/example/SimpleClass.class | Bin 0 -> 861 bytes .../java/com/example/SimpleClass.json} | 16 +- .../kotlin/com/example/SimpleClass.json} | 7 +- .../abi-change/com/example/SimpleClass.java | 16 + .../com/example/SimpleClass.java | 16 + .../abi-change/com/example/SimpleClass.kt | 12 + .../non-abi-change/com/example/SimpleClass.kt | 12 + .../src/java/com/example/SimpleClass.java | 16 + .../src/kotlin/com/example/SimpleClass.kt | 12 + .../kotlin/gradle/IncrementalJavaChangeIT.kt | 12 - 153 files changed, 605 insertions(+), 1790 deletions(-) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/classes/kotlin/current-classpath/0/com/example/SomeClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/classes/kotlin/previous-classpath/0/com/example/SomeClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/src/java/current-classpath/0/com/example/SomeClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/src/java/previous-classpath/0/com/example/SomeClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/src/kotlin/current-classpath/0/com/example/SomeClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/src/kotlin/previous-classpath/0/com/example/SomeClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/current-classpath/0/com/example/SomeClass$CompanionObject.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/current-classpath/0/com/example/SomeClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/previous-classpath/0/com/example/SomeClass$CompanionObject.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/previous-classpath/0/com/example/SomeClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/current-classpath/0/com/example/SomeClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/previous-classpath/0/com/example/SomeClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/FileFacadeKt.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass__MultifileClass1Kt.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass__MultifileClass2Kt.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass$CompanionObject.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass$NestedClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass$CompanionObject.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass$NestedClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/current-classpath/0/com/example/FileFacade.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/current-classpath/0/com/example/MultifileClass1.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/current-classpath/0/com/example/MultifileClass2.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/current-classpath/0/com/example/NormalClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/previous-classpath/0/com/example/FileFacade.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/previous-classpath/0/com/example/MultifileClass1.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/previous-classpath/0/com/example/MultifileClass2.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/src/previous-classpath/0/com/example/NormalClass.kt rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/java => testImpactAnalysis_JavaOnly/src}/current-classpath/0/com/example/ChangedSuperClass.java (100%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_JavaOnly/src/current-classpath/0/com/example/SubClassOfChangedSuperClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_JavaOnly/src/current-classpath/0/com/example/SubSubClassOfChangedSuperClass.java rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/java => testImpactAnalysis_JavaOnly/src}/current-classpath/0/com/example/UnimpactedClass.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/java => testImpactAnalysis_JavaOnly/src}/previous-classpath/0/com/example/ChangedSuperClass.java (65%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_JavaOnly/src/previous-classpath/0/com/example/SubClassOfChangedSuperClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_JavaOnly/src/previous-classpath/0/com/example/SubSubClassOfChangedSuperClass.java rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/java => testImpactAnalysis_JavaOnly/src}/previous-classpath/0/com/example/UnimpactedClass.java (100%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/classes/kotlin => testImpactAnalysis_KotlinOnly/classes}/current-classpath/0/com/example/ChangedSuperClass.class (100%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/current-classpath/0/com/example/SubClassOfChangedSuperClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/current-classpath/0/com/example/SubSubClassOfChangedSuperClass.class rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/classes/kotlin => testImpactAnalysis_KotlinOnly/classes}/current-classpath/0/com/example/UnimpactedClass.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/classes/kotlin => testImpactAnalysis_KotlinOnly/classes}/previous-classpath/0/com/example/ChangedSuperClass.class (66%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/previous-classpath/0/com/example/SubClassOfChangedSuperClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/previous-classpath/0/com/example/SubSubClassOfChangedSuperClass.class rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/classes/kotlin => testImpactAnalysis_KotlinOnly/classes}/previous-classpath/0/com/example/UnimpactedClass.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/kotlin => testImpactAnalysis_KotlinOnly/src}/current-classpath/0/com/example/ChangedSuperClass.kt (100%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/src/current-classpath/0/com/example/SubClassOfChangedSuperClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/src/current-classpath/0/com/example/SubSubClassOfChangedSuperClass.kt rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/kotlin => testImpactAnalysis_KotlinOnly/src}/current-classpath/0/com/example/UnimpactedClass.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/kotlin => testImpactAnalysis_KotlinOnly/src}/previous-classpath/0/com/example/ChangedSuperClass.kt (73%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/src/previous-classpath/0/com/example/SubClassOfChangedSuperClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/src/previous-classpath/0/com/example/SubSubClassOfChangedSuperClass.kt rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testImpactAnalysis_KotlinOrJava/src/kotlin => testImpactAnalysis_KotlinOnly/src}/previous-classpath/0/com/example/UnimpactedClass.kt (100%) delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/current-classpath/0/com/example/SubClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/current-classpath/0/com/example/SubSubClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/previous-classpath/0/com/example/SubClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/previous-classpath/0/com/example/SubSubClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubSubClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubSubClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubSubClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubClass.kt delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubSubClass.kt rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/current-classpath/0/com/example/AddedClass.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/current-classpath/0/com/example/UnchangedClass.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/previous-classpath/0/com/example/RemovedClass.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/classes/kotlin/previous-classpath/0/com/example/UnchangedClass.class (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/current-classpath/0/com/example/AddedClass.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/current-classpath/0/com/example/ModifiedClassChangedMembers.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/current-classpath/0/com/example/ModifiedClassUnchangedMembers.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/current-classpath/0/com/example/UnchangedClass.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/previous-classpath/0/com/example/ModifiedClassChangedMembers.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/previous-classpath/0/com/example/RemovedClass.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/java/previous-classpath/0/com/example/UnchangedClass.java (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/current-classpath/0/com/example/AddedClass.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/current-classpath/0/com/example/UnchangedClass.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/previous-classpath/0/com/example/RemovedClass.kt (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges => testModifiedAddedRemovedElements}/src/kotlin/previous-classpath/0/com/example/UnchangedClass.kt (100%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/current-classpath/0/com/example/TopLevelMembers2Kt.class rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/TopLevelDeclarationsKt.class => testTopLevelMembers_KotlinOnly/classes/current-classpath/0/com/example/TopLevelMembersKt.class} (50%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/previous-classpath/0/com/example/TopLevelMembers2Kt.class rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/TopLevelDeclarationsKt.class => testTopLevelMembers_KotlinOnly/classes/previous-classpath/0/com/example/TopLevelMembersKt.class} (52%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/topLevelDeclarations.kt => testTopLevelMembers_KotlinOnly/src/current-classpath/0/com/example/topLevelMembers.kt} (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/topLevelDeclarations2.kt => testTopLevelMembers_KotlinOnly/src/current-classpath/0/com/example/topLevelMembers2.kt} (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/topLevelDeclarations.kt => testTopLevelMembers_KotlinOnly/src/previous-classpath/0/com/example/topLevelMembers.kt} (100%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/{testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/topLevelDeclarations2.kt => testTopLevelMembers_KotlinOnly/src/previous-classpath/0/com/example/topLevelMembers2.kt} (100%) delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/TopLevelDeclarations2Kt.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/TopLevelDeclarations2Kt.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/changedMethodImplementation/com/example/SimpleKotlinClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/changedPublicMethodSignature/com/example/SimpleKotlinClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/original/com/example/SimpleKotlinClass.class delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/java/com/example/JavaClassWithNestedClasses$InnerClass.json delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/java/com/example/SimpleJavaClass-protoBased=true.json delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/src/java/com/example/JavaClassWithNestedClasses.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/src/java/com/example/SimpleJavaClass.java delete mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/src/kotlin/com/example/SimpleKotlinClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotlin/abi-change/com/example/SimpleClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotlin/non-abi-change/com/example/SimpleClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotllin/abi-change/com/example/SimpleClass.class create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes/kotlin/com/example/SimpleClass.class rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/{ClasspathSnapshotTestCommon/expected-snapshot/java/com/example/SimpleJavaClass-protoBased=false.json => ClasspathSnapshotterTest/expected-snapshot/java/com/example/SimpleClass.json} (69%) rename compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/{ClasspathSnapshotTestCommon/expected-snapshot/kotlin/com/example/SimpleKotlinClass.json => ClasspathSnapshotterTest/expected-snapshot/kotlin/com/example/SimpleClass.json} (60%) create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/abi-change/com/example/SimpleClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/non-abi-change/com/example/SimpleClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/abi-change/com/example/SimpleClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/non-abi-change/com/example/SimpleClass.kt create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/java/com/example/SimpleClass.java create mode 100644 compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/kotlin/com/example/SimpleClass.kt diff --git a/.idea/dictionaries/hungnv.xml b/.idea/dictionaries/hungnv.xml index a965abf7d17..eae20ed79ec 100644 --- a/.idea/dictionaries/hungnv.xml +++ b/.idea/dictionaries/hungnv.xml @@ -1,6 +1,7 @@ + multifile shrinker snapshotter snapshotter's diff --git a/build-common/src/org/jetbrains/kotlin/incremental/IncrementalJvmCache.kt b/build-common/src/org/jetbrains/kotlin/incremental/IncrementalJvmCache.kt index 2e2a3ddfd14..69c7b915c21 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/IncrementalJvmCache.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/IncrementalJvmCache.kt @@ -652,8 +652,10 @@ private fun getConstantsMap(bytes: ByteArray): LinkedHashMap { ClassReader(bytes).accept(object : ClassVisitor(Opcodes.API_VERSION) { override fun visitField(access: Int, name: String, desc: String, signature: String?, value: Any?): FieldVisitor? { - val staticFinal = Opcodes.ACC_STATIC or Opcodes.ACC_FINAL or Opcodes.ACC_PRIVATE - if (value != null && access and staticFinal == Opcodes.ACC_STATIC or Opcodes.ACC_FINAL) { + if (access and Opcodes.ACC_PRIVATE == Opcodes.ACC_PRIVATE) return null + + val staticFinal = Opcodes.ACC_STATIC or Opcodes.ACC_FINAL + if (value != null && access and staticFinal == staticFinal) { result[name] = value } return null @@ -689,7 +691,9 @@ private fun getInlineFunctionsMap(header: KotlinClassHeader, bytes: ByteArray): desc: String, signature: String?, exceptions: Array? - ): MethodVisitor { + ): MethodVisitor? { + if (access and Opcodes.ACC_PRIVATE == Opcodes.ACC_PRIVATE) return null + val dummyClassWriter = ClassWriter(0) dummyClassWriter.visit(dummyVersion, 0, "dummy", null, AsmTypes.OBJECT_TYPE.internalName, null) diff --git a/build-common/src/org/jetbrains/kotlin/incremental/storage/externalizers.kt b/build-common/src/org/jetbrains/kotlin/incremental/storage/externalizers.kt index e72b38c96cf..b2130bfed04 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/storage/externalizers.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/storage/externalizers.kt @@ -204,6 +204,9 @@ object ConstantExternalizer : DataExternalizer { } } + // The constants' values are provided by ASM, so their types can only be the following. + // See https://asm.ow2.io/javadoc/org/objectweb/asm/ClassVisitor.html#visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object) + // (Note: Boolean constants have Integer (0, 1) values in ASM.) private enum class Kind { INT, FLOAT, LONG, DOUBLE, STRING } diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotShrinker.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotShrinker.kt index c517861de11..ca09c6cdd74 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotShrinker.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotShrinker.kt @@ -143,7 +143,7 @@ internal fun ClasspathSnapshot.removeDuplicateAndInaccessibleClasses(): List { +private fun ClasspathSnapshot.getNonDuplicateClassSnapshots(): List { val classSnapshots = LinkedHashMap(classpathEntrySnapshots.sumOf { it.classSnapshots.size }) for (classpathEntrySnapshot in classpathEntrySnapshots) { for ((unixStyleRelativePath, classSnapshot) in classpathEntrySnapshot.classSnapshots) { diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest.kt index fddde8719ef..58459ebc57c 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest.kt @@ -8,9 +8,8 @@ package org.jetbrains.kotlin.incremental.classpathDiff import org.jetbrains.kotlin.build.report.metrics.DoNothingBuildMetricsReporter import org.jetbrains.kotlin.incremental.ChangesEither import org.jetbrains.kotlin.incremental.LookupSymbol -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.compileAll -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.snapshot -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.snapshotAll +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.ClassFileUtil.snapshot +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.CompileUtil.compileAll import org.jetbrains.kotlin.resolve.sam.SAM_LOOKUP_NAME import org.junit.Test import org.junit.rules.TemporaryFolder @@ -21,20 +20,16 @@ import kotlin.test.fail abstract class ClasspathChangesComputerTest : ClasspathSnapshotTestCommon() { - // TODO Add more test cases: - // - private/non-private fields - // - inline functions - // - changing supertype by adding somethings that changes/does not change the supertype ABI - // - adding an annotation + companion object { + val testDataDir = + File("compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest") + } @Test - abstract fun testAbiChange_changePublicMethodSignature() + abstract fun testAbiVersusNonAbiChanges() @Test - abstract fun testNonAbiChange_changeMethodImplementation() - - @Test - abstract fun testVariousAbiChanges() + abstract fun testModifiedAddedRemovedElements() @Test abstract fun testImpactAnalysis() @@ -43,38 +38,21 @@ abstract class ClasspathChangesComputerTest : ClasspathSnapshotTestCommon() { class KotlinOnlyClasspathChangesComputerTest : ClasspathChangesComputerTest() { @Test - override fun testAbiChange_changePublicMethodSignature() { - val sourceFile = SimpleKotlinClass(tmpDir) - val previousSnapshot = sourceFile.compileAndSnapshot() - val currentSnapshot = sourceFile.changePublicMethodSignature().compileAndSnapshot() - val changes = computeClassChanges(currentSnapshot, previousSnapshot) - + override fun testAbiVersusNonAbiChanges() { + val changes = computeClasspathChanges(File(testDataDir, "testAbiVersusNonAbiChanges/src/kotlin"), tmpDir) Changes( lookupSymbols = setOf( - LookupSymbol(name = "publicFunction", scope = "com.example.SimpleKotlinClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SimpleKotlinClass") + LookupSymbol(name = "publicPropertyChangedType", scope = "com.example.SomeClass"), + LookupSymbol(name = "publicFunctionChangedSignature", scope = "com.example.SomeClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SomeClass"), ), - fqNames = setOf("com.example.SimpleKotlinClass") + fqNames = setOf("com.example.SomeClass") ).assertEquals(changes) } @Test - override fun testNonAbiChange_changeMethodImplementation() { - val sourceFile = SimpleKotlinClass(tmpDir) - val previousSnapshot = sourceFile.compileAndSnapshot() - val currentSnapshot = sourceFile.changeMethodImplementation().compileAndSnapshot() - val changes = computeClassChanges(currentSnapshot, previousSnapshot) - - Changes(emptySet(), emptySet()).assertEquals(changes) - } - - @Test - override fun testVariousAbiChanges() { - val classpathSourceDir = File(testDataDir, "../ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin").canonicalFile - val currentSnapshot = snapshotClasspath(File(classpathSourceDir, "current-classpath"), tmpDir) - val previousSnapshot = snapshotClasspath(File(classpathSourceDir, "previous-classpath"), tmpDir) - val changes = computeClasspathChanges(currentSnapshot, previousSnapshot) - + override fun testModifiedAddedRemovedElements() { + val changes = computeClasspathChanges(File(testDataDir, "testModifiedAddedRemovedElements/src/kotlin"), tmpDir) Changes( lookupSymbols = setOf( // ModifiedClassUnchangedMembers @@ -94,8 +72,44 @@ class KotlinOnlyClasspathChangesComputerTest : ClasspathChangesComputerTest() { // RemovedClass LookupSymbol(name = "RemovedClass", scope = "com.example"), + ), + fqNames = setOf( + "com.example.ModifiedClassUnchangedMembers", + "com.example.ModifiedClassChangedMembers", + "com.example.AddedClass", + "com.example.RemovedClass", + ) + ).assertEquals(changes) + } - // Top-level properties and functions + @Test + override fun testImpactAnalysis() { + val changes = computeClasspathChanges(File(testDataDir, "testImpactAnalysis_KotlinOnly/src"), tmpDir) + Changes( + lookupSymbols = setOf( + LookupSymbol(name = "changedProperty", scope = "com.example.ChangedSuperClass"), + LookupSymbol(name = "changedProperty", scope = "com.example.SubClassOfChangedSuperClass"), + LookupSymbol(name = "changedProperty", scope = "com.example.SubSubClassOfChangedSuperClass"), + LookupSymbol(name = "changedFunction", scope = "com.example.ChangedSuperClass"), + LookupSymbol(name = "changedFunction", scope = "com.example.SubClassOfChangedSuperClass"), + LookupSymbol(name = "changedFunction", scope = "com.example.SubSubClassOfChangedSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.ChangedSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubClassOfChangedSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubSubClassOfChangedSuperClass") + ), + fqNames = setOf( + "com.example.ChangedSuperClass", + "com.example.SubClassOfChangedSuperClass", + "com.example.SubSubClassOfChangedSuperClass" + ) + ).assertEquals(changes) + } + + @Test + fun testTopLevelMembers() { + val changes = computeClasspathChanges(File(testDataDir, "testTopLevelMembers_KotlinOnly/src"), tmpDir) + Changes( + lookupSymbols = setOf( LookupSymbol(name = "modifiedTopLevelProperty", scope = "com.example"), LookupSymbol(name = "addedTopLevelProperty", scope = "com.example"), LookupSymbol(name = "removedTopLevelProperty", scope = "com.example"), @@ -106,40 +120,78 @@ class KotlinOnlyClasspathChangesComputerTest : ClasspathChangesComputerTest() { LookupSymbol(name = "movedTopLevelFunction", scope = "com.example"), LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example") ), + fqNames = setOf("com.example") + ).assertEquals(changes) + } + + @Test + fun testDifferentClassKinds() { + val changes = computeClasspathChanges(File(testDataDir, "testDifferentClassKinds_KotlinOnly/src"), tmpDir) + Changes( + lookupSymbols = setOf( + // NormalClass + LookupSymbol(name = "propertyInNormalClass", scope = "com.example.NormalClass"), + LookupSymbol(name = "functionInNormalClass", scope = "com.example.NormalClass"), + + // NormalClass.CompanionObject + LookupSymbol(name = "propertyInCompanionObject", scope = "com.example.NormalClass.CompanionObject"), + LookupSymbol(name = "functionInCompanionObject", scope = "com.example.NormalClass.CompanionObject"), + + // NormalClass.NestedClass + LookupSymbol(name = "propertyInNestedClass", scope = "com.example.NormalClass.NestedClass"), + LookupSymbol(name = "functionInNestedClass", scope = "com.example.NormalClass.NestedClass"), + + // FileFacade + LookupSymbol(name = "propertyInFileFacade", scope = "com.example"), + LookupSymbol(name = "functionInFileFacade", scope = "com.example"), + + // MultifileClass + LookupSymbol(name = "propertyInMultifileClass1", scope = "com.example"), + LookupSymbol(name = "functionInMultifileClass1", scope = "com.example"), + LookupSymbol(name = "propertyInMultifileClass2", scope = "com.example"), + LookupSymbol(name = "functionInMultifileClass2", scope = "com.example"), + + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.NormalClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.NormalClass.CompanionObject"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.NormalClass.NestedClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example"), + ), fqNames = setOf( - "com.example.ModifiedClassUnchangedMembers", - "com.example.ModifiedClassChangedMembers", - "com.example.AddedClass", - "com.example.RemovedClass", + "com.example.NormalClass", + "com.example.NormalClass.CompanionObject", + "com.example.NormalClass.NestedClass", "com.example" ) ).assertEquals(changes) } @Test - override fun testImpactAnalysis() { - val classpathSourceDir = - File(testDataDir, "../ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin").canonicalFile - val currentSnapshot = snapshotClasspath(File(classpathSourceDir, "current-classpath"), tmpDir) - val previousSnapshot = snapshotClasspath(File(classpathSourceDir, "previous-classpath"), tmpDir) - val changes = computeClasspathChanges(currentSnapshot, previousSnapshot) - + fun testConstantsAndInlineFunctions() { + val changes = computeClasspathChanges(File(testDataDir, "testConstantsAndInlineFunctions_KotlinOnly/src"), tmpDir) Changes( lookupSymbols = setOf( - LookupSymbol(name = "changedProperty", scope = "com.example.ChangedSuperClass"), - LookupSymbol(name = "changedProperty", scope = "com.example.SubClass"), - LookupSymbol(name = "changedProperty", scope = "com.example.SubSubClass"), - LookupSymbol(name = "changedFunction", scope = "com.example.ChangedSuperClass"), - LookupSymbol(name = "changedFunction", scope = "com.example.SubClass"), - LookupSymbol(name = "changedFunction", scope = "com.example.SubSubClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.ChangedSuperClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubSubClass") + LookupSymbol(name = "constantChangedType", scope = "com.example.SomeClass.CompanionObject"), + // TODO (Fix in next commit). Missing: + // LookupSymbol(name = "constantChangedValue", scope = "com.example.SomeClass.CompanionObject") + + LookupSymbol(name = "inlineFunctionChangedSignature", scope = "com.example.SomeClass"), + LookupSymbol(name = "inlineFunctionChangedImplementation", scope = "com.example.SomeClass"), + + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SomeClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SomeClass.CompanionObject"), + + // TODO (Fix in next commit). Incorrect: + LookupSymbol(name = "constantChangedType", scope = "com.example.SomeClass"), + LookupSymbol(name = "constantChangedType", scope = "com.example.SomeClass.Companion"), + LookupSymbol(name = "constantChangedValue", scope = "com.example.SomeClass"), + LookupSymbol(name = "constantChangedValue", scope = "com.example.SomeClass.Companion"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SomeClass.Companion"), ), fqNames = setOf( - "com.example.ChangedSuperClass", - "com.example.SubClass", - "com.example.SubSubClass" + "com.example.SomeClass", + "com.example.SomeClass.CompanionObject", + // TODO (Fix in next commit). Incorrect: + "com.example.SomeClass.Companion" ) ).assertEquals(changes) } @@ -155,38 +207,21 @@ class JavaOnlyClasspathChangesComputerTest(private val protoBased: Boolean) : Cl } @Test - override fun testAbiChange_changePublicMethodSignature() { - val sourceFile = SimpleJavaClass(tmpDir) - val previousSnapshot = sourceFile.compile().snapshot(protoBased) - val currentSnapshot = sourceFile.changePublicMethodSignature().compile().snapshot(protoBased) - val changes = computeClassChanges(currentSnapshot, previousSnapshot) - + override fun testAbiVersusNonAbiChanges() { + val changes = computeClasspathChanges(File(testDataDir, "testAbiVersusNonAbiChanges/src/java"), tmpDir, protoBased) Changes( lookupSymbols = setOf( - LookupSymbol(name = "publicMethod", scope = "com.example.SimpleJavaClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SimpleJavaClass") + LookupSymbol(name = "publicFieldChangedType", scope = "com.example.SomeClass"), + LookupSymbol(name = "publicMethodChangedSignature", scope = "com.example.SomeClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SomeClass") ), - fqNames = setOf("com.example.SimpleJavaClass") + fqNames = setOf("com.example.SomeClass") ).assertEquals(changes) } @Test - override fun testNonAbiChange_changeMethodImplementation() { - val sourceFile = SimpleJavaClass(tmpDir) - val previousSnapshot = sourceFile.compile().snapshot(protoBased) - val currentSnapshot = sourceFile.changeMethodImplementation().compile().snapshot(protoBased) - val changes = computeClassChanges(currentSnapshot, previousSnapshot) - - Changes(emptySet(), emptySet()).assertEquals(changes) - } - - @Test - override fun testVariousAbiChanges() { - val classpathSourceDir = File(testDataDir, "../ClasspathChangesComputerTest/testVariousAbiChanges/src/java").canonicalFile - val currentSnapshot = snapshotClasspath(File(classpathSourceDir, "current-classpath"), tmpDir, protoBased) - val previousSnapshot = snapshotClasspath(File(classpathSourceDir, "previous-classpath"), tmpDir, protoBased) - val changes = computeClasspathChanges(currentSnapshot, previousSnapshot) - + override fun testModifiedAddedRemovedElements() { + val changes = computeClasspathChanges(File(testDataDir, "testModifiedAddedRemovedElements/src/java"), tmpDir, protoBased) Changes( lookupSymbols = setOf( // ModifiedClassUnchangedMembers @@ -218,27 +253,23 @@ class JavaOnlyClasspathChangesComputerTest(private val protoBased: Boolean) : Cl @Test override fun testImpactAnalysis() { - val classpathSourceDir = File(testDataDir, "../ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java").canonicalFile - val currentSnapshot = snapshotClasspath(File(classpathSourceDir, "current-classpath"), tmpDir, protoBased) - val previousSnapshot = snapshotClasspath(File(classpathSourceDir, "previous-classpath"), tmpDir, protoBased) - val changes = computeClasspathChanges(currentSnapshot, previousSnapshot) - + val changes = computeClasspathChanges(File(testDataDir, "testImpactAnalysis_JavaOnly/src"), tmpDir, protoBased) Changes( lookupSymbols = setOf( LookupSymbol(name = "changedField", scope = "com.example.ChangedSuperClass"), - LookupSymbol(name = "changedField", scope = "com.example.SubClass"), - LookupSymbol(name = "changedField", scope = "com.example.SubSubClass"), + LookupSymbol(name = "changedField", scope = "com.example.SubClassOfChangedSuperClass"), + LookupSymbol(name = "changedField", scope = "com.example.SubSubClassOfChangedSuperClass"), LookupSymbol(name = "changedMethod", scope = "com.example.ChangedSuperClass"), - LookupSymbol(name = "changedMethod", scope = "com.example.SubClass"), - LookupSymbol(name = "changedMethod", scope = "com.example.SubSubClass"), + LookupSymbol(name = "changedMethod", scope = "com.example.SubClassOfChangedSuperClass"), + LookupSymbol(name = "changedMethod", scope = "com.example.SubSubClassOfChangedSuperClass"), LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.ChangedSuperClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubSubClass") + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubClassOfChangedSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.SubSubClassOfChangedSuperClass") ), fqNames = setOf( "com.example.ChangedSuperClass", - "com.example.SubClass", - "com.example.SubSubClass" + "com.example.SubClassOfChangedSuperClass", + "com.example.SubSubClassOfChangedSuperClass" ) ).assertEquals(changes) } @@ -248,52 +279,55 @@ class KotlinAndJavaClasspathChangesComputerTest : ClasspathSnapshotTestCommon() @Test fun testImpactAnalysis() { - val classpathSourceDir = File(testDataDir, "../ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src").canonicalFile - val currentSnapshot = snapshotClasspath(File(classpathSourceDir, "current-classpath"), tmpDir) - val previousSnapshot = snapshotClasspath(File(classpathSourceDir, "previous-classpath"), tmpDir) - val changes = computeClasspathChanges(currentSnapshot, previousSnapshot) - + val changes = + computeClasspathChanges(File(ClasspathChangesComputerTest.testDataDir, "testImpactAnalysis_KotlinAndJava/src"), tmpDir) Changes( lookupSymbols = setOf( LookupSymbol(name = "changedProperty", scope = "com.example.ChangedKotlinSuperClass"), - LookupSymbol(name = "changedProperty", scope = "com.example.KotlinSubClassOfKotlinSuperClass"), - LookupSymbol(name = "changedProperty", scope = "com.example.JavaSubClassOfKotlinSuperClass"), + LookupSymbol(name = "changedProperty", scope = "com.example.KotlinSubClassOfChangedKotlinSuperClass"), + LookupSymbol(name = "changedProperty", scope = "com.example.JavaSubClassOfChangedKotlinSuperClass"), LookupSymbol(name = "changedFunction", scope = "com.example.ChangedKotlinSuperClass"), - LookupSymbol(name = "changedFunction", scope = "com.example.KotlinSubClassOfKotlinSuperClass"), - LookupSymbol(name = "changedFunction", scope = "com.example.JavaSubClassOfKotlinSuperClass"), + LookupSymbol(name = "changedFunction", scope = "com.example.KotlinSubClassOfChangedKotlinSuperClass"), + LookupSymbol(name = "changedFunction", scope = "com.example.JavaSubClassOfChangedKotlinSuperClass"), LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.ChangedKotlinSuperClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.KotlinSubClassOfKotlinSuperClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.JavaSubClassOfKotlinSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.KotlinSubClassOfChangedKotlinSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.JavaSubClassOfChangedKotlinSuperClass"), LookupSymbol(name = "changedField", scope = "com.example.ChangedJavaSuperClass"), - LookupSymbol(name = "changedField", scope = "com.example.KotlinSubClassOfJavaSuperClass"), - LookupSymbol(name = "changedField", scope = "com.example.JavaSubClassOfJavaSuperClass"), + LookupSymbol(name = "changedField", scope = "com.example.KotlinSubClassOfChangedJavaSuperClass"), + LookupSymbol(name = "changedField", scope = "com.example.JavaSubClassOfChangedJavaSuperClass"), LookupSymbol(name = "changedMethod", scope = "com.example.ChangedJavaSuperClass"), - LookupSymbol(name = "changedMethod", scope = "com.example.KotlinSubClassOfJavaSuperClass"), - LookupSymbol(name = "changedMethod", scope = "com.example.JavaSubClassOfJavaSuperClass"), + LookupSymbol(name = "changedMethod", scope = "com.example.KotlinSubClassOfChangedJavaSuperClass"), + LookupSymbol(name = "changedMethod", scope = "com.example.JavaSubClassOfChangedJavaSuperClass"), LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.ChangedJavaSuperClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.KotlinSubClassOfJavaSuperClass"), - LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.JavaSubClassOfJavaSuperClass") + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.KotlinSubClassOfChangedJavaSuperClass"), + LookupSymbol(name = SAM_LOOKUP_NAME.asString(), scope = "com.example.JavaSubClassOfChangedJavaSuperClass") ), fqNames = setOf( "com.example.ChangedKotlinSuperClass", - "com.example.KotlinSubClassOfKotlinSuperClass", - "com.example.JavaSubClassOfKotlinSuperClass", + "com.example.KotlinSubClassOfChangedKotlinSuperClass", + "com.example.JavaSubClassOfChangedKotlinSuperClass", "com.example.ChangedJavaSuperClass", - "com.example.KotlinSubClassOfJavaSuperClass", - "com.example.JavaSubClassOfJavaSuperClass" + "com.example.KotlinSubClassOfChangedJavaSuperClass", + "com.example.JavaSubClassOfChangedJavaSuperClass" ) ).assertEquals(changes) } } -private fun snapshotClasspath(classpathSourceDir: File, tmpDir: TemporaryFolder, protoBased: Boolean = true): ClasspathSnapshot { +private fun computeClasspathChanges(classpathSourceDir: File, tmpDir: TemporaryFolder, protoBased: Boolean = false): Changes { + val currentSnapshot = snapshotClasspath(File(classpathSourceDir, "current-classpath"), tmpDir, protoBased) + val previousSnapshot = snapshotClasspath(File(classpathSourceDir, "previous-classpath"), tmpDir, protoBased) + return computeClasspathChanges(currentSnapshot, previousSnapshot) +} + +private fun snapshotClasspath(classpathSourceDir: File, tmpDir: TemporaryFolder, protoBased: Boolean): ClasspathSnapshot { val classpath = mutableListOf() val classpathEntrySnapshots = classpathSourceDir.listFiles()!!.sortedBy { it.name }.map { classpathEntrySourceDir -> val classFiles = compileAll(classpathEntrySourceDir, classpath, tmpDir) classpath.addAll(listOfNotNull(classFiles.firstOrNull()?.classRoot)) val relativePaths = classFiles.map { it.unixStyleRelativePath } - val classSnapshots = classFiles.snapshotAll(protoBased).map { it.withHash } + val classSnapshots = classFiles.snapshot(protoBased).map { it.withHash } ClasspathEntrySnapshot( classSnapshots = relativePaths.zip(classSnapshots).toMap(LinkedHashMap()) ) @@ -306,16 +340,8 @@ private fun computeClasspathChanges( previousClasspathSnapshot: ClasspathSnapshot ): Changes { return ClasspathChangesComputer.computeChangedAndImpactedSet( - currentClasspathSnapshot.getNonDuplicateClassSnapshots(), - previousClasspathSnapshot.getNonDuplicateClassSnapshots(), - DoNothingBuildMetricsReporter - ).normalize() -} - -private fun computeClassChanges(currentClassSnapshot: ClassSnapshot, previousClassSnapshot: ClassSnapshot): Changes { - return ClasspathChangesComputer.computeClassChanges( - listOf(currentClassSnapshot), - listOf(previousClassSnapshot), + currentClasspathSnapshot.removeDuplicateAndInaccessibleClasses(), + previousClasspathSnapshot.removeDuplicateAndInaccessibleClasses(), DoNothingBuildMetricsReporter ).normalize() } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotSerializerTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotSerializerTest.kt index 6bd6008635f..011f9523647 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotSerializerTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotSerializerTest.kt @@ -5,19 +5,26 @@ package org.jetbrains.kotlin.incremental.classpathDiff -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.readBytes +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.SourceFile.JavaSourceFile +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.SourceFile.KotlinSourceFile import org.jetbrains.kotlin.incremental.storage.fromByteArray import org.jetbrains.kotlin.incremental.storage.toByteArray import org.junit.Assert.assertEquals import org.junit.Test +import java.io.File abstract class ClasspathSnapshotSerializerTest : ClasspathSnapshotTestCommon() { - protected abstract val testSourceFile: ChangeableTestSourceFile + companion object { + val testDataDir = + File("compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest") + } + + protected abstract val sourceFile: TestSourceFile @Test - open fun `test ClassSnapshotDataSerializer`() { - val originalSnapshot = testSourceFile.compileAndSnapshot() + open fun `test ClassSnapshotExternalizer`() { + val originalSnapshot = sourceFile.compileAndSnapshot() val serializedSnapshot = ClassSnapshotExternalizer.toByteArray(originalSnapshot) val deserializedSnapshot = ClassSnapshotExternalizer.fromByteArray(serializedSnapshot) @@ -26,21 +33,20 @@ abstract class ClasspathSnapshotSerializerTest : ClasspathSnapshotTestCommon() { } class KotlinClassesClasspathSnapshotSerializerTest : ClasspathSnapshotSerializerTest() { - override val testSourceFile = SimpleKotlinClass(tmpDir) + + override val sourceFile = TestSourceFile( + KotlinSourceFile( + baseDir = File(testDataDir, "src/kotlin"), relativePath = "com/example/SimpleClass.kt", + preCompiledClassFile = ClassFile(File(testDataDir, "classes/kotlin"), "com/example/SimpleClass.class") + ), tmpDir + ) } class JavaClassesClasspathSnapshotSerializerTest : ClasspathSnapshotSerializerTest() { - override val testSourceFile = SimpleJavaClass(tmpDir) - - @Test - override fun `test ClassSnapshotDataSerializer`() { - val originalSnapshot = testSourceFile.compile().let { - ClassSnapshotter.snapshot(listOf(ClassFileWithContents(it, it.readBytes())), includeDebugInfoInSnapshot = false) - }.single() - val serializedSnapshot = ClassSnapshotExternalizer.toByteArray(originalSnapshot) - val deserializedSnapshot = ClassSnapshotExternalizer.fromByteArray(serializedSnapshot) - - assertEquals(originalSnapshot.toGson(), deserializedSnapshot.toGson()) - } + override val sourceFile = TestSourceFile( + JavaSourceFile( + baseDir = File(testDataDir, "src/java"), relativePath = "com/example/SimpleClass.java", + ), tmpDir + ) } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon.kt index e74da080e82..7997dde853d 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon.kt @@ -6,12 +6,10 @@ package org.jetbrains.kotlin.incremental.classpathDiff import com.google.gson.GsonBuilder -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.SourceFile.JavaSourceFile +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.ClassFileUtil.asFile +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.ClassFileUtil.snapshot +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.CompileUtil.compile import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.SourceFile.KotlinSourceFile -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.compile -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.compileAll -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.snapshot -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.snapshotAll import org.jetbrains.kotlin.test.KotlinTestUtils import org.junit.Rule import org.junit.rules.TemporaryFolder @@ -19,11 +17,6 @@ import java.io.File abstract class ClasspathSnapshotTestCommon { - companion object { - val testDataDir = - File("compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon") - } - @get:Rule val tmpDir = TemporaryFolder() @@ -53,44 +46,31 @@ abstract class ClasspathSnapshotTestCommon { /** Same as [SourceFile] but with a [TemporaryFolder] to store the results of operations on the [SourceFile]. */ open class TestSourceFile(val sourceFile: SourceFile, private val tmpDir: TemporaryFolder) { - fun replace(oldValue: String, newValue: String, preCompiledKotlinClassFile: ClassFile? = null): TestSourceFile { - val fileContents = sourceFile.asFile().readText() - check(fileContents.contains(oldValue)) { "String '$oldValue' not found in file '${sourceFile.asFile().path}'" } - - val newSourceFile = when (sourceFile) { - is KotlinSourceFile -> KotlinSourceFile(tmpDir.newFolder(), sourceFile.unixStyleRelativePath, preCompiledKotlinClassFile!!) - is JavaSourceFile -> JavaSourceFile(tmpDir.newFolder(), sourceFile.unixStyleRelativePath) - } - newSourceFile.asFile().parentFile.mkdirs() - newSourceFile.asFile().writeText(fileContents.replace(oldValue, newValue)) - return TestSourceFile(newSourceFile, tmpDir) - } - - /** - * Compiles this source file and returns a single generated .class file, or fails if zero or more than one .class file was - * generated. - * - * Alternatively, the caller can call [compileAll] to get all generated .class files. - */ - fun compile(): ClassFile = compileAll().single() + fun asFile() = sourceFile.asFile() /** Compiles this source file and returns all generated .class files. */ @Suppress("MemberVisibilityCanBePrivate") - fun compileAll(): List = sourceFile.compile(tmpDir) + fun compile(): List = sourceFile.compile(tmpDir) - /** - * Compiles this source file and returns the snapshot of a single generated .class file, or fails if zero or more than one .class - * file was generated. - * - * Alternatively, the caller can call [compileAndSnapshotAll] to get the snapshots of all generated .class files. - */ - fun compileAndSnapshot() = compile().snapshot() + fun compileSingle(): ClassFile = compile().single() - /** Compiles this source file and returns the snapshots of all generated .class files. */ - fun compileAndSnapshotAll(): List = compileAll().snapshotAll() + fun compileAndSnapshot() = compileSingle().snapshot() } - object Util { + object CompileUtil { + + fun SourceFile.compile(tmpDir: TemporaryFolder): List { + return if (this is KotlinSourceFile) { + preCompiledClassFiles.forEach { + preCompileKotlinFilesIfNecessary(baseDir, it.classRoot, classpath = emptyList(), tmpDir) + } + preCompiledClassFiles + } else { + val srcDir = tmpDir.newFolder() + asFile().copyTo(File(srcDir, unixStyleRelativePath)) + compileAll(srcDir, classpath = emptyList(), tmpDir) + } + } /** Compiles the source files in the given directory and returns all generated .class files. */ fun compileAll(srcDir: File, classpath: List, tmpDir: TemporaryFolder): List { @@ -140,19 +120,6 @@ abstract class ClasspathSnapshotTestCommon { } } - fun SourceFile.compile(tmpDir: TemporaryFolder): List { - return if (this is KotlinSourceFile) { - preCompiledClassFiles.forEach { - preCompileKotlinFilesIfNecessary(baseDir, it.classRoot, classpath = emptyList(), tmpDir) - } - preCompiledClassFiles - } else { - val srcDir = tmpDir.newFolder() - asFile().copyTo(File(srcDir, unixStyleRelativePath)) - compileAll(srcDir, classpath = emptyList(), tmpDir) - } - } - private fun doCompileKotlin(srcDir: File, classpath: List, tmpDir: TemporaryFolder): List { if (srcDir.walk().none { it.path.endsWith(".kt") }) { return emptyList() @@ -187,70 +154,21 @@ abstract class ClasspathSnapshotTestCommon { .map { ClassFile(classesDir, it.toRelativeString(classesDir)) } .sortedBy { it.unixStyleRelativePath.substringBefore(".class") } } + } + + object ClassFileUtil { // `ClassFile`s in production code could be in a jar, but the `ClassFile`s in tests are currently in a directory, so converting it // to a File is possible. - @Suppress("MemberVisibilityCanBePrivate") fun ClassFile.asFile() = File(classRoot, unixStyleRelativePath) - @Suppress("MemberVisibilityCanBePrivate") fun ClassFile.readBytes() = asFile().readBytes() - fun ClassFile.snapshot(protoBased: Boolean? = null): ClassSnapshot = listOf(this).snapshotAll(protoBased).single() + fun ClassFile.snapshot(protoBased: Boolean? = null): ClassSnapshot = listOf(this).snapshot(protoBased).single() - fun List.snapshotAll(protoBased: Boolean? = null): List { + fun List.snapshot(protoBased: Boolean? = null): List { val classFilesWithContents = this.map { ClassFileWithContents(it, it.readBytes()) } - return ClassSnapshotter.snapshot(classFilesWithContents, protoBased, includeDebugInfoInSnapshot = true) + return ClassSnapshotter.snapshot(classFilesWithContents, protoBased) } } - - abstract class ChangeableTestSourceFile(sourceFile: SourceFile, tmpDir: TemporaryFolder) : TestSourceFile(sourceFile, tmpDir) { - - abstract fun changePublicMethodSignature(): TestSourceFile - - abstract fun changeMethodImplementation(): TestSourceFile - } - - class SimpleKotlinClass(tmpDir: TemporaryFolder) : ChangeableTestSourceFile( - KotlinSourceFile( - baseDir = File(testDataDir, "src/kotlin"), relativePath = "com/example/SimpleKotlinClass.kt", - preCompiledClassFile = ClassFile(File(testDataDir, "classes/kotlin/original"), "com/example/SimpleKotlinClass.class") - ), tmpDir - ) { - - override fun changePublicMethodSignature() = replace( - "publicFunction()", "publicFunction(newParam: Int)", - preCompiledKotlinClassFile = ClassFile( - File(testDataDir, "classes/kotlin/changedPublicMethodSignature"), "com/example/SimpleKotlinClass.class" - ) - ) - - override fun changeMethodImplementation() = replace( - "I'm in a public function", "This function's implementation has changed!", - preCompiledKotlinClassFile = ClassFile( - File(testDataDir, "classes/kotlin/changedMethodImplementation"), "com/example/SimpleKotlinClass.class" - ) - ) - } - - class SimpleJavaClass(tmpDir: TemporaryFolder) : ChangeableTestSourceFile( - JavaSourceFile(File(testDataDir, "src/java"), "com/example/SimpleJavaClass.java"), tmpDir - ) { - - override fun changePublicMethodSignature() = replace("publicMethod()", "publicMethod(int newParam)") - - override fun changeMethodImplementation() = replace("I'm in a public method", "This method's implementation has changed!") - } - - class JavaClassWithNestedClasses(tmpDir: TemporaryFolder) : ChangeableTestSourceFile( - JavaSourceFile(File(testDataDir, "src/java"), "com/example/JavaClassWithNestedClasses.java"), tmpDir - ) { - - /** The source file contains multiple classes, select the one that we want to test. */ - val nestedClassToTest = "com/example/JavaClassWithNestedClasses\$InnerClass" - - override fun changePublicMethodSignature() = replace("publicMethod()", "publicMethod(int newParam)") - - override fun changeMethodImplementation() = replace("I'm in a public method", "This method's implementation has changed!") - } } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest.kt index d0fd8e8e82a..9691ac2f4d5 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest.kt @@ -5,141 +5,93 @@ package org.jetbrains.kotlin.incremental.classpathDiff -import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.Util.snapshot +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.ClassFileUtil.readBytes +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.SourceFile.JavaSourceFile +import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathSnapshotTestCommon.SourceFile.KotlinSourceFile import org.junit.Assert.assertEquals import org.junit.Assert.assertNotEquals -import org.junit.Before import org.junit.Test -import org.junit.runner.RunWith -import org.junit.runners.Parameterized import java.io.File abstract class ClasspathSnapshotterTest : ClasspathSnapshotTestCommon() { - protected abstract val testSourceFile: ChangeableTestSourceFile - - private lateinit var testClassSnapshot: ClassSnapshot - - @Before - fun setUp() { - testClassSnapshot = testSourceFile.compileAndSnapshot() - } - - @Test - fun `test ClassSnapshotter's result against expected snapshot`() { - assertEquals(getExpectedSnapshotFile().readText(), testClassSnapshot.toGson()) - } - - private fun getExpectedSnapshotFile() = testSourceFile.sourceFile.asFile().path.let { - File(it.substringBeforeLast("src") + "expected-snapshot" + it.substringAfterLast("src").substringBeforeLast('.') + ".json") - } - - @Test - fun `test ClassSnapshotter extracts ABI info from a class`() { - // Change public method signature - val updatedSnapshot = testSourceFile.changePublicMethodSignature().compileAndSnapshot() - - // The snapshot must change - assertNotEquals(testClassSnapshot.toGson(), updatedSnapshot.toGson()) - } - - @Test - fun `test ClassSnapshotter does not extract non-ABI info from a class`() { - // Change method implementation - val updatedSnapshot = testSourceFile.changeMethodImplementation().compileAndSnapshot() - - // The snapshot must not change - assertEquals(testClassSnapshot.toGson(), updatedSnapshot.toGson()) - } -} - -class KotlinClassesClasspathSnapshotterTest : ClasspathSnapshotterTest() { - override val testSourceFile = SimpleKotlinClass(tmpDir) -} - -@RunWith(Parameterized::class) -class JavaClassesClasspathSnapshotterTest(private val protoBased: Boolean) : ClasspathSnapshotTestCommon() { - companion object { - @Parameterized.Parameters(name = "protoBased={0}") - @JvmStatic - fun parameters() = listOf(true, false) + val testDataDir = + File("compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest") } - private val testSourceFile = SimpleJavaClass(tmpDir) + protected abstract val sourceFile: TestSourceFile + protected abstract val sourceFileWithAbiChange: TestSourceFile + protected abstract val sourceFileWithNonAbiChange: TestSourceFile - private lateinit var testClassSnapshot: ClassSnapshot - - @Before - fun setUp() { - testClassSnapshot = testSourceFile.compile().snapshot(protoBased) - } - - @Test - fun `test ClassSnapshotter's result against expected snapshot`() { - assertEquals(getExpectedSnapshotFile().readText(), testClassSnapshot.toGson()) - } - - private fun getExpectedSnapshotFile() = testSourceFile.sourceFile.asFile().path.let { - File( - it.substringBeforeLast("src") + "expected-snapshot" + it.substringAfterLast("src") - .substringBeforeLast('.') + "-protoBased=$protoBased.json" - ) - } - - @Test - fun `test ClassSnapshotter extracts ABI info from a class`() { - // Change public method signature - val updatedSnapshot = testSourceFile.changePublicMethodSignature().compile().snapshot(protoBased) - - // The snapshot must change - assertNotEquals(testClassSnapshot.toGson(), updatedSnapshot.toGson()) - } - - @Test - fun `test ClassSnapshotter does not extract non-ABI info from a class`() { - // Change method implementation - val updatedSnapshot = testSourceFile.changeMethodImplementation().compile().snapshot(protoBased) - - // The snapshot must not change - assertEquals(testClassSnapshot.toGson(), updatedSnapshot.toGson()) - } -} - -class JavaClassWithNestedClassesClasspathSnapshotterTest : ClasspathSnapshotTestCommon() { - - private val testSourceFile = JavaClassWithNestedClasses(tmpDir) - - private lateinit var testClassSnapshot: ClassSnapshot - - @Before - fun setUp() { - testClassSnapshot = testSourceFile.compileAndSnapshotNestedClass() - } - - private fun TestSourceFile.compileAndSnapshotNestedClass(): ClassSnapshot { - return compileAndSnapshotAll().single { - if (it is RegularJavaClassSnapshot) { - it.classAbiExcludingMembers.name == testSourceFile.nestedClassToTest - } else false + private val expectedSnapshotFile: File + get() = sourceFile.asFile().path.let { + File(it.substringBeforeLast("src") + "expected-snapshot" + it.substringAfterLast("src").substringBeforeLast('.') + ".json") } - } @Test fun `test ClassSnapshotter's result against expected snapshot`() { - val expectedSnapshotFile = File("${testDataDir.path}/expected-snapshot/java/${testSourceFile.nestedClassToTest}.json") - assertEquals(expectedSnapshotFile.readText(), testClassSnapshot.toGson()) + val classSnapshot = sourceFile.compileSingle().let { + ClassSnapshotter.snapshot(listOf(ClassFileWithContents(it, it.readBytes())), includeDebugInfoInSnapshot = true) + }.single() + + assertEquals(expectedSnapshotFile.readText(), classSnapshot.toGson()) } @Test fun `test ClassSnapshotter extracts ABI info from a class`() { - val updatedSnapshot = testSourceFile.changePublicMethodSignature().compileAndSnapshotNestedClass() - assertNotEquals(testClassSnapshot.toGson(), updatedSnapshot.toGson()) + // After an ABI change, the snapshot must change + assertNotEquals(sourceFile.compileAndSnapshot().toGson(), sourceFileWithAbiChange.compileAndSnapshot().toGson()) } @Test fun `test ClassSnapshotter does not extract non-ABI info from a class`() { - val updatedSnapshot = testSourceFile.changeMethodImplementation().compileAndSnapshotNestedClass() - assertEquals(testClassSnapshot.toGson(), updatedSnapshot.toGson()) + // After a non-ABI change, the snapshot must not change + assertEquals(sourceFile.compileAndSnapshot().toGson(), sourceFileWithNonAbiChange.compileAndSnapshot().toGson()) } } + +class KotlinOnlyClasspathSnapshotterTest : ClasspathSnapshotterTest() { + + override val sourceFile = TestSourceFile( + KotlinSourceFile( + baseDir = File(testDataDir, "src/kotlin"), relativePath = "com/example/SimpleClass.kt", + preCompiledClassFile = ClassFile(File(testDataDir, "classes/kotlin"), "com/example/SimpleClass.class") + ), tmpDir + ) + + override val sourceFileWithAbiChange = TestSourceFile( + KotlinSourceFile( + baseDir = File(testDataDir, "src-changed/kotlin/abi-change"), relativePath = "com/example/SimpleClass.kt", + preCompiledClassFile = ClassFile(File(testDataDir, "classes-changed/kotllin/abi-change"), "com/example/SimpleClass.class") + ), tmpDir + ) + + override val sourceFileWithNonAbiChange = TestSourceFile( + KotlinSourceFile( + baseDir = File(testDataDir, "src-changed/kotlin/non-abi-change"), relativePath = "com/example/SimpleClass.kt", + preCompiledClassFile = ClassFile(File(testDataDir, "classes-changed/kotlin/non-abi-change"), "com/example/SimpleClass.class") + ), tmpDir + ) +} + +class JavaOnlyClasspathSnapshotterTest : ClasspathSnapshotterTest() { + + override val sourceFile = TestSourceFile( + JavaSourceFile( + baseDir = File(testDataDir, "src/java"), relativePath = "com/example/SimpleClass.java", + ), tmpDir + ) + + override val sourceFileWithAbiChange = TestSourceFile( + JavaSourceFile( + baseDir = File(testDataDir, "src-changed/java/abi-change"), relativePath = "com/example/SimpleClass.java", + ), tmpDir + ) + + override val sourceFileWithNonAbiChange = TestSourceFile( + JavaSourceFile( + baseDir = File(testDataDir, "src-changed/java/non-abi-change"), relativePath = "com/example/SimpleClass.java", + ), tmpDir + ) +} diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/classes/kotlin/current-classpath/0/com/example/SomeClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testAbiVersusNonAbiChanges/classes/kotlin/current-classpath/0/com/example/SomeClass.class new file mode 100644 index 0000000000000000000000000000000000000000..c700fd07975ddbc896de20bc00edec71cb442e08 GIT binary patch literal 1239 zcma)4OK%cU6#njI7>4N-2J8c{54Ap8tfg(-X_{zFBLuZ+8`7k!0VeIV!wlgLO}is5 zT>2wi>%v51;=+(F{U!bihaLyV1cMTsID%oeJXZV(!`!hQ?2e;5xNH&|NtYP1 zV+H#atYjdCwA8!7Fn=9g*d6f|85a6{J8iEPIKCG?VBb0Rtf1W@*`=`sMLD{L?FE)Z zF)TJ)&bbxX*Yo7Uijh(EJ5QC*{J?d*!Yezl>Q-RUIC$ecLJMQ^P~`!d=o#fN92u>X zSKnZG-|fulJi~Qvb~`%Pq!TBrkk!aWGu_T6UuVywS07Yv@{(p6IlivEkzVEkNHG9XA71_PE7dQ>O;s}RI zo_U_%pS!>Y?OLH}M39!NCoe6(T+iluu}ZDbf2DJovRhP7-NDFzgO*Q4etm`UnPQF= zIupbrx#(+Sf^1$^_Ukc8w;+uq%#f=Paz*oBF!hNp`y^5dB>4{<9e}4XGXT>zWgUTy zk0apNSn%vXc{Nn#@ln}{AtWEjW(KlrBr0VUditp9s{Hx0Gu=lD5 zSS5Q%syAsUb4Q32F<-<&5sSD*E^Zfb2TMm_0(Wum2uXp2zOvBP2WxTI#2;z{ix%a+v&pEks=l=fl^A~^@c*-zY51U1KDw-`{7I(v@ z-0+3gX)p%wNSuhGFM@;O$J&vsM`f(QAgp(sI>B3YLQ;(hSMyP-%wga;)P^ zhS>ud?R09ss_(SJmTX678;4{r8+&Ih+4n0k%(QN1u#$^WjE#U}oMG-JyQ=UzNj2F1~zvX<_EORPEe0j7z{_+RR@8HI&JbWt2cys`~vChnl?&TRhKaS`wHo^w2alEVo`JvOS$@ZS8`Gn-kVO{uD z(N^X?1fAWm)2_=+Wf(J+P7tZ4tSYUD@+Jtv!M-)t=m?Uug#`Udx(TXs=BM^^zMm}` zg|3t0V?v8&d6ZKtKVW~Og5wEA(>5kc6x{&bi*Q?cS~ta#$O zI2|jVyc9nhj?EL-m6Uy6t-Y|1Lm)Co`UC#)--< zV$l!b4_G0wKvkD~6ykb9Kol0RxsP-2v8{WLzkd7t1;9hp7*>Ng^5uz$`l0j>;z-s* zk)|v4IO+?nV*TQ%D+5yiWAM6SDEv_9xBdim81j#lR^~B-vtDbLF@?N~9109MbF5N^ zwdOzFu*0ym-t5IDRNC(jBVTDF6D>mjnS3J#p{d6@HOU|_ak3|po=kRXZ5Q0$G`AA` zD!z`gD#OPAoyIUTA?!&bI>HEg6OV=tjfz>5w+0NXNBD`d*(ODuEr!wAsOs`X?sD&J zR{Z?Q0*sbD2%MznO;0+ z;jhaqV40zEK{E{HpL*Kp84^T2?$Di;rqc5HAUcvsOB{uS%r@gdgl&;1oBsgI4XtI8 zsZo-Q+=FEDpOG6u&4TgGKfQ_aCW%G``} z3%9X^HOe{eV4eIf;T7uj4&gK~)4*&4bC{LFN)MJyenl)_C>O_5J=Eeoz^ J_C|`E-vRdS=y3o5 literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/current-classpath/0/com/example/SomeClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/current-classpath/0/com/example/SomeClass.class new file mode 100644 index 0000000000000000000000000000000000000000..1f9879b47b15e5506df98f01ce139aa7766d7342 GIT binary patch literal 1691 zcma)6U2hvj6g@L*JNDMacA8Sh4W*??>!zifgaRQkNX4k?MsAQuiB#ojvYDov?9N8J zvsQVFc;JWd3=fEhN+6-AkNlGU3dEiD2kv5MSF4$OXYW08?zuDj=U>150pK3KV7TZ- zp(CG*@FbAVP87;+Ad+MTjG=xc`oal>I&{9?Ka!rFfyGej_{!ImX|-?dR#8OBMgcPn z1^vuV7%uguB5pEV@m1g}`5;xE_9NAOM#%DD$3Ij;r?Jcsw-~N3`ioB&-xSMSikuqc zno>fkv@pA5s1)1&Z`6Fkbe`WTZ$S8e8BRnkoy2}$Xz9M8>g9~tTLzaq9%-2Azcf|n z#cmXy2t}2TdUlCnwcR_8G$lGm{m}81ma!6n^Obxm(m;13mFPJ2bQC`l@v)3I2aTP# z(L{@(mV;!tIlagEy*H~^zq4f(7|9^MLMt9!!VZ%*%d)5Ex>xk&=`Fi_klhD46UKQS*>~a#z>t_cS+3D5F8ed@> ztny{?<&Py^=UbJ!)#59KhcAC9lU*dcG_+?X*2{zS@5^SZHD(H^j_>B(W6f~+n^b8( zq{G$s6MsLD_y3WT;ryt~OdGnI-ROX1to7*nZKvVBj2{ciVVLbjo(OhD>>Gc$Sap?> zarPgObfN8?D2+Y&z&8o=!+m%EwJTPs&jr$_h$P};L;o5Y*9pO)nPfq6`31_qWRRcHXg#YS$!p+T zwqlaki2$d$V09`#)66l-I`ij&at9IK;-vqtqu*I4)o(A;BP|NGV8dh>)^C?!-_hGoEPdMC~qO z(GTGdSRt`MQI~ua;yNK9wJczBALsg9TlXG+|MB%3fXCQiSdG#okjEnF#xgia6B)+B zn3XV1xqR!r_C(f^+3rTe2X{Bktweu{ z?~+lKVe|jGG0aQ|d(w)Qu!7#ilfFlzV$S590R!t0eym)!MNw;;;bb_N_xU3Cd1W~8 zdC>($@?P=m)LR@5cK8;1UMTXjPkCP9`_mO~nQ!IZo}Jbm;tvM|O&id@t7J>#1Goeqs4ya5Cd82+k>}(cx#Y<7VaQ$`gJXg#;|iv!=HUTl{)lu3cd>*u z$~o>~oqR}mna)<4@T!=pVz!Do%u|SkD)qe91T$E~QWHf3-(cAwZ*YAS+%ULlaO)@P Ckmg?i literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/previous-classpath/0/com/example/SomeClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/classes/previous-classpath/0/com/example/SomeClass.class new file mode 100644 index 0000000000000000000000000000000000000000..1ecc638ce5840ef3b5eb76778a1b4bd17aac3eaf GIT binary patch literal 1655 zcma)6OHUL*5dM1h!7#4wE}*=8y9nZA0N+APbPaLMiiseJ!Amo=*f7&WW_mVyBOd%A zp1l|kCYl)H(H~{3o?Vb#S7kTps_L%#s_Lum`SJ71Hvrdgo8hPz2CjI`gDqdUi(w$D zK9A!bFox0wZ*bS=YTbRZx*gA7A{PAaMIGGrz$EEkYN-a!^U3|ak3#teh?u86Y? zC#CYG67z}jvxJWaVY$f4~ir~XuifZr?ghkFj<&c@(gT~wq8qPO_8=X&G2Gp zd%&@VEXOMCY&({16q{srXlMJhJ!4I=JIubH`~E&}m8?g-rOb#mm3{dAolSafpPt{R z_cZmlw#hNWOp}GZ$9H8@GmJh>l$HVAp@xj*sxR*SW{u(SZhtK*vej^n7%A52eJv!x zs)&|2#W3{MLy!B*Jd(z4Z5C=ui70*Of?lk%7$%V?=A{W3ZslG6BP*t9oLM3!hhZ~a zs(IRwM)DNNVVuSh(q~AwaE9!&9rn34djyp>+u+d0gx0Hs;F2U-kemDr`(p}ujaG9E zWN@9+@mQA!hgjP}g`a9RR+?x7S9gi>rn zDgA*`J`hT&4W+LGr4RiFLMgYQ40NE_IJ!sb5HV+dg|8TV&OT%06HXd#4Wl<`b%?h? zVr7(ucav-jQ^X}OPy1suobxNl)G%JdM2!Y~fmBS^a1obQz+zm+l@;{HaALSI@-d33 MawtYQMt_XaU(S|m6aWAK literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/current-classpath/0/com/example/SomeClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/current-classpath/0/com/example/SomeClass.kt new file mode 100644 index 00000000000..ff89ebe398a --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/current-classpath/0/com/example/SomeClass.kt @@ -0,0 +1,18 @@ +package com.example + +class SomeClass { + + // Constants are not allowed in a class, only allowed at the top level or in an object. + + companion object CompanionObject { + const val constantChangedType: Long = 0 + const val constantChangedValue: Int = 1000 + const val constantUnchanged: Int = 0 + private const val privateConstantChangedType: Long = 0 + } + + inline fun inlineFunctionChangedSignature(): Long = 0 + inline fun inlineFunctionChangedImplementation(): Int = 1000 + inline fun inlineFunctionChangedUnchanged(): Int = 0 + private inline fun privateInlineFunctionChangedSignature(): Long = 0 +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/previous-classpath/0/com/example/SomeClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/previous-classpath/0/com/example/SomeClass.kt new file mode 100644 index 00000000000..84da29aefb4 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testConstantsAndInlineFunctions_KotlinOnly/src/previous-classpath/0/com/example/SomeClass.kt @@ -0,0 +1,18 @@ +package com.example + +class SomeClass { + + // Constants are not allowed in a class, only allowed at the top level or in an object. + + companion object CompanionObject { + const val constantChangedType: Int = 0 + const val constantChangedValue: Int = 0 + const val constantUnchanged: Int = 0 + private const val privateConstantChangedType: Int = 0 + } + + inline fun inlineFunctionChangedSignature(): Int = 0 + inline fun inlineFunctionChangedImplementation(): Int = 0 + inline fun inlineFunctionChangedUnchanged(): Int = 0 + private inline fun privateInlineFunctionChangedSignature(): Int = 0 +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/FileFacadeKt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/FileFacadeKt.class new file mode 100644 index 0000000000000000000000000000000000000000..dc23290d977a1ac72a07e4bc55b88c1e3240d148 GIT binary patch literal 579 zcmZut&rj4q7=7QgbW35S$RcdTAK|1IyAV%cOpJ!45r0GtG1=2>JCI@9>1I1i@WzQh zgfkaBaxjFWf0Xf?)kri>GT(diz1MI0=KGJ!ZvdX+Az?MIt5hA!YE-IpN0(|x=CV+) zZ3{$*59N_eOKA?$cY{NfbJruR94PyKT#wY)e#y+uM+EQD0=~*XHjD;j_HdM%(ApVS9wd-C=FHmA+9{7ShUXf~bx>4nVF1u7E&8M+A$<+OZz9 zVuR4TI*B6QA`T-FdPxxbiRjUKC%!syKA-2#qs_XT*yimPT}(mXKBK^0 uJYd{n(=EP!p${)ZoMAD;Z7gNzU^&Abtn@(*R?+Qara`Mg(l`<{nEMHyZ)*<# literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass.class new file mode 100644 index 0000000000000000000000000000000000000000..1da67a8a1f45a3cb7ea761efe5f00901d7fc0b56 GIT binary patch literal 676 zcmb7=%}xR_6opR#L2(rDe-IUQBMUP^+_^HWCW0Dc+^`@83MtHV2-6|>PCkHf;RE~5sm zS_W!H-oomXvKITO{L4YbILKI7H`-a`7C5L_*ql;Z47u7M(4JIIU1;9nnqM)*{BfM} zWu_!e0RtPDAwicDX{HOBIuuo+8gv9hrY4oRjr^7vJ@S@EC-y_6wDiT33?&_0D-~#N z0trz@3<)Dk)i#-tevx(s>SiTgk$$1ha7@+Qn%OqFQ7_W&8@V=*q!eb!jd>&`F-vaG lk_;#GZ;99)a=qI?+{K;?+eIGxE*Uy-afqV^Vj)r?GGE*fi}?Tm literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass__MultifileClass1Kt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass__MultifileClass1Kt.class new file mode 100644 index 0000000000000000000000000000000000000000..2be0b1d8c32e1c1f5d37746577b6a474e19a8505 GIT binary patch literal 659 zcmZ`$O=}cE5Pj7%J3AQ@Gl_}1O}+>)6i9~t6o34UjO{{{Re=@*dRQ}>oQeSS&j>p?lgtf2f9#O zg*0Y=|KIcGYug49;v;!1(?V8<>D$4P%DL(hx`)cXo77`9v7fSP?k2&zcRwR^#uqav zTSOb-0t6PAdC*k3)phkBt?+4H=t|pXGud6j%J!(XTuOJ8l|yOe6M`s@Jsy%=2wVVx zMh>*NIn@sJ7!5ZGy|a@j;w|DZ5}}s_v7d+@ZLGy-Cl2hLe|~xXB?y_5_@Rh-Trqq^ zPEt$_A-UK@!s?tC4@Z{ZZ`DIZSl-r^def8xHTft91y`aEbu-D;EB*vF;eAtCU8-Ge zGU0Cfw%ex-NEb=`S<+!xY{; z&*?5=iTh4*iMLzyb(RF~a2B|UyPTgh=`u?$_u*xTGpuA-#gz*(~+ RGH4ql#(}`_Lv9#!e*@<*h&liO literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass__MultifileClass2Kt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/MultifileClass__MultifileClass2Kt.class new file mode 100644 index 0000000000000000000000000000000000000000..da749ca4a26413b284d7a5074c91fcc541b17413 GIT binary patch literal 659 zcmZ`$O=}cE5Pj7%J3AQ@Gl_}1O}+>)6i9~t6o34UjO{{{Re=@*dRQ}>oQeSS&j>p?lgtf2f9#O zg*0Y=|KIcGYug49;v;!1(?V8<>D$4P%DL(hx`)cXo77`9v7fSP?k2&zcRwR^#uqav zTSOb-0t6PAdC*k3)phkBt?+4H=t|pXGud6j%J!(XTuOJ8l|yOe6M`s@Jsy%=2wVVx zMh>*NIn@sJ7!4m0dS@q5#9PE+BtkCU0Cfw%ex-NEb=`S<+!xY{; z&*?5=iTh4*iMLzyb(RF~a2B|UyPTgh=`u?$_u*xTGpuA-#gz*(~+ RGH4ql#(}`_Lv9#!e*^HEh(7=T literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass$CompanionObject.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass$CompanionObject.class new file mode 100644 index 0000000000000000000000000000000000000000..38b325b278c6791ee430a52ce45a5f2a7f92a14d GIT binary patch literal 1088 zcmb7?&rcIU6vw|a+aJqPVfi6Y#NQPtA`8SD#zad@Y6==OjR^-cECVjxoo#lf1aCd@ zhj{klN#nsZ9Q~t=Z%V-i#pvbzoX@;B^WOI#U%vr(h((4uKaMFYcggL@zjg%=97@0~?0hTNk-1^O|AHD9h5kVVcx26={zeix(+ z<=Q{iSYw#km-=NAH)W#VSJj0cx)rJnlb76=#}$TI;ro*M|Jy|+zgfUA3J!+gG8Fe( z%GdPNKU7?quQg&F2Fg1)jJ!Z;nJ5u@>vB)DLS2bfs*{$l<77i54VkQ!>khbi{8-8V zm3$j@vkXiBcN@dV8L%O>*cDpPC-LaeqWLi+az=oGH7I@*7;l-Z-4%w-PJ7(pQ{3Th zr|odt7&d9kJ~_6gI_*`y%%0|Le)1v5UH&}h=BN2`W^3HFjDB-+yiOV0>9nUacGk_A zTUVK>Rcu~9q2b?VHq^IOOASqHQHggY!*DH7axYbfRh-5uT10tR%6>DJznPP>ekTG9FlAE2RzGunv%wLht zE_{ali42Z8k|qu0F;B8^dH@4($Q!|6H)7zW9-R4tk&oo}vvwbwIcG=D*~K2qt&8M9 zAIVQiTFNZOh%i+jkmjUK%j2eH)&(X`gS}Fe##KyE&O({aI9+H6B^0qhKF2-WCtacV wB%PhwhE+weis>q@VTMdxui^%7ZiA(`h1=V(Q#dK^q{yYX+cgGL6jF@-1iJ3+9{>OV literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass$NestedClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/current-classpath/0/com/example/NormalClass$NestedClass.class new file mode 100644 index 0000000000000000000000000000000000000000..cca4f9c56fd10f34aa65b1c1efacb6301b001a8b GIT binary patch literal 843 zcma)3U279T6g@MWY|>5AZenWF_-$LQA|@@qDS}4Cl^CT;5b`uh#=6aZgq=yLZ+Y^E z`0R@y2tG*Yqd!W#vjmBuf-m=;`*H4_IrrzU?>_+C!!ESh3z1N979IG_Z7oV z`#K&h z7gCF%(1KR-@Yo_1m@&37U|=K4pZF$f5*qF?Jey6c4zF>CyR)go^9JO}TeaDApEud# z?CB?)yZpKB=IXqeIjFjp@o!H*KA}q9nN91NeAcziynSZ2Z2Uu$94<2y{`&mt!b$Fq zH0j!khmv8f?MJdR3Hvg6Bl-blD(!e6g04t>6VH=HFN$Q69#PUYoY(Or8OW!;A#5H@ zBJGE=>nooakD@5n!f2Jtt4n<`YD8Eep3imS=7s;hF$>l%fJM+!lT4t^;F!_9~g&msj5QpOmu3{56(tX!( xlYEQv75de=9xM-459=PzV}l@S9`)9HU z_Qgv=qKRpE^hX)bv?!%Q)1KSRIo~uH{^2HeX+GCe4RmpA-x>PKtEaz~r2*5+U@!aO>8#_I%rx4PoUFHVf~eE%306Txy*nymt617C5(P^@?n)u zY^QcKkhD{|w5htl3|4zdC@r?@i%4@^Mt#$*3}zWRoAzmTUo#A@SEUZh!jlJq3bsP= zm9DhY3t>f+u8>veRv1#4 F`2(AB7#{!t literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass$CompanionObject.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass$CompanionObject.class new file mode 100644 index 0000000000000000000000000000000000000000..3a0c26ee9e54ddd158a30b813861b64adacbf21f GIT binary patch literal 769 zcmb7BU279T6g_t~P2w8cwAHrp`y*l_*lkMRDuPCYKw7~{Uiu)D&8U;?&XnCr=wqJz zA^roO1Ro^y(H|w=Sz8oA(3ksh&OP&S?zit>z5>|AeZqs-rja_4>2ac>1DmBX=_E4G zn;n}TOQWrMIT)$fRX~LLNKR#xNb@c_M*~9nu{PR0Aq1PPehmvKhbW;!D7p7KC$xJ1 zc*h>0z1bUEmuM4>rfH;&Q<;%T^jy7_lf-qb$z3*yoz3=THdfhQs~F4$L24yBX)CXr49wu^iy`v3xs89&j!+vaN6CN$@>Fccdi6m_oVv+C)G zU}HYp5!>{vQWd8k%c3s)><;-8*8gHk1=k2mf4EOr{B1W|W5?!p>`?J!PaAbGNe3!> zEe8oBD?J;_q%Sk=`!lfCHAZE{W)-g_JhYQ6Rxh*{G+s@N)2Zs~T(jb-G1f`Po6pf^ zb4&imoQ2;kKl~PVk+*>J!o$y~ek$nO96ik-?r^M~)fW%~bz<})BVPQ7v+#2)u6Z#P zg0-I@3W29_35(1HxXWEwh_2%X8o0;3z)dtc?=rr`v-KkcT`YI8(#0w+bBQZmtYQ5K Qlw$)8=5vHOuI4EJ0NyFD;s5{u literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass$NestedClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass$NestedClass.class new file mode 100644 index 0000000000000000000000000000000000000000..176eeee072769155de3b37365971d81ec9ad3dc9 GIT binary patch literal 564 zcma)2O-my|6s*@{COT#{en;JPS5{&5;HY?01QmpV7-4tG#ZxC~+%_{k%XCLP=C}9{ zJP95oc=Sh!uhoMWK^m&7s^4qgtH-CidjLCFCj4yYS*)&P_CHl|BQG+U9;MRSm4>oT zbzXQGM5tcKOBtuqoX4lF3)OaI1cY!;8}0T9!LPMu1to+LhEOI9xqsRcR_mYmf0r;( z@8&MmCO%P4cBGT+iR?1qG08*d0R-x@f2FJZP4Eqn{-%u zxDG{C_^NI4y>lOoQpOx%^xeLMv3E&qbRDmAly?+iysnLE^s<&J{>oO$&SX7r%d{yA z?e&{kNsLj&OLmGwi2mfgqOFd#Z0q!hKayeM*j>9;~Qh;wE!cCSOr*OjMx*XVV=)-)&dLo!S@dPqx^m43_*e~ c3C0qPqskN$2_`Xh2C|sO48L1M7PA)NGgk_Ea{vGU literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testDifferentClassKinds_KotlinOnly/classes/previous-classpath/0/com/example/NormalClass.class new file mode 100644 index 0000000000000000000000000000000000000000..2371ba43a7561a6b1b7a313cd6abfdd86ae7d7b3 GIT binary patch literal 889 zcmZ`%TWb?R6#iy6w{Ev>5-&}x+S-dv>SdeaQ&R+u2!S+$NiML<~f61Dz{uDk#dkgnjv96NzG7f%&A#r$Q*V3 zS@!OnsO?%9oN^^Yb=lKpsFWIm&`_$^9|fLNMnsDH-YfBu4}DV$l{V3^Yr^Q5M*|U6 zFMusOSi%a!%C(XV<#`ydcdxq0A-@0%HyE}WVRYj4h3Q0GD(!KlLcq?1e3Q5pwaNdQ(s4HH} zIH5S})B3LqDnxN&%1be3oQ8WyR*Lj3(iUlYXe4*Z@<`MCNba2@^JRKnA{k!;Hp(R3 zivTRZAuEH$zsUuPh(Gr`mOij^WWVBOTqDlhBbldWOZ4YZ#5URiaKGn?!g;7Y8Pua@#p6m{-Bmg~ zxEJj+KH&AJC;Blx3C6HF{_GE#&EOo$K?HB_ z=vXPsh{_CGKeqbS9Zk&tYu(+hCbyNaEg0r&G7y)M-xU2D-t>sc)WR0`8oVz}{!O~| zFzUC&sWgh*brfjni-uH^B*#GzYOZA%D3oB)XMS5Xe@m9LlopJ2x)VFkn0lhXLXOas z0UN7?$u9w>;l}l~7+0`P_deBTs9o|Fb``T#%vCXu6op7vk-@?(n8G5KsIK5DEGsyl D;^~hG literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.class new file mode 100644 index 0000000000000000000000000000000000000000..cf12163052511e84cb3dc49921f435aea3ca07b5 GIT binary patch literal 605 zcma)2%T7Wu6rA2G7ro*OU*Kb9Ow@%u)Ro3WNlb{Si5NDn3RG#h4?>G!$+!3iu1s7Q z;?j>Yo?aor1<^&P=gdsoGyVK}dk1icO@@P7=x0Qi`z=poE<^3fpxmhzJg(HuL!rTg zM^PWrEzypII2gm$=)ti@o54Aefz+oA_Rel4ffyVY6NocR=!R4bN2Sr5hHw2b!ZE`_ zsTqx%xe}V!x#q-K{*z6~m;uKC7+90|t~6bis(OxLv)^-FD`iEi-%Is-c`M7#V;|3s zHE$VHo?-jfTw@Z_n|uEpdB3SCb0Mq?hPjdq#C6B7iuN6^dc-74VU2qg-j=2xkZw8b zv}@u*8b|uJ6KLs+id2#;XF(8Zu4Nb~>^HK&~A_iS>(3^)eBz&ezFl!lckYV9%P2YuJIvR3j2{p_H>Zix;F zW-TMyXW00$&Y!kuV&VTicRQN=mBW@`n5oJ@T*ZDvM7O-*QD(jxHn~^lku-dmbZcQ8 zHN}}Uirh^cXz7c(RFWhoK@e)LWf&;z!J_jGJ(_Eh*DTSZ@l1be`vv3A6j;a+nlfNx zl`!)yzy#c+zLww$*6BZ>+9b8h+`+D3s)FeXW-v=3<|>%S!X22xB9^GG;3_ODIA6v* BhV}pe diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.class deleted file mode 100644 index 7b930ba928ff35016597f10b31541990b484fc60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmah_O-n*S6g~4^zUpPEeQM=Of{M_Lc12J^AX!0%8&{)FHTXWn8N;Q&rGL;WXc5w~ z9~IqsB^V(s=FGk4p1Jp)`S^T&18|5e!(KD=3!=~cjwcEiq4s1@?KMgsSL*t1ly^io zVy3|ua^o*b4?MURt-nH>!8w+J)F%w~_D(I17#tT?IOJCHak|a3|f>3iU!$6@3i$3wkr}m+t diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.class new file mode 100644 index 0000000000000000000000000000000000000000..92752f759463df6e59bd5c7b25fe0b5df1a9e605 GIT binary patch literal 595 zcma)2%T5A85UkmiRaaEN7x*|BFX%xYdefLFi3y6Dh~eUCfKevwgD|tiBj4g5crx)| zh(|xl*t2@TL=z8F(_LND-8JtYFRuXhvB6Mkg?>RiaKGn?!g;7Y8Pua@#p6m{-Bmg~ zxEJj+KH&AJC;Blx3C6HF{_GE#&EOo$K?HB_ z=vXPsh{_CGKeqbS9Zk&tYu(+hCbyNaEg0r&G7y)M-xU2D-t>sc)WR0`8oVz}{!O~| zFzUC&sWgh*brfjni-uH^B*#GzYOZA%D3oB)XMS5Xe@m9LlopJ2x)VFkn0lhXLXOas z0UN7?$u9w>;l}l~7+0`P_deBTs9o|Fb``T#%vCXu6op7vk-@?(n8G5KsIK5DEGsyl D;^~hG literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.class new file mode 100644 index 0000000000000000000000000000000000000000..cf12163052511e84cb3dc49921f435aea3ca07b5 GIT binary patch literal 605 zcma)2%T7Wu6rA2G7ro*OU*Kb9Ow@%u)Ro3WNlb{Si5NDn3RG#h4?>G!$+!3iu1s7Q z;?j>Yo?aor1<^&P=gdsoGyVK}dk1icO@@P7=x0Qi`z=poE<^3fpxmhzJg(HuL!rTg zM^PWrEzypII2gm$=)ti@o54Aefz+oA_Rel4ffyVY6NocR=!R4bN2Sr5hHw2b!ZE`_ zsTqx%xe}V!x#q-K{*z6~m;uKC7+90|t~6bis(OxLv)^-FD`iEi-%Is-c`M7#V;|3s zHE$VHo?-jfTw@Z_n|uEpdB3SCb0Mq?hPjdq#C6B7iuN6^dc-74VU2qg-j=2xkZw8b zv}@u*8b|uJ6KLs+id2#;XF(8Zu4Nb~>^HK&~A_iS>(3^)eBz&ezFl!lckYV9%P2YuJIvR3j2{p_H>Zix;F zW-TMyXW00$&Y!kuV&VTicRQN=mBW@`n5oJ@T*ZDvM7O-*QD(jxHn~^lku-dmbZcQ8 zHN}}Uirh^cXz7c(RFWhoK@e)LWf&;z!J_jGJ(_Eh*DTSZ@l1be`vv3A6j;a+nlfNx zl`!)yzy#c+zLww$*6BZ>+9b8h+`+D3s)FeXW-v=3<|>%S!X22xB9^GG;3_ODIA6v* BhV}pe diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/classes/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.class deleted file mode 100644 index 7b930ba928ff35016597f10b31541990b484fc60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmah_O-n*S6g~4^zUpPEeQM=Of{M_Lc12J^AX!0%8&{)FHTXWn8N;Q&rGL;WXc5w~ z9~IqsB^V(s=FGk4p1Jp)`S^T&18|5e!(KD=3!=~cjwcEiq4s1@?KMgsSL*t1ly^io zVy3|ua^o*b4?MURt-nH>!8w+J)F%w~_D(I17#tT?IOJCHak|a3|f>3iU!$6@3i$3wkr}m+t diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java new file mode 100644 index 00000000000..deebf7ca072 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java @@ -0,0 +1,4 @@ +package com.example; + +public class JavaSubClassOfChangedJavaSuperClass extends ChangedJavaSuperClass { +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java new file mode 100644 index 00000000000..84b61f687a3 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java @@ -0,0 +1,4 @@ +package com.example; + +public class JavaSubClassOfChangedKotlinSuperClass extends ChangedKotlinSuperClass { +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java deleted file mode 100644 index 595bf203e9a..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class JavaSubClassOfJavaSuperClass extends ChangedJavaSuperClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java deleted file mode 100644 index c8a1fba1a32..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class JavaSubClassOfKotlinSuperClass extends ChangedKotlinSuperClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt new file mode 100644 index 00000000000..3aa9b4c963b --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt @@ -0,0 +1,3 @@ +package com.example + +class KotlinSubClassOfChangedJavaSuperClass : ChangedJavaSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt new file mode 100644 index 00000000000..a73db0990e1 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt @@ -0,0 +1,3 @@ +package com.example + +class KotlinSubClassOfChangedKotlinSuperClass : ChangedKotlinSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt deleted file mode 100644 index 2f672bf834a..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -class KotlinSubClassOfJavaSuperClass : ChangedJavaSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt deleted file mode 100644 index 30ada7218e5..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/current-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -class KotlinSubClassOfKotlinSuperClass : ChangedKotlinSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java new file mode 100644 index 00000000000..deebf7ca072 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedJavaSuperClass.java @@ -0,0 +1,4 @@ +package com.example; + +public class JavaSubClassOfChangedJavaSuperClass extends ChangedJavaSuperClass { +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java new file mode 100644 index 00000000000..84b61f687a3 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfChangedKotlinSuperClass.java @@ -0,0 +1,4 @@ +package com.example; + +public class JavaSubClassOfChangedKotlinSuperClass extends ChangedKotlinSuperClass { +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java deleted file mode 100644 index 595bf203e9a..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfJavaSuperClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class JavaSubClassOfJavaSuperClass extends ChangedJavaSuperClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java deleted file mode 100644 index c8a1fba1a32..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/JavaSubClassOfKotlinSuperClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class JavaSubClassOfKotlinSuperClass extends ChangedKotlinSuperClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt new file mode 100644 index 00000000000..3aa9b4c963b --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedJavaSuperClass.kt @@ -0,0 +1,3 @@ +package com.example + +class KotlinSubClassOfChangedJavaSuperClass : ChangedJavaSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt new file mode 100644 index 00000000000..a73db0990e1 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfChangedKotlinSuperClass.kt @@ -0,0 +1,3 @@ +package com.example + +class KotlinSubClassOfChangedKotlinSuperClass : ChangedKotlinSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt deleted file mode 100644 index 2f672bf834a..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfJavaSuperClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -class KotlinSubClassOfJavaSuperClass : ChangedJavaSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt deleted file mode 100644 index 30ada7218e5..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinAndJava/src/previous-classpath/0/com/example/KotlinSubClassOfKotlinSuperClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -class KotlinSubClassOfKotlinSuperClass : ChangedKotlinSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/current-classpath/0/com/example/ChangedSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/current-classpath/0/com/example/ChangedSuperClass.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/current-classpath/0/com/example/ChangedSuperClass.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/current-classpath/0/com/example/ChangedSuperClass.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/current-classpath/0/com/example/SubClassOfChangedSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/current-classpath/0/com/example/SubClassOfChangedSuperClass.class new file mode 100644 index 0000000000000000000000000000000000000000..a48c1ec99299b5dd303172f4d56d995b7092d3d3 GIT binary patch literal 559 zcmaJ-Jx>Bb5Pf?Gr=BR_2ZD;mO0n>i&}mGR#DoMj5ko_@z^WVWgRpzXlHcM#urjeQ z#L^#SoJ9+a#$w;jym^_KH}4-WuK+42GHiFEz!MKV==;KJ#O=|O&PGUN|^c* xUHD9luMR~J1~{rUCw4&Vsu3_G1P_C%k@y-0Y?yiKPOaiy;B8;?AB5MeX# ziL9W;!5B72^nZ(O2IoX3QlB!|TidNNN^o3^VVq%1KT5^08;nf*=k;TTTF^~(Bopsa zXdZISiL>G-o4hasjsY;RF7bV7s(s4B1BUhCz;&&MDTudAw1_zL4o~*+t!N{`Nl~IXNn1_LpL7stu zK?g`P0%<1ZHIpluq{W#SI2pJ=djDaW7;q@5?PX3~=6C}!X)W{@prU@Kd@dEcx)&bI1~xpA*O)pWEV%mHjPl=DOZf96n_8! diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/previous-classpath/0/com/example/SubClassOfChangedSuperClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOnly/classes/previous-classpath/0/com/example/SubClassOfChangedSuperClass.class new file mode 100644 index 0000000000000000000000000000000000000000..a48c1ec99299b5dd303172f4d56d995b7092d3d3 GIT binary patch literal 559 zcmaJ-Jx>Bb5Pf?Gr=BR_2ZD;mO0n>i&}mGR#DoMj5ko_@z^WVWgRpzXlHcM#urjeQ z#L^#SoJ9+a#$w;jym^_KH}4-WuK+42GHiFEz!MKV==;KJ#O=|O&PGUN|^c* xUHD9luMR~J1~{rUCw4&Vsu3_G1P_C%k@y-0Y?yiKPOaiy;B8;?AB5MeX# ziL9W;!5B72^nZ(O2IoX3QlB!|TidNNN^o3^VVq%1KT5^08;nf*=k;TTTF^~(Bopsa zXdZISiL>G-o4hasjsY;RF7bV7s(s4B1BUhCz;&&Ul>vFv`qu+Yp?Z#C;#ixOkyT0dXY@b& zG%vOEb2ilExE}TeL#8PMaUc0zF@EG-k1E+_*yCQCkEO{MMYk13(2w#WG5U7IhhFo4wPqsY&7AerGd9!}jB; z&rtM4AqL^#ftyW%vL9 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/previous-classpath/0/com/example/SubClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/classes/kotlin/previous-classpath/0/com/example/SubClass.class deleted file mode 100644 index e44be6b6684a739750d9e83388bcd4e81c3d77ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmZWlO-n*S6g~5vKJ95)W~P-yyK0dp?uwvUl>vFv`qu+Yp?Z#C;#ixOkyT0dXY@b& zG%vOEb2ilExE}TeL#8PMaUc0zF@EG-k1E+_*yCQCkEO{MMYk13(2w#WG5U7IhhFo4wPqsY&7AerGd9!}jB; z&rtM4AqL^#ftyW%vL9 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubClass.java deleted file mode 100644 index de38b92e226..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class SubClass extends ChangedSuperClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubSubClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubSubClass.java deleted file mode 100644 index 18625821e9d..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/current-classpath/0/com/example/SubSubClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class SubSubClass extends SubClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubClass.java deleted file mode 100644 index de38b92e226..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class SubClass extends ChangedSuperClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubSubClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubSubClass.java deleted file mode 100644 index 18625821e9d..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/java/previous-classpath/0/com/example/SubSubClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.example; - -public class SubSubClass extends SubClass { -} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubClass.kt deleted file mode 100644 index b6a8eb3f92f..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -open class SubClass : ChangedSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubSubClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubSubClass.kt deleted file mode 100644 index 4eeefec81f4..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/current-classpath/0/com/example/SubSubClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -class SubSubClass : SubClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubClass.kt deleted file mode 100644 index b6a8eb3f92f..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -open class SubClass : ChangedSuperClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubSubClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubSubClass.kt deleted file mode 100644 index 4eeefec81f4..00000000000 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testImpactAnalysis_KotlinOrJava/src/kotlin/previous-classpath/0/com/example/SubSubClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.example - -class SubSubClass : SubClass() \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/AddedClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/AddedClass.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/AddedClass.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/AddedClass.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/UnchangedClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/UnchangedClass.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/UnchangedClass.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/current-classpath/0/com/example/UnchangedClass.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/RemovedClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/RemovedClass.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/RemovedClass.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/RemovedClass.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/UnchangedClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/UnchangedClass.class similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/UnchangedClass.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/classes/kotlin/previous-classpath/0/com/example/UnchangedClass.class diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/AddedClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/AddedClass.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/AddedClass.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/AddedClass.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/ModifiedClassChangedMembers.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/ModifiedClassChangedMembers.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/ModifiedClassChangedMembers.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/ModifiedClassChangedMembers.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/ModifiedClassUnchangedMembers.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/ModifiedClassUnchangedMembers.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/ModifiedClassUnchangedMembers.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/ModifiedClassUnchangedMembers.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/UnchangedClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/UnchangedClass.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/current-classpath/0/com/example/UnchangedClass.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/current-classpath/0/com/example/UnchangedClass.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/ModifiedClassChangedMembers.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/ModifiedClassChangedMembers.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/ModifiedClassChangedMembers.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/ModifiedClassChangedMembers.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/RemovedClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/RemovedClass.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/RemovedClass.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/RemovedClass.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/UnchangedClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/UnchangedClass.java similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/java/previous-classpath/0/com/example/UnchangedClass.java rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/java/previous-classpath/0/com/example/UnchangedClass.java diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/AddedClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/AddedClass.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/AddedClass.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/AddedClass.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/ModifiedClassChangedMembers.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/ModifiedClassUnchangedMembers.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/UnchangedClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/UnchangedClass.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/UnchangedClass.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/current-classpath/0/com/example/UnchangedClass.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/ModifiedClassChangedMembers.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/ModifiedClassUnchangedMembers.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/RemovedClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/RemovedClass.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/RemovedClass.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/RemovedClass.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/UnchangedClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/UnchangedClass.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/UnchangedClass.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testModifiedAddedRemovedElements/src/kotlin/previous-classpath/0/com/example/UnchangedClass.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/current-classpath/0/com/example/TopLevelMembers2Kt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/current-classpath/0/com/example/TopLevelMembers2Kt.class new file mode 100644 index 0000000000000000000000000000000000000000..792045bc22bb2b34622922d246e83d0bcb0eff54 GIT binary patch literal 519 zcmZutO-md>5Pj7%?vCTv`0Z|@f+xK=DuRcEKv0Ci-6SL;!k&6}8fkZCdfDk+^ybMQ z;@L}b^dRCfKPp(g#EV$a{i1)@IzUisHy(V~@TM1z?e?LpfB&rC; zAuvt|K6f%*X!~Wl?8i*H2*bf8~@bW24_A5LjgtsAG-sfQzPh>~srWf|&$Sf?3QZ an8!kbMJ%;IC6=+$f?uLqqE=$8MCAoA!)I0i literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/TopLevelDeclarationsKt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/current-classpath/0/com/example/TopLevelMembersKt.class similarity index 50% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/TopLevelDeclarationsKt.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/current-classpath/0/com/example/TopLevelMembersKt.class index 8d600b33fbfb5b6adb29d65971c28c6ad211f578..b8f01d0ac158ce2a886907afed5418ed1f095e85 100644 GIT binary patch delta 69 zcmZ3@wUA5w)W2Q(7#J8#7z`L0WRvrA^;0Vna|?1(^+WOtd{WC&b9_^ClTwQ|>hv@5 O3zeXVZ9dNw!vp|C3>azv delta 79 zcmZ3;wVF%k)W2Q(7#J8#7z`L0l#=sv^;0Vna|?1(^+WOtd{WC&b6irBa}tXZOEUBG THmdhCiHMhAN^CyL6vG4nSD+k= diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/previous-classpath/0/com/example/TopLevelMembers2Kt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/previous-classpath/0/com/example/TopLevelMembers2Kt.class new file mode 100644 index 0000000000000000000000000000000000000000..6798971ec92bee0738bc75dbaec61d6536f25784 GIT binary patch literal 396 zcmZ8cO;5r=6r9~c(fUCVQOm)zUMvuAo{R}eBWR+83#X;sm`b}#=(gd=U-Ig~aP~(T z-;#LoGV|U{CU4&N&*v9_TLcW3vCc!e7Wp!h;Y2S-vXa?Y=5x6!29Krz#^Aq;N`#qE zZ{hR&UB;w344qt8GWm-POBI_`D+cH4ddkomEwsr}6^^A5i7?`hf#;P&cbNs(0vOoB z4xG$&YNsAeNuQy;-MHR%<8hyNU4Ogj@*Xwe$$;5Z+x%;KvoH*`2c1ZU<|tM2skARl z#5^O#d)4JCmc!I8!Aq%3n#*Zgq~zW!rH!!F3-rNJv%TmmP240|Ep#2L^-%!5* literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/TopLevelDeclarationsKt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/previous-classpath/0/com/example/TopLevelMembersKt.class similarity index 52% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/TopLevelDeclarationsKt.class rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/classes/previous-classpath/0/com/example/TopLevelMembersKt.class index 6861ef5b5453e0fa1945a531797664a74da36286..cbe28b8da1d504f0704a3fbe3df1079624975041 100644 GIT binary patch delta 69 zcmdnXxtUY_)W2Q(7#J8#81xt!WRvrA^;0Vna|?1(^+WOtd{WC&b9_^ClTwQ|>f|x; O3zeXVZC=O3&jbKSlNb8{ delta 79 zcmdnYxtCMt)W2Q(7#J8#81xt!l#=sv^;0Vna|?1(^+WOtd{WC&b6irBa}tXZOEUBG THmc__iHMhAN^D-j#Lol(T*4e2 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/topLevelDeclarations.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/current-classpath/0/com/example/topLevelMembers.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/topLevelDeclarations.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/current-classpath/0/com/example/topLevelMembers.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/topLevelDeclarations2.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/current-classpath/0/com/example/topLevelMembers2.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/current-classpath/0/com/example/topLevelDeclarations2.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/current-classpath/0/com/example/topLevelMembers2.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/topLevelDeclarations.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/previous-classpath/0/com/example/topLevelMembers.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/topLevelDeclarations.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/previous-classpath/0/com/example/topLevelMembers.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/topLevelDeclarations2.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/previous-classpath/0/com/example/topLevelMembers2.kt similarity index 100% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/src/kotlin/previous-classpath/0/com/example/topLevelDeclarations2.kt rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testTopLevelMembers_KotlinOnly/src/previous-classpath/0/com/example/topLevelMembers2.kt diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/TopLevelDeclarations2Kt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/current-classpath/0/com/example/TopLevelDeclarations2Kt.class deleted file mode 100644 index 09cfd7db1804790ee06cb51dcbd514da2c95bce7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 529 zcmZutO>fgc5Ph?D6W8>^g%*3I)zU|+AZv>p{_<@L6g2?vBjcVD4)V~~Ag8#u} zim=?*rTRQ6hN?P|!!A5BWD3w5e%&Dr;5Y3%(UqQ^4**}@&C+O3Q> z=Fs4G*E!l?bmsp+c+E)6u*ezfas4AK{Ht7aWo&da1A$FOfeyA9UvtqSk6jwTOR$_E fO0a^*37%jz!5W?pKsBDBHGp5ES)*NJu14c8u6b*G diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/TopLevelDeclarations2Kt.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathChangesComputerTest/testVariousAbiChanges/classes/kotlin/previous-classpath/0/com/example/TopLevelDeclarations2Kt.class deleted file mode 100644 index 85e27bc6caaf84340ad5ec9bc6fe16e26510ed55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmZusO;5r=6rA1iq4k5JqLix_y;vaLJQ)p1BWj|A3#X;sn1!}W=(gd=U-Ig~aP~(T z-(tLZnR#y}lQ-|{`{NV9HGGEiNT-2ZiFA?3V5ApAS<2*IMu}JoqjZ+{A50yL!JCOv z1c}Jrg6HW>Mx;6ntyGsX{>u%DEV3a6=i+kA&>YUSNmLd*N+V)n#0>*aONWj#3pER1 zU~@ZgGFQq@U7F$^!|`Tab2n?3d%RQgHtP=WQWGBcnN79Le|4|shM{t&W697Ms!To= z=~OO9Vw#ZRzUpEb$$_$q|59W|rE;utMec2uY4iIudf=$oa&*T>6*b}(ZT?mx^?hrd x5?TvzC~!v1ae_8+kJLH^cP4N`?1ped>|sB|0S-en;7!1CG;uTm&r!{B`~wn#ROJ8w diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/changedMethodImplementation/com/example/SimpleKotlinClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/changedMethodImplementation/com/example/SimpleKotlinClass.class deleted file mode 100644 index 497b364379ab6a84ba01f760f0128196f6dc95db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1122 zcmaJ>TTc@~6#izrZMRD)+X4zzWD%8{(t@`KjEQ21#j1o7V#3q39bsTEO?OM+t?|Jh z;cGHL>VM0feK@SgPz%X6@ zZ{;(#&i`^Ca&Nb!wAJ5^HB6}Fi0~7sPDQfnD-2Gjoj0`! z&D5+;+tdtY7^HR5n%QYjblR(0kv)x{eMk_pX;?;HE2f@nn+eNQ)^^5qf$&ozUv5OfebzXTz3{=#BJszb@#8W$B4mEw?I~JG|-;k}LZ) z?(FiWROcROR{U18CN`vsnA~o8p>)Nr3?zj-@jSo#YynniTXed!hMZa+vT~S>v`$oL zVM(qKT2Lb*9bfzg<5QHdN>aIj819lxcLR`uNvAA^BIIK77g!(3siB`7ADEmy@BEOW zRg=_bT+U5?#dN>BNv;@mGpJXeL8`|f2YYal>jR2psL05GA{zYwif!u}iKF-({L z%e=;r+B5u0yKag`#dTVS>mLVXC5B|{FPN1Q7(_A-1w&`<&9>d}g=166Txp?pq0#EG z=NncG!$j${eTLC;FokgP6<64P)preUttBvuu{cI>g&|X#x3a>{@@%hq_Vp>higAYF zOVVSw$`ETwK9jl_&Gl-W+tiv|%@nR_n8Y-LY8!7W+~pR-5TzY*-{=o9-ml+toonEF zKcT;?RQVwIQu*hG&zs!mv{S`84AG}$QbeTy13Mu6NXS=#tmZO9yW5%6l#HS&dbgt~ zsx(y6VbWx)N~YT>Dh2j9a`GWc(3YyJ6G|ceRM|@EnzV{heSma$C#i>|es%KhiHy~{ zot+Uq(u3YhNF`_@tVVUZ4W(IRvZaxKE^X<6K2mtYX&N+YS=h#lwpBOWm%MHgk}f+9 zZq~Rfc!EOKZQJp=ybce`bTwfbUO`$O5m{->1v*Tv z(BYE2OK4v1igaZ08`Muh!U{?0212+;GSLe_92&h+7zmJy$zPyQ;8^Y|_AgdH3dk*MsTtb&5 zx}kGD#ZT!J+@~}JMXZwECX$=9pZQ&cO30P4P{JZ^k%`+S+`-Z=m`7VH>>}YoqeXj& TdYB80K@S6-#AkzN%EQcWD5~BO diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/original/com/example/SimpleKotlinClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/classes/kotlin/original/com/example/SimpleKotlinClass.class deleted file mode 100644 index 10cbf992787aef3a04240343a3cfb9e4e576ce76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1103 zcmaJ=OHUI~6#njXI-L%sObckKB2`o#DpT;az?dk8SgcB@AttPD+Yv9!qv_ld*flQv zA+FtMj3zEj!_psRJau=n@@cRU{KIxp*cZbPP!U@#ttK*)y-iTQ=?43aP`=twc>@~wy%W~%?~ zyvmT(KK?uo``J8Zdac@#IRFl1YQ!K{+OD6(m27&{HGcY=l#VQ^-`+EFB3KZQK? z3OkZvvKo&sLT9rr0$G!7m;0+3OkgsNahzi)RObAW2ui%vr!BoXX>6jvFg~O_g(5?$ zrTTe9KRMs$_+v$@Y9|*lZQ%kgF^o~}0hjJzENbQSQ*FbrEoE(G?F4E4_3^tWDu-&eChTM%daodpprURXHXVT0Tw!XG ziGR*%X`dcMUkjTqePLAu?u(9JciXRc-6JGl4IA9s=53+;6VR%Kop!@r7b;_Fs}o4! zyW1iXl=3JDLdn$$L|CTN(CM2slF;X^Pg5F*<9(ComvK6J~I5cV? zTS_Y`c^QV05mq&g4N@~kXL97NxD@5FHuo`Ff_^30TZC4uD&*sjej@pOPPk3hJ_8Q! zkj*R#kb*~94(U0vAoC^p2mEjJ$Za{mBKXO$}e literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotlin/non-abi-change/com/example/SimpleClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotlin/non-abi-change/com/example/SimpleClass.class new file mode 100644 index 0000000000000000000000000000000000000000..a535d512244ea4a9168ec3c9a0f772ee5dd0391c GIT binary patch literal 901 zcma)3OHWfl6#i!Jqqmn*ZcCAZ?>DlbK-_6e6hpkEDgi@Gx|+5V9Jsx==}Zak8W;W$ z*KSNSCN50F(qH1QFrJ|m2+_pNd3XgCOY zV1t0XR~-&k`7(Rr9ewb5#5aN{nCHvxGrr+Rc^hpNBggvJNAI56ns7MSszlxhdT*hC zpm{g&BibHsuQDs4c;*UA`-XP2mbE2)s;*M`qTgxC-Yd~e2r1XImPmF)PuYA7hTB=c z*OKeXR?KbnQ=>X^M`=YRkJB_W!tO|8g^uFVH#y4oMiiCpJ;=Kxf{se|CS@^IkS*yMeppW14({^vyQl#HhxY pi!qOj6yj2h%ec}2)3}Oj4TKscjq4h|#^iC3*C=aDYs_d=eghUmoE!iE literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotllin/abi-change/com/example/SimpleClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes-changed/kotllin/abi-change/com/example/SimpleClass.class new file mode 100644 index 0000000000000000000000000000000000000000..844af60331ec18b3721c67e6b61a35757271d372 GIT binary patch literal 861 zcmZ`$TW=CU7(Fu!3oMi_6fNNW8Z|~}lF;X^Pg5F*<9(ComvK6J~I5cV? zTS_Y`c^QV05mq&g4N@~kXL97NxD@5FHuo`Ff_^30TZC4uD&*sjej@pOPPk3hJ_8Q! zkj*R#kb*~94(U0vAoC^p2mEjJ$Za{mBKXO$}e literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes/kotlin/com/example/SimpleClass.class b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/classes/kotlin/com/example/SimpleClass.class new file mode 100644 index 0000000000000000000000000000000000000000..d8e3a73804d229991c9f7ca2910b4b811ea837c5 GIT binary patch literal 861 zcmZ`$TWb?R7(FwaY&P38-K5bb@qR@`Oj>+X1g#XeL@lWlAy1QJsMBnALuL}{Tkydj z;4hwwy=DcGvE0xXMg|s`3t~f++|qlB>kG)7yUsbYun1Y^+;%) z0b>aE#8}iK5%1RCw)bSmWZ*EkPgShUGY040{hb`raDAkZVMv(|N;6a%=k$ESP}r4b zYt)WZXKR=YdWnft zTzf5z=n5lf1KuAybUd@hwFV5VNBF+7S)HQpDubL(NX>0uHq*)5mhtOvWc?4Bco*R&6yt~Hi z3i%V-Kk6A0b3N%wIl8%UW#8BCM4*J{4XxNb(%2rgGqu8jv z+)-Ll$@4f)jIgR{tdg23I+LSl#igi-<(W^>67(y{-XOGQRUw~#@B`kr8Q~^b`wTd^ zMK*U>fGm8<3RsvS|B}BW_)3o)$K>>xQSQmFSOuUzdQ4Mhkms?;OS8%ljU)%4RhO4nW3l=pNG;$h6 Gjly3!DwP%h literal 0 HcmV?d00001 diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/java/com/example/SimpleJavaClass-protoBased=false.json b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/expected-snapshot/java/com/example/SimpleClass.json similarity index 69% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/java/com/example/SimpleJavaClass-protoBased=false.json rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/expected-snapshot/java/com/example/SimpleClass.json index 2681c70bade..3f0445a1c64 100644 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/java/com/example/SimpleJavaClass-protoBased=false.json +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/expected-snapshot/java/com/example/SimpleClass.json @@ -7,7 +7,7 @@ }, "relativeClassName": { "fqName": { - "fqName": "SimpleJavaClass" + "fqName": "SimpleClass" } }, "local": false @@ -18,9 +18,9 @@ } ], "classAbiExcludingMembers": { - "abiValue": "{\n \"version\": 52,\n \"access\": 33,\n \"name\": \"com/example/SimpleJavaClass\",\n \"superName\": \"java/lang/Object\",\n \"interfaces\": [],\n \"sourceFile\": \"SimpleJavaClass.java\",\n \"innerClasses\": [],\n \"fields\": [],\n \"methods\": [],\n \"api\": 589824\n}", - "name": "com/example/SimpleJavaClass", - "abiHash": 4897366397927258364 + "abiValue": "{\n \"version\": 52,\n \"access\": 32,\n \"name\": \"com/example/SimpleClass\",\n \"superName\": \"java/lang/Object\",\n \"interfaces\": [],\n \"sourceFile\": \"SimpleClass.java\",\n \"innerClasses\": [],\n \"fields\": [],\n \"methods\": [],\n \"api\": 589824\n}", + "name": "com/example/SimpleClass", + "abiHash": 5093067435262353961 }, "fieldsAbi": [ { @@ -31,14 +31,14 @@ ], "methodsAbi": [ { - "abiValue": "{\n \"access\": 1,\n \"name\": \"\\u003cinit\\u003e\",\n \"desc\": \"()V\",\n \"exceptions\": [],\n \"visibleAnnotableParameterCount\": 0,\n \"invisibleAnnotableParameterCount\": 0,\n \"instructions\": {\n \"size\": 0\n },\n \"tryCatchBlocks\": [],\n \"maxStack\": 0,\n \"maxLocals\": 0,\n \"localVariables\": [],\n \"visited\": false,\n \"api\": 589824\n}", + "abiValue": "{\n \"access\": 0,\n \"name\": \"\\u003cinit\\u003e\",\n \"desc\": \"()V\",\n \"exceptions\": [],\n \"visibleAnnotableParameterCount\": 0,\n \"invisibleAnnotableParameterCount\": 0,\n \"instructions\": {\n \"size\": 0\n },\n \"tryCatchBlocks\": [],\n \"maxStack\": 0,\n \"maxLocals\": 0,\n \"localVariables\": [],\n \"visited\": false,\n \"api\": 589824\n}", "name": "\u003cinit\u003e", - "abiHash": 5725188035643409224 + "abiHash": -8222317811013429324 }, { - "abiValue": "{\n \"access\": 1,\n \"name\": \"publicMethod\",\n \"desc\": \"()V\",\n \"exceptions\": [],\n \"visibleAnnotableParameterCount\": 0,\n \"invisibleAnnotableParameterCount\": 0,\n \"instructions\": {\n \"size\": 0\n },\n \"tryCatchBlocks\": [],\n \"maxStack\": 0,\n \"maxLocals\": 0,\n \"localVariables\": [],\n \"visited\": false,\n \"api\": 589824\n}", + "abiValue": "{\n \"access\": 1,\n \"name\": \"publicMethod\",\n \"desc\": \"()I\",\n \"exceptions\": [],\n \"visibleAnnotableParameterCount\": 0,\n \"invisibleAnnotableParameterCount\": 0,\n \"instructions\": {\n \"size\": 0\n },\n \"tryCatchBlocks\": [],\n \"maxStack\": 0,\n \"maxLocals\": 0,\n \"localVariables\": [],\n \"visited\": false,\n \"api\": 589824\n}", "name": "publicMethod", - "abiHash": -7202431168536137702 + "abiHash": -4555436938653125191 } ], "className$delegate": { diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/kotlin/com/example/SimpleKotlinClass.json b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/expected-snapshot/kotlin/com/example/SimpleClass.json similarity index 60% rename from compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/kotlin/com/example/SimpleKotlinClass.json rename to compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/expected-snapshot/kotlin/com/example/SimpleClass.json index 3196d838c2f..5f8fbbf4728 100644 --- a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotTestCommon/expected-snapshot/kotlin/com/example/SimpleKotlinClass.json +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/expected-snapshot/kotlin/com/example/SimpleClass.json @@ -8,17 +8,17 @@ }, "relativeClassName": { "fqName": { - "fqName": "SimpleKotlinClass" + "fqName": "SimpleClass" } }, "local": false }, "classKind": "CLASS", "classHeaderData": [ - "\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\b\u0010\b\u001a\u00020\tH\u0002J\u0006\u0010\n\u001a\u00020\tR\u000e\u0010\u0003\u001a\u00020\u0004X‚D¢\u0006\u0002\n\u0000R\u0014\u0010\u0005\u001a\u00020\u0004X†D¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007" + "\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0005\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\b\u0010\b\u001a\u00020\u0004H\u0002J\u0006\u0010\t\u001a\u00020\u0004R\u000e\u0010\u0003\u001a\u00020\u0004X‚D¢\u0006\u0002\n\u0000R\u0014\u0010\u0005\u001a\u00020\u0004X†D¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007" ], "classHeaderStrings": [ - "Lcom/example/SimpleKotlinClass;", + "Lcom/example/SimpleClass;", "", "()V", "privateProperty", @@ -27,7 +27,6 @@ "getPublicProperty", "()I", "privateFunction", - "", "publicFunction" ], "constantsMap": {}, diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/abi-change/com/example/SimpleClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/abi-change/com/example/SimpleClass.java new file mode 100644 index 00000000000..557b3f28e3d --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/abi-change/com/example/SimpleClass.java @@ -0,0 +1,16 @@ +package com.example; + +class SimpleClass { + + public long publicField = 0; + + private long privateField = 0; + + public long publicMethod() { + return 0; + } + + private long privateMethod() { + return 0; + } +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/non-abi-change/com/example/SimpleClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/non-abi-change/com/example/SimpleClass.java new file mode 100644 index 00000000000..96c106d5396 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/java/non-abi-change/com/example/SimpleClass.java @@ -0,0 +1,16 @@ +package com.example; + +class SimpleClass { + + public int publicField = 1000; + + private int privateField = 1000; + + public int publicMethod() { + return 1000; + } + + private int privateMethod() { + return 1000; + } +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/abi-change/com/example/SimpleClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/abi-change/com/example/SimpleClass.kt new file mode 100644 index 00000000000..24076a1e709 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/abi-change/com/example/SimpleClass.kt @@ -0,0 +1,12 @@ +package com.example + +class SimpleClass { + + val publicProperty: Long = 0 + + private val privateProperty: Long = 0 + + fun publicFunction(): Long = 0 + + private fun privateFunction(): Long = 0 +} diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/non-abi-change/com/example/SimpleClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/non-abi-change/com/example/SimpleClass.kt new file mode 100644 index 00000000000..ead84628da0 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src-changed/kotlin/non-abi-change/com/example/SimpleClass.kt @@ -0,0 +1,12 @@ +package com.example + +class SimpleClass { + + val publicProperty: Int = 1000 + + private val privateProperty: Int = 1000 + + fun publicFunction(): Int = 1000 + + private fun privateFunction(): Int = 1000 +} diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/java/com/example/SimpleClass.java b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/java/com/example/SimpleClass.java new file mode 100644 index 00000000000..9d0800fdb4e --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/java/com/example/SimpleClass.java @@ -0,0 +1,16 @@ +package com.example; + +class SimpleClass { + + public int publicField = 0; + + private int privateField = 0; + + public int publicMethod() { + return 0; + } + + private int privateMethod() { + return 0; + } +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/kotlin/com/example/SimpleClass.kt b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/kotlin/com/example/SimpleClass.kt new file mode 100644 index 00000000000..8148d685fa2 --- /dev/null +++ b/compiler/incremental-compilation-impl/testData/org/jetbrains/kotlin/incremental/classpathDiff/ClasspathSnapshotterTest/src/kotlin/com/example/SimpleClass.kt @@ -0,0 +1,12 @@ +package com.example + +class SimpleClass { + + val publicProperty: Int = 0 + + private val privateProperty: Int = 0 + + fun publicFunction(): Int = 0 + + private fun privateFunction(): Int = 0 +} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt index 33fe765c9cd..f044a62eb6a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalJavaChangeIT.kt @@ -55,18 +55,6 @@ class IncrementalJavaChangeClasspathSnapshotIT : IncrementalJavaChangeDefaultIT( } ) } - - @Test - fun testAddingInnerClass() { - doTest( - "A.kt", - { content: String -> content.substringBeforeLast("}") + " class InnerClass }" }, - assertResults = { - assertTasksExecuted(":lib:compileKotlin", ":app:compileKotlin") - assertCompiledKotlinFiles(project.projectDir.getFilesByNames("AAA.kt", "AA.kt", "BB.kt", "A.kt", "B.kt")) - } - ) - } } class IncrementalJavaChangePreciseIT : IncrementalCompilationJavaChangesBase(usePreciseJavaTracking = true) {