Use '$' instead of '-' in package part class names
Otherwise some tools break (e.g. CheckMethodAdapter in ASM, used in generic signature writer) because they expect class names to be Java identifiers. Some tests fixed, some will be fixed in future commits
This commit is contained in:
+3
-3
@@ -5,11 +5,11 @@ fun box(): String {
|
||||
val enclosingMethod = javaClass.getEnclosingMethod()
|
||||
if (enclosingMethod?.getName() != "box") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()
|
||||
if (!enclosingClass!!.getName().startsWith("_DefaultPackage-lambdaInFunction-")) return "enclosing class: $enclosingClass"
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInFunction")) return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
val l: Any = {}
|
||||
|
||||
fun box(): String {
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()
|
||||
if (!enclosingClass!!.getName().startsWith("_DefaultPackage-lambdaInPackage-")) return "enclosing class: $enclosingClass"
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInPackage")) return "enclosing class: $enclosingClass"
|
||||
|
||||
val enclosingConstructor = l.javaClass.getEnclosingConstructor()
|
||||
if (enclosingConstructor != null) return "enclosing constructor found: $enclosingConstructor"
|
||||
@@ -14,4 +14,4 @@ fun box(): String {
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -6,11 +6,11 @@ fun box(): String {
|
||||
val enclosingMethod = l.javaClass.getEnclosingMethod()
|
||||
if (enclosingMethod?.getName() != "getL") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()
|
||||
if (!enclosingClass!!.getName().startsWith("_DefaultPackage-lambdaInPropertyGetter-")) return "enclosing class: $enclosingClass"
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInPropertyGetter")) return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = l.javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -1,4 +1,3 @@
|
||||
|
||||
var _l: Any = ""
|
||||
|
||||
var l: Any
|
||||
@@ -13,11 +12,11 @@ fun box(): String {
|
||||
val enclosingMethod = l.javaClass.getEnclosingMethod()
|
||||
if (enclosingMethod?.getName() != "setL") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()
|
||||
if (!enclosingClass!!.getName().startsWith("_DefaultPackage-lambdaInPropertySetter-")) return "enclosing class: $enclosingClass"
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInPropertySetter")) return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = l.javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,4 +5,4 @@ fun simpleFoo(s: Int = 111) {
|
||||
}
|
||||
|
||||
// 1 BIPUSH 111
|
||||
// 1 INVOKESTATIC foo/FooPackage-.*\.simpleFoo\$default \(II\)V
|
||||
// 1 INVOKESTATIC foo/FooPackage.+\.simpleFoo\$default \(II\)V
|
||||
|
||||
@@ -3,5 +3,5 @@ fun foo() {
|
||||
}
|
||||
|
||||
// assert function will be inlined, and we assure that there are no calls via package part, but is call via package facade in inlined code
|
||||
// 0 INVOKESTATIC kotlin\/KotlinPackage-[^-]+-[^-]+.getASSERTIONS_ENABLED \(\)Z
|
||||
// 1 INVOKESTATIC kotlin\/KotlinPackage.getASSERTIONS_ENABLED \(\)Z
|
||||
// 0 INVOKESTATIC kotlin\/KotlinPackage.+\.getASSERTIONS_ENABLED \(\)Z
|
||||
// 1 INVOKESTATIC kotlin\/KotlinPackage\.getASSERTIONS_ENABLED \(\)Z
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
fun foo(a: Int = 1) {}
|
||||
|
||||
//0 _DefaultPackage.foo
|
||||
//3 INVOKESTATIC _DefaultPackage-
|
||||
// 0 _DefaultPackage.foo
|
||||
// 3 INVOKESTATIC _DefaultPackage.+
|
||||
|
||||
@@ -24,4 +24,3 @@ fun bar2(x : Season) : String {
|
||||
}
|
||||
|
||||
// 2 TABLESWITCH
|
||||
// 1 @_DefaultPackage-expression-.*\$WhenMappings\.class
|
||||
|
||||
-1
@@ -19,4 +19,3 @@ fun box() : String {
|
||||
}
|
||||
|
||||
// 1 LOOKUPSWITCH
|
||||
// 1 @_DefaultPackage-functionLiteralInTopLevel-[a-z0-9]+\$WhenMappings.class
|
||||
|
||||
@@ -33,4 +33,3 @@ class A {
|
||||
}
|
||||
|
||||
// 2 TABLESWITCH
|
||||
// 1 @abc/foo/A\$WhenMappings\.class
|
||||
|
||||
@@ -28,4 +28,3 @@ fun bar2(x : Season) : String {
|
||||
}
|
||||
|
||||
// 2 TABLESWITCH
|
||||
// 1 @_DefaultPackage-withoutElse-.*\$WhenMappings\.class
|
||||
|
||||
@@ -4,5 +4,5 @@ fun test2() {
|
||||
1.test1()
|
||||
}
|
||||
|
||||
// 2 INVOKESTATIC _DefaultPackage-1-[0-9a-f]+\.test1 \(I\)V
|
||||
// 1 INVOKESTATIC _DefaultPackage-1-[0-9a-f]+\.test2 \(\)V
|
||||
// 2 INVOKESTATIC _DefaultPackage.+\.test1 \(I\)V
|
||||
// 1 INVOKESTATIC _DefaultPackage.+\.test2 \(\)V
|
||||
|
||||
@@ -2,5 +2,5 @@ package a
|
||||
|
||||
fun test1() {}
|
||||
|
||||
// 2 INVOKESTATIC a/APackage-1-[0-9a-f]+\.test1 \(\)V
|
||||
// 1 INVOKESTATIC b/BPackage-2-[0-9a-f]+\.test2 \(\)V
|
||||
// 2 INVOKESTATIC a/APackage.+\.test1 \(\)V
|
||||
// 1 INVOKESTATIC b/BPackage.+\.test2 \(\)V
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
fun test1() {}
|
||||
|
||||
// 2 INVOKESTATIC _DefaultPackage-1-[0-9a-f]+\.test1 \(\)V
|
||||
// 1 INVOKESTATIC _DefaultPackage-2-[0-9a-f]+\.test2 \(\)V
|
||||
// 2 INVOKESTATIC _DefaultPackage.+\.test1 \(\)V
|
||||
// 1 INVOKESTATIC _DefaultPackage.+\.test2 \(\)V
|
||||
|
||||
@@ -4,5 +4,5 @@ fun test2() {
|
||||
test1()
|
||||
}
|
||||
|
||||
// 2 INVOKESTATIC _DefaultPackage-1-[0-9a-f]+\.test1 \(\)V
|
||||
// 1 INVOKESTATIC _DefaultPackage-1-[0-9a-f]+\.test2 \(\)V
|
||||
// 2 INVOKESTATIC _DefaultPackage.+\.test1 \(\)V
|
||||
// 1 INVOKESTATIC _DefaultPackage.+\.test2 \(\)V
|
||||
|
||||
@@ -2,5 +2,5 @@ package a
|
||||
|
||||
val prop = 1
|
||||
|
||||
// 2 INVOKESTATIC a/APackage-1-[0-9a-f]+\.getProp \(\)I
|
||||
// 1 GETSTATIC a/APackage-1-[0-9a-f]+\.prop \: I
|
||||
// 2 INVOKESTATIC a/APackage.+\.getProp \(\)I
|
||||
// 1 GETSTATIC a/APackage.+\.prop \: I
|
||||
|
||||
@@ -5,5 +5,5 @@ val prop: Int = 0
|
||||
return $prop + 1
|
||||
}
|
||||
|
||||
// 2 INVOKESTATIC a/APackage-1-[0-9a-f]+\.getProp \(\)I
|
||||
// 1 GETSTATIC a/APackage-1-[0-9a-f]+\.prop \: I
|
||||
// 2 INVOKESTATIC a/APackage.+\.getProp \(\)I
|
||||
// 1 GETSTATIC a/APackage.+\.prop \: I
|
||||
|
||||
Reference in New Issue
Block a user