diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java index 03c6f509813..1587b54923c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java @@ -1439,7 +1439,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { } if (KotlinBuiltIns.isCloneable(containingTrait) && traitMethod.getName().equals("clone")) { - // A special hack for Cloneable: there's no kotlin/Cloneable$$TImpl class at runtime, + // A special hack for Cloneable: there's no kotlin/Cloneable$DefaultImpls class at runtime, // and its 'clone' method is actually located in java/lang/Object iv.invokespecial("java/lang/Object", "clone", "()Ljava/lang/Object;", false); } diff --git a/compiler/testData/cli/jvm/classAndTraitClash.kt b/compiler/testData/cli/jvm/classAndTraitClash.kt index 6d8423cf32e..4981c9ae42e 100644 --- a/compiler/testData/cli/jvm/classAndTraitClash.kt +++ b/compiler/testData/cli/jvm/classAndTraitClash.kt @@ -4,6 +4,6 @@ interface T1 { } -class `T1$$TImpl` { +class `T1$DefaultImpls` { } \ No newline at end of file diff --git a/compiler/testData/cli/jvm/classAndTraitClash.out b/compiler/testData/cli/jvm/classAndTraitClash.out index a50aedbd2f3..fc19dc1ab5d 100644 --- a/compiler/testData/cli/jvm/classAndTraitClash.out +++ b/compiler/testData/cli/jvm/classAndTraitClash.out @@ -1,7 +1,7 @@ -compiler/testData/cli/jvm/classAndTraitClash.kt:3:1: error: duplicate JVM class name 'test/T1$$TImpl' generated from: `T1$$TImpl`, T1 +compiler/testData/cli/jvm/classAndTraitClash.kt:3:1: error: duplicate JVM class name 'test/T1$DefaultImpls' generated from: `T1$DefaultImpls`, T1 interface T1 { ^ -compiler/testData/cli/jvm/classAndTraitClash.kt:7:1: error: duplicate JVM class name 'test/T1$$TImpl' generated from: `T1$$TImpl`, T1 -class `T1$$TImpl` { +compiler/testData/cli/jvm/classAndTraitClash.kt:7:1: error: duplicate JVM class name 'test/T1$DefaultImpls' generated from: `T1$DefaultImpls`, T1 +class `T1$DefaultImpls` { ^ COMPILATION_ERROR \ No newline at end of file diff --git a/compiler/testData/cli/jvm/fileClassAndTImplClash.kt b/compiler/testData/cli/jvm/fileClassAndTImplClash.kt index 9b130c4e060..7066392ea0d 100644 --- a/compiler/testData/cli/jvm/fileClassAndTImplClash.kt +++ b/compiler/testData/cli/jvm/fileClassAndTImplClash.kt @@ -1,4 +1,4 @@ -@file:JvmName("XXX\$\$TImpl") +@file:JvmName("XXX\$DefaultImpls") package test interface XXX \ No newline at end of file diff --git a/compiler/testData/codegen/bytecodeText/interfaces/firstInheritedMethodIsAbstract.kt b/compiler/testData/codegen/bytecodeText/interfaces/firstInheritedMethodIsAbstract.kt index 6cb718150cb..78f3ebcb85e 100644 --- a/compiler/testData/codegen/bytecodeText/interfaces/firstInheritedMethodIsAbstract.kt +++ b/compiler/testData/codegen/bytecodeText/interfaces/firstInheritedMethodIsAbstract.kt @@ -8,6 +8,6 @@ interface B { interface C : A, B -// There's no 'foo' in A$$TImpl, proguard and other tools may fail if we generate calls to it -// 0 INVOKESTATIC A\$\$TImpl.foo -// 1 INVOKESTATIC B\$\$TImpl.foo +// There's no 'foo' in A$DefaultImpls, proguard and other tools may fail if we generate calls to it +// 0 INVOKESTATIC A\$DefaultImpls.foo +// 1 INVOKESTATIC B\$DefaultImpls.foo diff --git a/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt b/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt index 234a276c49d..e308c0d92dc 100644 --- a/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt +++ b/compiler/testData/codegen/bytecodeText/interfaces/traitImplGeneratedOnce.kt @@ -9,7 +9,7 @@ open class C : B() class D : C() // Implementation of foo() should only be generated into B -// 1 INVOKESTATIC A\$\$TImpl.foo +// 1 INVOKESTATIC A\$DefaultImpls.foo // Only two declarations should be present: in A and B // 2 foo\(\)I diff --git a/compiler/testData/compileJavaAgainstKotlin/method/TraitImpl.java b/compiler/testData/compileJavaAgainstKotlin/method/TraitImpl.java index 6de13515595..50d468d5fe5 100644 --- a/compiler/testData/compileJavaAgainstKotlin/method/TraitImpl.java +++ b/compiler/testData/compileJavaAgainstKotlin/method/TraitImpl.java @@ -4,8 +4,8 @@ import java.util.ArrayList; abstract class TraitImpl implements Trait { { - Trait$$TImpl.simple(this); + Trait$DefaultImpls.simple(this); - Trait$$TImpl.generic(this, new ArrayList()); + Trait$DefaultImpls.generic(this, new ArrayList()); } } diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/KotlinSyntheticClassAnnotationTest.java b/compiler/tests/org/jetbrains/kotlin/codegen/KotlinSyntheticClassAnnotationTest.java index a6af8720fbc..98e799f3235 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/KotlinSyntheticClassAnnotationTest.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/KotlinSyntheticClassAnnotationTest.java @@ -107,7 +107,7 @@ public class KotlinSyntheticClassAnnotationTest extends CodegenTestCase { public void testLocalTraitImpl() { doTestKotlinSyntheticClass( "fun foo() { interface Local { fun bar() = 42 } }", - "Local$$TImpl.class", + "Local$DefaultImpls.class", LOCAL_TRAIT_IMPL ); } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAbi.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAbi.java index d10d574a1e3..6cf1914d543 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAbi.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/JvmAbi.java @@ -36,7 +36,7 @@ public final class JvmAbi { */ public static final BinaryVersion VERSION = BinaryVersion.create(0, 27, 0); - public static final String DEFAULT_IMPLS_CLASS_NAME = "$TImpl"; + public static final String DEFAULT_IMPLS_CLASS_NAME = "DefaultImpls"; public static final String DEFAULT_IMPLS_SUFFIX = "$" + DEFAULT_IMPLS_CLASS_NAME; public static final String DEFAULT_PARAMS_IMPL_SUFFIX = "$default"; diff --git a/idea/idea-completion/testData/basic/java/NoSyntheticClasses.kt b/idea/idea-completion/testData/basic/java/NoSyntheticClasses.kt index 2db57b52784..5e00a4e8b71 100644 --- a/idea/idea-completion/testData/basic/java/NoSyntheticClasses.kt +++ b/idea/idea-completion/testData/basic/java/NoSyntheticClasses.kt @@ -4,5 +4,5 @@ val x: ReadOnlyPr // INVOCATION_COUNT: 2 // EXIST: "ReadOnlyProperty" -// ABSENT: "ReadOnlyProperty$$TImpl" +// ABSENT: "ReadOnlyProperty$DefaultImpls" // NOTHING_ELSE diff --git a/idea/testData/debugger/positionManager/trait.kt b/idea/testData/debugger/positionManager/trait.kt index 523d57442ba..eab36d03d2e 100644 --- a/idea/testData/debugger/positionManager/trait.kt +++ b/idea/testData/debugger/positionManager/trait.kt @@ -1,5 +1,5 @@ interface A { fun foo() { - "" // A\$\$TImpl + "" // A\$DefaultImpls } } diff --git a/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log b/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log index 673b3dfee4c..3ea22bfaba3 100644 --- a/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log +++ b/jps-plugin/testData/incremental/pureKotlin/traitClassObjectConstantChanged/build.log @@ -1,18 +1,18 @@ Cleaning output files: -out/production/module/test/Trait$$TImpl.class out/production/module/test/Trait$Companion.class +out/production/module/test/Trait$DefaultImpls.class out/production/module/test/Trait.class End of files Compiling files: src/const.kt End of files Cleaning output files: -out/production/module/test/Trait$$TImpl.class out/production/module/test/Trait$Companion.class +out/production/module/test/Trait$DefaultImpls.class out/production/module/test/Trait.class out/production/module/test/Usage.class End of files Compiling files: src/const.kt src/usage.kt -End of files +End of files \ No newline at end of file diff --git a/plugins/annotation-collector/testData/collectToFile/inheritedSimple/annotations.txt b/plugins/annotation-collector/testData/collectToFile/inheritedSimple/annotations.txt index 72c4041b2e2..34f1a11569e 100644 --- a/plugins/annotation-collector/testData/collectToFile/inheritedSimple/annotations.txt +++ b/plugins/annotation-collector/testData/collectToFile/inheritedSimple/annotations.txt @@ -1,4 +1,4 @@ p org.test 0 d 0/SomeInterface -d 0/SomeInterface$$TImpl +d 0/SomeInterface$DefaultImpls d 0/SomeClass