Use 'name-hash' mangling scheme
'-' is allowed as a name character both in JVM and in Dalvik, but can't be a part of a Java identifier.
This commit is contained in:
committed by
Ilya Gorbunov
parent
a56d1d3ce8
commit
99498eb7b8
@@ -1084,7 +1084,7 @@ public class KotlinTypeMapper {
|
||||
|
||||
String manglingSuffix = InlineClassManglingUtilsKt.getInlineClassValueParametersManglingSuffix(descriptor);
|
||||
if (manglingSuffix != null) {
|
||||
name += "$" + manglingSuffix;
|
||||
name += "-" + manglingSuffix;
|
||||
}
|
||||
|
||||
if (DescriptorUtils.isTopLevelDeclaration(descriptor)) {
|
||||
|
||||
+2
-2
@@ -26,10 +26,10 @@ fun box(): String {
|
||||
}
|
||||
|
||||
for (entry in stackTrace) {
|
||||
if (entry.methodName.startsWith("test$")) {
|
||||
if (entry.methodName.startsWith("test")) {
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
throw AssertionError()
|
||||
throw AssertionError(stackTrace.asList().toString())
|
||||
}
|
||||
+1
-1
@@ -14,5 +14,5 @@ inline class Foo(val x: Int) {
|
||||
|
||||
// 1 INVOKESTATIC Foo\$Erased.empty \(I\)V
|
||||
// 1 INVOKESTATIC Foo\$Erased.withParam \(ILjava/lang/String;\)V
|
||||
// 1 INVOKESTATIC Foo\$Erased.withInlineClassParam\$1e4ch6lh \(II\)V
|
||||
// 1 INVOKESTATIC Foo\$Erased.withInlineClassParam-1e4ch6lh \(II\)V
|
||||
// 5 INVOKEVIRTUAL
|
||||
+4
-4
@@ -23,7 +23,7 @@ fun test(password: Password) {
|
||||
if (password.password != "OK") throw AssertionError()
|
||||
}
|
||||
|
||||
// 1 public final static test\$9zx0e0j9\(Ljava/lang/String;\)V
|
||||
// 1 public final static test\$79jv2l6i\(Ljava/lang/String;\)V
|
||||
// 1 public final static test\$d4pejdz3\(Ljava/lang/String;\)V
|
||||
// 1 public final static test\$c6sgoxk6\(Ljava/lang/String;\)V
|
||||
// 1 public final static test-9zx0e0j9\(Ljava/lang/String;\)V
|
||||
// 1 public final static test-79jv2l6i\(Ljava/lang/String;\)V
|
||||
// 1 public final static test-d4pejdz3\(Ljava/lang/String;\)V
|
||||
// 1 public final static test-c6sgoxk6\(Ljava/lang/String;\)V
|
||||
Vendored
+1
-1
@@ -7,4 +7,4 @@ class C {
|
||||
}
|
||||
|
||||
// 1 public final getS\(\)Ljava/lang/String;
|
||||
// 1 public final setS\$90215lrx\(Ljava/lang/String;\)V
|
||||
// 1 public final setS-90215lrx\(Ljava/lang/String;\)V
|
||||
+1
-1
@@ -25,6 +25,6 @@ inline class Foo(val x: Int) {
|
||||
// jvm signature: (ILjava/lang/Object;D)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Foo$Erased::withInlineClassType$1e4ch6lh
|
||||
// method: Foo$Erased::withInlineClassType-1e4ch6lh
|
||||
// jvm signature: (II)V
|
||||
// generic signature: null
|
||||
|
||||
+3
-3
@@ -9,15 +9,15 @@ object Test {
|
||||
fun nullableValue(f: Foo<Long>?) {}
|
||||
}
|
||||
|
||||
// method: Test::nonNullTypeArgument$1e4ch6lh
|
||||
// method: Test::nonNullTypeArgument-1e4ch6lh
|
||||
// jvm signature: (Ljava/util/List;)V
|
||||
// generic signature: (Ljava/util/List<Ljava/lang/Integer;>;)V
|
||||
|
||||
// method: Test::nullableTypeArgument$1e4ch6lh
|
||||
// method: Test::nullableTypeArgument-1e4ch6lh
|
||||
// jvm signature: (Ljava/util/List;)V
|
||||
// generic signature: (Ljava/util/List<Ljava/lang/String;>;)V
|
||||
|
||||
// method: Test::nullableValue$31ee2c96
|
||||
// method: Test::nullableValue-31ee2c96
|
||||
// jvm signature: (Ljava/util/List;)V
|
||||
// generic signature: (Ljava/util/List<Ljava/lang/Long;>;)V
|
||||
|
||||
|
||||
Vendored
+5
-5
@@ -15,23 +15,23 @@ object Test {
|
||||
fun asNullableAndNullableTypeArgument(a: Default<Int?>?) {}
|
||||
}
|
||||
|
||||
// method: Test::withNotNullPrimitive$7odoyk9m
|
||||
// method: Test::withNotNullPrimitive-7odoyk9m
|
||||
// jvm signature: (Ljava/lang/Object;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::withAdditionalGenericParameter$1k09dck1
|
||||
// method: Test::withAdditionalGenericParameter-1k09dck1
|
||||
// jvm signature: (LInv;Ljava/lang/Object;)V
|
||||
// generic signature: (LInv<Ljava/lang/String;>;Ljava/lang/Object;)V
|
||||
|
||||
// method: Test::asNullable$ao7usvyu
|
||||
// method: Test::asNullable-ao7usvyu
|
||||
// jvm signature: (LDefault;)V
|
||||
// generic signature: (LDefault<Ljava/lang/Integer;>;)V
|
||||
|
||||
// method: Test::asNullableTypeArgument$7odoyk9m
|
||||
// method: Test::asNullableTypeArgument-7odoyk9m
|
||||
// jvm signature: (Ljava/lang/Object;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::asNullableAndNullableTypeArgument$ao7usvyu
|
||||
// method: Test::asNullableAndNullableTypeArgument-ao7usvyu
|
||||
// jvm signature: (LDefault;)V
|
||||
// generic signature: (LDefault<Ljava/lang/Integer;>;)V
|
||||
|
||||
|
||||
Vendored
+4
-4
@@ -14,18 +14,18 @@ object Test {
|
||||
fun asNullableForNullableValue(a: NullableValue<Int>?) {}
|
||||
}
|
||||
|
||||
// method: Test::withNotNullPrimitive$7l8qu2mt
|
||||
// method: Test::withNotNullPrimitive-7l8qu2mt
|
||||
// jvm signature: (Ljava/lang/Object;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::asNullable$4hed6sie
|
||||
// method: Test::asNullable-4hed6sie
|
||||
// jvm signature: (Ljava/lang/Object;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::withNotNullForNullableValue$c6wvqrdl
|
||||
// method: Test::withNotNullForNullableValue-c6wvqrdl
|
||||
// jvm signature: (Ljava/lang/Object;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::asNullableForNullableValue$aloai6d9
|
||||
// method: Test::asNullableForNullableValue-aloai6d9
|
||||
// jvm signature: (LNullableValue;)V
|
||||
// generic signature: (LNullableValue<Ljava/lang/Integer;>;)V
|
||||
+1
-1
@@ -8,7 +8,7 @@ object Test {
|
||||
fun listOfFoo(f: List<Foo>) {}
|
||||
}
|
||||
|
||||
// method: Test::simple$1e4ch6lh
|
||||
// method: Test::simple-1e4ch6lh
|
||||
// jvm signature: (I)V
|
||||
// generic signature: null
|
||||
|
||||
|
||||
+6
-6
@@ -16,26 +16,26 @@ object Test {
|
||||
fun withInnerGenericInlineClassIn(a: AsCmp<AsCmp<Comparable<UInt>>>) {}
|
||||
}
|
||||
|
||||
// method: Test::withInlineClassArgumentOut$5xv5g663
|
||||
// method: Test::withInlineClassArgumentOut-5xv5g663
|
||||
// jvm signature: (Ljava/util/List;)V
|
||||
// generic signature: (Ljava/util/List<LUInt;>;)V
|
||||
|
||||
// method: Test::withInlineClassArgumentIn$brqdr5wn
|
||||
// method: Test::withInlineClassArgumentIn-brqdr5wn
|
||||
// jvm signature: (Ljava/lang/Comparable;)V
|
||||
// generic signature: (Ljava/lang/Comparable<-LUInt;>;)V
|
||||
|
||||
// method: Test::withListOfInlineClassArgument$5xv5g663
|
||||
// method: Test::withListOfInlineClassArgument-5xv5g663
|
||||
// jvm signature: (Ljava/util/List;)V
|
||||
// generic signature: (Ljava/util/List<+Ljava/util/List<LUInt;>;>;)V
|
||||
|
||||
// method: Test::withComparableOfInlineClassArgument$brqdr5wn
|
||||
// method: Test::withComparableOfInlineClassArgument-brqdr5wn
|
||||
// jvm signature: (Ljava/lang/Comparable;)V
|
||||
// generic signature: (Ljava/lang/Comparable<-Ljava/lang/Comparable<-LUInt;>;>;)V
|
||||
|
||||
// method: Test::withInnerGenericInlineClassOut$5xv5g663
|
||||
// method: Test::withInnerGenericInlineClassOut-5xv5g663
|
||||
// jvm signature: (Ljava/util/List;)V
|
||||
// generic signature: (Ljava/util/List<LAsList<Ljava/util/List<LUInt;>;>;>;)V
|
||||
|
||||
// method: Test::withInnerGenericInlineClassIn$brqdr5wn
|
||||
// method: Test::withInnerGenericInlineClassIn-brqdr5wn
|
||||
// jvm signature: (Ljava/lang/Comparable;)V
|
||||
// generic signature: (Ljava/lang/Comparable<-LAsCmp<Ljava/lang/Comparable<LUInt;>;>;>;)V
|
||||
@@ -13,18 +13,18 @@ object Test {
|
||||
fun withNullableReferenceAsNullable(a: InlineNullableReference?) {}
|
||||
}
|
||||
|
||||
// method: Test::withPrimitiveAsNullable$arwt9fzf
|
||||
// method: Test::withPrimitiveAsNullable-arwt9fzf
|
||||
// jvm signature: (LInlinePrimitive;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::withReferenceAsNullable$8k1ogbuu
|
||||
// method: Test::withReferenceAsNullable-8k1ogbuu
|
||||
// jvm signature: (Ljava/lang/String;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::withNullablePrimitiveAsNullable$aiqm4cvc
|
||||
// method: Test::withNullablePrimitiveAsNullable-aiqm4cvc
|
||||
// jvm signature: (LInlineNullablePrimitive;)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::withNullableReferenceAsNullable$7pmrpo2y
|
||||
// method: Test::withNullableReferenceAsNullable-7pmrpo2y
|
||||
// jvm signature: (LInlineNullableReference;)V
|
||||
// generic signature: null
|
||||
Vendored
+3
-3
@@ -9,7 +9,7 @@ object Test {
|
||||
fun Foo.asAll(x: Any?, a: Foo, b: Int): Foo = TODO()
|
||||
}
|
||||
|
||||
// method: Test::asParam$1e4ch6lh
|
||||
// method: Test::asParam-1e4ch6lh
|
||||
// jvm signature: (I)V
|
||||
// generic signature: null
|
||||
|
||||
@@ -17,10 +17,10 @@ object Test {
|
||||
// jvm signature: ()I
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::asExtension$1e4ch6lh
|
||||
// method: Test::asExtension-1e4ch6lh
|
||||
// jvm signature: (I)V
|
||||
// generic signature: null
|
||||
|
||||
// method: Test::asAll$dmjdpekg
|
||||
// method: Test::asAll-dmjdpekg
|
||||
// jvm signature: (ILjava/lang/Object;II)I
|
||||
// generic signature: null
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ object Test {
|
||||
fun asReturn(): Bar = TODO()
|
||||
}
|
||||
|
||||
// method: Test::asParam$1e4ch6lh
|
||||
// method: Test::asParam-1e4ch6lh
|
||||
// jvm signature: (Ljava/lang/Integer;)V
|
||||
// generic signature: null
|
||||
|
||||
|
||||
Reference in New Issue
Block a user