Forward compatibility hacks for Result.{success, failure}

Don't mangled functions annotated with @JvmName.
Annotate 'Result.success' and 'Result.failure' with @JvmName and
@Suppress("INAPPLICABLE_JVM_NAME").
NB this would require bootstrap.
This commit is contained in:
Dmitry Petrov
2020-06-03 15:55:40 +03:00
parent 8a4521864e
commit 202bbdf8dd
23 changed files with 184 additions and 11 deletions
@@ -14238,6 +14238,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/inlineClasses/noReturnTypeMangling.kt");
}
@TestMetadata("noReturnTypeManglingJvmName.kt")
public void testNoReturnTypeManglingJvmName() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/noReturnTypeManglingJvmName.kt");
}
@TestMetadata("nullableEqeqNonNull.kt")
public void testNullableEqeqNonNull() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/nullableEqeqNonNull.kt");
@@ -1896,6 +1896,11 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFun.kt");
}
@TestMetadata("noReturnTypeManglingFunJvmName.kt")
public void testNoReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("noReturnTypeManglingVal.kt")
public void testNoReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingVal.kt");
@@ -1906,6 +1911,11 @@ public class BlackBoxInlineCodegenTestGenerated extends AbstractBlackBoxInlineCo
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFun.kt");
}
@TestMetadata("withReturnTypeManglingFunJvmName.kt")
public void testWithReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("withReturnTypeManglingVal.kt")
public void testWithReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingVal.kt");
@@ -2951,6 +2951,11 @@ public class BytecodeTextTestGenerated extends AbstractBytecodeTextTest {
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noBoxingUnboxingInAccessorsForDelegatedPropertyWithInlineClassDelegate.kt");
}
@TestMetadata("noManglingForFunctionsWithJvmName.kt")
public void testNoManglingForFunctionsWithJvmName() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noManglingForFunctionsWithJvmName.kt");
}
@TestMetadata("noReturnTypeMangling.kt")
public void testNoReturnTypeMangling() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noReturnTypeMangling.kt");
@@ -1896,6 +1896,11 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFun.kt");
}
@TestMetadata("noReturnTypeManglingFunJvmName.kt")
public void testNoReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("noReturnTypeManglingVal.kt")
public void testNoReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingVal.kt");
@@ -1906,6 +1911,11 @@ public class CompileKotlinAgainstInlineKotlinTestGenerated extends AbstractCompi
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFun.kt");
}
@TestMetadata("withReturnTypeManglingFunJvmName.kt")
public void testWithReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("withReturnTypeManglingVal.kt")
public void testWithReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingVal.kt");
@@ -14243,6 +14243,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/inlineClasses/noReturnTypeMangling.kt");
}
@TestMetadata("noReturnTypeManglingJvmName.kt")
public void testNoReturnTypeManglingJvmName() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/noReturnTypeManglingJvmName.kt");
}
@TestMetadata("nullableEqeqNonNull.kt")
public void testNullableEqeqNonNull() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/nullableEqeqNonNull.kt");
@@ -13023,6 +13023,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/inlineClasses/noReturnTypeMangling.kt");
}
@TestMetadata("noReturnTypeManglingJvmName.kt")
public void testNoReturnTypeManglingJvmName() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/noReturnTypeManglingJvmName.kt");
}
@TestMetadata("nullableEqeqNonNull.kt")
public void testNullableEqeqNonNull() throws Exception {
runTest("compiler/testData/codegen/box/inlineClasses/nullableEqeqNonNull.kt");
@@ -1896,6 +1896,11 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFun.kt");
}
@TestMetadata("noReturnTypeManglingFunJvmName.kt")
public void testNoReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("noReturnTypeManglingVal.kt")
public void testNoReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingVal.kt");
@@ -1906,6 +1911,11 @@ public class IrBlackBoxInlineCodegenTestGenerated extends AbstractIrBlackBoxInli
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFun.kt");
}
@TestMetadata("withReturnTypeManglingFunJvmName.kt")
public void testWithReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("withReturnTypeManglingVal.kt")
public void testWithReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingVal.kt");
@@ -3036,6 +3036,11 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest {
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noBoxingUnboxingInAccessorsForDelegatedPropertyWithInlineClassDelegate.kt");
}
@TestMetadata("noManglingForFunctionsWithJvmName.kt")
public void testNoManglingForFunctionsWithJvmName() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noManglingForFunctionsWithJvmName.kt");
}
@TestMetadata("noReturnTypeMangling.kt")
public void testNoReturnTypeMangling() throws Exception {
runTest("compiler/testData/codegen/bytecodeText/inlineClasses/noReturnTypeMangling.kt");
@@ -1896,6 +1896,11 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFun.kt");
}
@TestMetadata("noReturnTypeManglingFunJvmName.kt")
public void testNoReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("noReturnTypeManglingVal.kt")
public void testNoReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/noReturnTypeManglingVal.kt");
@@ -1906,6 +1911,11 @@ public class IrCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractIrC
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFun.kt");
}
@TestMetadata("withReturnTypeManglingFunJvmName.kt")
public void testWithReturnTypeManglingFunJvmName() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingFunJvmName.kt");
}
@TestMetadata("withReturnTypeManglingVal.kt")
public void testWithReturnTypeManglingVal() throws Exception {
runTest("compiler/testData/codegen/boxInline/inlineClasses/withReturnTypeManglingVal.kt");
@@ -145,6 +145,7 @@ class JvmVersionRequirementTest : AbstractVersionRequirementTest() {
doTest(
VersionRequirement.Version(1, 3, 0), DeprecationLevel.ERROR, null, LANGUAGE_VERSION, null,
fqNamesWithRequirements = listOf(
"test.C.returnsInlineClassTypeJvmName",
"test.returnsInlineClassType",
"test.propertyOfInlineClassType"
),