Change part class naming scheme
update tests depending on part class naming
This commit is contained in:
committed by
Michael Bogdanov
parent
801d10229b
commit
a47eaa2cb5
+8
-14
@@ -45,8 +45,12 @@ public class PackagePartClassUtils {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static String replaceSpecialSymbols(@NotNull String str) {
|
||||
return str.replace('.', '_');
|
||||
private static String getSanitizedIdentifier(@NotNull String str) {
|
||||
str = str.replaceAll("[^\\p{L}\\p{Digit}]", "_");
|
||||
if (!Character.isJavaIdentifierStart(str.charAt(0))) {
|
||||
str = "_" + str;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -65,20 +69,10 @@ public class PackagePartClassUtils {
|
||||
if ('a' <= c && c <= 'z') {
|
||||
fileName = Character.toUpperCase(fileName.charAt(0)) + fileName.substring(1);
|
||||
}
|
||||
fileName += "Kt";
|
||||
}
|
||||
|
||||
if (jetFile != null) {
|
||||
for (PsiElement child : jetFile.getDeclarations()) {
|
||||
if (child instanceof JetClassOrObject) {
|
||||
if (fileName.equalsIgnoreCase(((JetClassOrObject) child).getName())) {
|
||||
fileName += "_";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return facadeFqName.parent().child(Name.identifier(replaceSpecialSymbols(fileName)));
|
||||
return facadeFqName.parent().child(Name.identifier(getSanitizedIdentifier(fileName)));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -8,6 +8,6 @@ fun foo1() {
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD : _DefaultPackage*$foo1$1.invoke(I)V
|
||||
// VARIABLE : NAME=this TYPE=L_DefaultPackage*$foo1$1; INDEX=0
|
||||
// METHOD : ItInLambdaKt$foo1$1.invoke(I)V
|
||||
// VARIABLE : NAME=this TYPE=LItInLambdaKt$foo1$1; INDEX=0
|
||||
// VARIABLE : NAME=it TYPE=I INDEX=1
|
||||
|
||||
@@ -6,6 +6,6 @@ fun foo() {
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD : _DefaultPackage*$foo$1$1.invoke(I)V
|
||||
// VARIABLE : NAME=this TYPE=L_DefaultPackage*$foo$1$1; INDEX=0
|
||||
// METHOD : ItInReturnedLambdaKt$foo$1$1.invoke(I)V
|
||||
// VARIABLE : NAME=this TYPE=LItInReturnedLambdaKt$foo$1$1; INDEX=0
|
||||
// VARIABLE : NAME=it TYPE=I INDEX=1
|
||||
|
||||
@@ -4,5 +4,5 @@ fun foo() {
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD : _DefaultPackage*$foo$a$1.invoke()V
|
||||
// VARIABLE : NAME=this TYPE=L_DefaultPackage*$foo$a$1; INDEX=0
|
||||
// METHOD : LambdaAsVarKt$foo$a$1.invoke()V
|
||||
// VARIABLE : NAME=this TYPE=LLambdaAsVarKt$foo$a$1; INDEX=0
|
||||
|
||||
+2
-2
@@ -3,5 +3,5 @@ fun foo() {
|
||||
}
|
||||
}
|
||||
|
||||
// METHOD : _DefaultPackage*$foo$1.invoke()V
|
||||
// VARIABLE : NAME=this TYPE=L_DefaultPackage*$foo$1; INDEX=0
|
||||
// METHOD : LocalFunKt$foo$1.invoke()V
|
||||
// VARIABLE : NAME=this TYPE=LLocalFunKt$foo$1; INDEX=0
|
||||
|
||||
+4
-10
@@ -1,13 +1,7 @@
|
||||
package test
|
||||
|
||||
class ClassAndPartClash {
|
||||
class ClassAndPartClash
|
||||
class ClassAndPartClash_
|
||||
class ClassAndPartClashKt
|
||||
|
||||
}
|
||||
|
||||
class ClassAndPartClash_ {
|
||||
|
||||
}
|
||||
|
||||
fun z () {
|
||||
|
||||
}
|
||||
fun z () {}
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
compiler/testData/cli/jvm/classAndPartClash.kt:1:1: error: duplicate JVM class name 'test/ClassAndPartClash_' generated from: package-fragment test, ClassAndPartClash_
|
||||
compiler/testData/cli/jvm/classAndPartClash.kt:1:1: error: duplicate JVM class name 'test/ClassAndPartClashKt' generated from: package-fragment test, ClassAndPartClashKt
|
||||
package test
|
||||
^
|
||||
compiler/testData/cli/jvm/classAndPartClash.kt:7:1: error: duplicate JVM class name 'test/ClassAndPartClash_' generated from: package-fragment test, ClassAndPartClash_
|
||||
class ClassAndPartClash_ {
|
||||
compiler/testData/cli/jvm/classAndPartClash.kt:5:1: error: duplicate JVM class name 'test/ClassAndPartClashKt' generated from: package-fragment test, ClassAndPartClashKt
|
||||
class ClassAndPartClashKt
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
@@ -0,0 +1,3 @@
|
||||
$TESTDATA_DIR$/sanitized-name.clash.kt
|
||||
-d
|
||||
$TEMP_DIR$
|
||||
@@ -0,0 +1,5 @@
|
||||
class SanitizedNameClash
|
||||
class Sanitized_Name_Clash
|
||||
class Sanitized_name_clashKt
|
||||
|
||||
fun foo() {}
|
||||
@@ -0,0 +1,7 @@
|
||||
compiler/testData/cli/jvm/sanitized-name.clash.kt:1:1: error: duplicate JVM class name 'Sanitized_name_clashKt' generated from: package-fragment , Sanitized_name_clashKt
|
||||
class SanitizedNameClash
|
||||
^
|
||||
compiler/testData/cli/jvm/sanitized-name.clash.kt:3:1: error: duplicate JVM class name 'Sanitized_name_clashKt' generated from: package-fragment , Sanitized_name_clashKt
|
||||
class Sanitized_name_clashKt
|
||||
^
|
||||
COMPILATION_ERROR
|
||||
@@ -23,9 +23,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambda.1.kt
|
||||
//_DefaultPackage
|
||||
//Lambda_1Kt
|
||||
//+ 2 lambda.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/Lambda_2Kt
|
||||
//*L
|
||||
//1#1,46:1
|
||||
//4#2:47
|
||||
@@ -37,9 +37,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambda.2.kt
|
||||
//builders/BuildersPackage$lambda_2$HASH$call$1
|
||||
//builders/Lambda_2Kt$call$1
|
||||
//+ 2 lambda.1.kt
|
||||
//_DefaultPackage$lambda_1$HASH
|
||||
//Lambda_1Kt
|
||||
//*L
|
||||
//1#1,18:1
|
||||
//8#2:19
|
||||
|
||||
@@ -12,7 +12,7 @@ inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit)
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambda.2.kt
|
||||
//builders/BuildersPackage$lambda_2$HASH$call$1
|
||||
//builders/Lambda_2Kt$call$1
|
||||
//*L
|
||||
//1#1,18:1
|
||||
//*E
|
||||
@@ -25,9 +25,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambdaOnCallSite.1.kt
|
||||
//_DefaultPackage
|
||||
//LambdaOnCallSite_1Kt
|
||||
//+ 2 lambdaOnCallSite.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/LambdaOnCallSite_2Kt
|
||||
//*L
|
||||
//1#1,34:1
|
||||
//4#2:35
|
||||
|
||||
+4
-4
@@ -25,9 +25,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambdaOnInlineCallSite.1.kt
|
||||
//_DefaultPackage
|
||||
//LambdaOnInlineCallSite_1Kt
|
||||
//+ 2 lambdaOnInlineCallSite.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/LambdaOnInlineCallSite_2Kt
|
||||
//*L
|
||||
//1#1,56:1
|
||||
//4#2:57
|
||||
@@ -39,7 +39,7 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambdaOnInlineCallSite.1.kt
|
||||
//_DefaultPackage$lambdaOnInlineCallSite_1$HASH$test$1$1
|
||||
//LambdaOnInlineCallSite_1Kt$test$1$1
|
||||
//*L
|
||||
//1#1,56:1
|
||||
//*E
|
||||
@@ -50,7 +50,7 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 lambdaOnInlineCallSite.1.kt
|
||||
//_DefaultPackage$lambdaOnInlineCallSite_1$HASH$test$1$1
|
||||
//LambdaOnInlineCallSite_1Kt$test$1$1
|
||||
//*L
|
||||
//1#1,56:1
|
||||
//*E
|
||||
@@ -22,9 +22,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 object.1.kt
|
||||
//_DefaultPackage
|
||||
//Object_1Kt
|
||||
//+ 2 object.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/Object_2Kt
|
||||
//*L
|
||||
//1#1,45:1
|
||||
//4#2,5:46
|
||||
@@ -36,9 +36,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 object.2.kt
|
||||
//builders/BuildersPackage$object_2$HASH$call$1
|
||||
//builders/Object_2Kt$call$1
|
||||
//+ 2 object.1.kt
|
||||
//_DefaultPackage$object_1$HASH
|
||||
//Object_1Kt
|
||||
//*L
|
||||
//1#1,21:1
|
||||
//8#2:22
|
||||
|
||||
@@ -15,7 +15,7 @@ inline fun call(inlineOptions(InlineOption.ONLY_LOCAL_RETURN) init: () -> Unit)
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 object.2.kt
|
||||
//builders/BuildersPackage$object_2$HASH$call$1
|
||||
//builders/Object_2Kt$call$1
|
||||
//*L
|
||||
//1#1,21:1
|
||||
//*E
|
||||
@@ -27,9 +27,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 objectOnCallSite.1.kt
|
||||
//_DefaultPackage
|
||||
//ObjectOnCallSite_1Kt
|
||||
//+ 2 objectOnCallSite.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/ObjectOnCallSite_2Kt
|
||||
//*L
|
||||
//1#1,36:1
|
||||
//4#2:37
|
||||
|
||||
+4
-4
@@ -27,9 +27,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 objectOnInlineCallSite.1.kt
|
||||
//_DefaultPackage
|
||||
//ObjectOnInlineCallSite_1Kt
|
||||
//+ 2 objectOnInlineCallSite.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/ObjectOnInlineCallSite_2Kt
|
||||
//*L
|
||||
//1#1,58:1
|
||||
//4#2:59
|
||||
@@ -41,7 +41,7 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 objectOnInlineCallSite.1.kt
|
||||
//_DefaultPackage$objectOnInlineCallSite_1$HASH$test$1$1
|
||||
//ObjectOnInlineCallSite_1Kt$test$1$1
|
||||
//*L
|
||||
//1#1,58:1
|
||||
//*E
|
||||
@@ -52,7 +52,7 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 objectOnInlineCallSite.1.kt
|
||||
//_DefaultPackage$objectOnInlineCallSite_1$HASH$test$1$1
|
||||
//ObjectOnInlineCallSite_1Kt$test$1$1
|
||||
//*L
|
||||
//1#1,58:1
|
||||
//*E
|
||||
+2
-2
@@ -15,9 +15,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 assertion.1.kt
|
||||
//_DefaultPackage
|
||||
//Assertion_1Kt
|
||||
//+ 2 assertion.2.kt
|
||||
//test/TestPackage
|
||||
//test/Assertion_2Kt
|
||||
//*L
|
||||
//1#1,25:1
|
||||
//15#2,7:26
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ public inline fun massert(value: Boolean, message: Any = "Assertion failed") {
|
||||
}
|
||||
}
|
||||
|
||||
//TODO SHOUDL BE ABSENT
|
||||
//TODO SHOULD BE ABSENT
|
||||
|
||||
//SMAP
|
||||
//assertion.2.kt
|
||||
@@ -28,7 +28,7 @@ public inline fun massert(value: Boolean, message: Any = "Assertion failed") {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 assertion.2.kt
|
||||
//test/TestPackage
|
||||
//test/Assertion_2Kt
|
||||
//*L
|
||||
//1#1,34:1
|
||||
//*E
|
||||
+1
-1
@@ -16,7 +16,7 @@ inline fun test(p: () -> String): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 oneFile.1.kt
|
||||
//_DefaultPackage
|
||||
//OneFile_1Kt
|
||||
//*L
|
||||
//1#1,22:1
|
||||
//*E
|
||||
@@ -12,9 +12,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 inlineComponent.1.kt
|
||||
//_DefaultPackage
|
||||
//InlineComponent_1Kt
|
||||
//+ 2 inlineComponent.2.kt
|
||||
//zzz/ZzzPackage
|
||||
//zzz/InlineComponent_2Kt
|
||||
//*L
|
||||
//1#1,21:1
|
||||
//5#2,3:22
|
||||
|
||||
@@ -15,9 +15,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 inlineIterator.1.kt
|
||||
//_DefaultPackage
|
||||
//InlineIterator_1Kt
|
||||
//+ 2 inlineIterator.2.kt
|
||||
//zzz/ZzzPackage
|
||||
//zzz/InlineIterator_2Kt
|
||||
//*L
|
||||
//1#1,24:1
|
||||
//5#2:25
|
||||
|
||||
+2
-2
@@ -26,9 +26,9 @@ fun box(): String {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 smap.1.kt
|
||||
//_DefaultPackage
|
||||
//Smap_1Kt
|
||||
//+ 2 smap.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/Smap_2Kt
|
||||
//*L
|
||||
//1#1,38:1
|
||||
//16#2:39
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ inline fun html(init: () -> Unit) {
|
||||
//*S Kotlin
|
||||
//*F
|
||||
//+ 1 smap.2.kt
|
||||
//builders/BuildersPackage
|
||||
//builders/Smap_2Kt
|
||||
//*L
|
||||
//1#1,28:1
|
||||
//*E
|
||||
+2
-2
@@ -12,8 +12,8 @@ fun box(): String {
|
||||
return "Fail: very small stack trace, should at least have current function and JUnit reflective calls: ${Arrays.toString(st)}"
|
||||
}
|
||||
val top = st[0]
|
||||
if (!(top.getClassName().startsWith("_DefaultPackage") && top.getMethodName() == "box")) {
|
||||
return "Fail: top stack trace element should be box() from default package, but was $top"
|
||||
if (!(top.getClassName() == "PlatformTypeAssertionStackTraceKt" && top.getMethodName() == "box")) {
|
||||
return "Fail: top stack trace element should be PlatformTypeAssertionStackTraceKt.box() from default package, but was $top"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "invoke") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = classInLambda.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.endsWith("\$box\$classInLambda\$1")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "ClassInLambdaKt\$box\$classInLambda\$1") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = classInLambda.javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "class has a declaring class"
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ fun box(): String {
|
||||
if (enclosingMethod != null) return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("functionExpressionInProperty")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "FunctionExpressionInPropertyKt") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "box") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInFunction")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInFunctionKt") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "invoke") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.contains("\$box\$l\$1")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInLambdaKt\$box\$l\$1") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
Vendored
+2
-2
@@ -12,10 +12,10 @@ fun box(): String {
|
||||
|
||||
val javaClass = l.a.javaClass
|
||||
val enclosingMethod = javaClass.getEnclosingConstructor()!!.getName()
|
||||
if (!enclosingMethod.startsWith("_DefaultPackage\$") || !enclosingMethod.endsWith("\$box\$L")) return "ctor: $enclosingMethod"
|
||||
if (enclosingMethod != "LambdaInLocalClassConstructorKt\$box\$L") return "ctor: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.endsWith("\$box\$L")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInLocalClassConstructorKt\$box\$L") return "enclosing class: $enclosingClass"
|
||||
|
||||
if (enclosingMethod != enclosingClass) return "$enclosingClass != $enclosingMethod"
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -7,10 +7,10 @@ fun box(): String {
|
||||
|
||||
val javaClass = l.a.javaClass
|
||||
val enclosingMethod = javaClass.getEnclosingConstructor()!!.getName()
|
||||
if (!enclosingMethod.startsWith("_DefaultPackage\$") || !enclosingMethod.endsWith("\$box\$L")) return "ctor: $enclosingMethod"
|
||||
if (enclosingMethod != "LambdaInLocalClassSuperCallKt\$box\$L") return "ctor: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.endsWith("\$box\$L")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInLocalClassSuperCallKt\$box\$L") return "enclosing class: $enclosingClass"
|
||||
|
||||
if (enclosingMethod != enclosingClass) return "$enclosingClass != $enclosingMethod"
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "invoke") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.contains("\$box$1")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInLocalFunctionKt\$box$1") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
Vendored
+1
-1
@@ -10,7 +10,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "foo") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.contains("\$box\$C")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInMemberFunctionInLocalClassKt\$box\$C") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
+2
-2
@@ -13,10 +13,10 @@ fun box(): String {
|
||||
|
||||
val javaClass = l.a.javaClass
|
||||
val enclosingMethod = javaClass.getEnclosingConstructor()!!.getName()
|
||||
if (!enclosingMethod.startsWith("_DefaultPackage\$") || !enclosingMethod.endsWith("\$box\$l\$1")) return "ctor: $enclosingMethod"
|
||||
if (enclosingMethod != "LambdaInObjectExpressionKt\$box\$l\$1") return "ctor: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.endsWith("\$box\$l\$1")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInObjectExpressionKt\$box\$l\$1") return "enclosing class: $enclosingClass"
|
||||
|
||||
if (enclosingMethod != enclosingClass) return "$enclosingClass != $enclosingMethod"
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -11,7 +11,7 @@ fun box(): String {
|
||||
if (enclosingMethod != "box") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || enclosingClass != l.javaClass.getEnclosingClass()!!.getName())
|
||||
if (enclosingClass != "LambdaInObjectLiteralSuperCallKt" || enclosingClass != l.javaClass.getEnclosingClass()!!.getName())
|
||||
return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ val l: Any = {}
|
||||
|
||||
fun box(): String {
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInPackage")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInPackageKt") return "enclosing class: $enclosingClass"
|
||||
|
||||
val enclosingConstructor = l.javaClass.getEnclosingConstructor()
|
||||
if (enclosingConstructor != null) return "enclosing constructor found: $enclosingConstructor"
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "getL") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInPropertyGetter")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInPropertyGetterKt") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = l.javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "setL") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = l.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("lambdaInPropertySetter")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "LambdaInPropertySetterKt") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = l.javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
Vendored
+1
-1
@@ -7,7 +7,7 @@ fun box(): String {
|
||||
if (enclosingMethod != null) return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage") || !enclosingClass.contains("namedFunctionExpressionInProperty")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "NamedFunctionExpressionInPropertyKt") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous function has a declaring class: $declaringClass"
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ fun box(): String {
|
||||
if (enclosingMethod?.getName() != "invoke") return "method: $enclosingMethod"
|
||||
|
||||
val enclosingClass = objectInLambda.javaClass.getEnclosingClass()!!.getName()
|
||||
if (!enclosingClass.startsWith("_DefaultPackage\$") || !enclosingClass.endsWith("\$box\$objectInLambda\$1")) return "enclosing class: $enclosingClass"
|
||||
if (enclosingClass != "ObjectInLambdaKt\$box\$objectInLambda\$1") return "enclosing class: $enclosingClass"
|
||||
|
||||
val declaringClass = objectInLambda.javaClass.getDeclaringClass()
|
||||
if (declaringClass != null) return "anonymous object has a declaring class"
|
||||
|
||||
@@ -17,6 +17,6 @@ fun test() {
|
||||
(::local)()
|
||||
}
|
||||
|
||||
// 3 GETSTATIC _DefaultPackage\$.+\$test\$1\.INSTANCE\$
|
||||
// 1 GETSTATIC _DefaultPackage\$.+\$test\$2\.INSTANCE\$
|
||||
// 1 GETSTATIC _DefaultPackage\$.+\$test\$3\.INSTANCE\$
|
||||
// 3 GETSTATIC ConstClosureOptimizationKt\$test\$1\.INSTANCE\$
|
||||
// 1 GETSTATIC ConstClosureOptimizationKt\$test\$2\.INSTANCE\$
|
||||
// 1 GETSTATIC ConstClosureOptimizationKt\$test\$3\.INSTANCE\$
|
||||
|
||||
@@ -5,4 +5,4 @@ fun simpleFoo(s: Int = 111) {
|
||||
}
|
||||
|
||||
// 1 BIPUSH 111
|
||||
// 1 INVOKESTATIC foo/FooPackage.+\.simpleFoo\$default \(II\)V
|
||||
// 1 INVOKESTATIC foo/DefaultDelegationKt.simpleFoo\$default \(II\)V
|
||||
|
||||
@@ -4,4 +4,4 @@ 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
|
||||
// 1 INVOKESTATIC kotlin\/AssertionsJVMKt\.getASSERTIONS_ENABLED \(\)Z
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
fun foo(a: Int = 1) {}
|
||||
|
||||
// 0 _DefaultPackage.foo
|
||||
// 3 INVOKESTATIC _DefaultPackage.+
|
||||
// 3 INVOKESTATIC TopLevelFunWithDefaultArgsKt\.foo
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fun Int.test1() {}
|
||||
|
||||
fun test2() {
|
||||
1.test1()
|
||||
}
|
||||
|
||||
// 2 INVOKESTATIC A1Kt.test1 \(I\)V
|
||||
// 1 INVOKESTATIC A1Kt.test2 \(\)V
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package a
|
||||
|
||||
fun test1() {}
|
||||
|
||||
// 2 INVOKESTATIC a/A1Kt.test1 \(\)V
|
||||
// 1 INVOKESTATIC b/A2Kt.test2 \(\)V
|
||||
@@ -0,0 +1,8 @@
|
||||
fun test1() {}
|
||||
|
||||
fun test2() {
|
||||
test1()
|
||||
}
|
||||
|
||||
// 2 INVOKESTATIC A1Kt.test1 \(\)V
|
||||
// 1 INVOKESTATIC A1Kt.test2 \(\)V
|
||||
@@ -0,0 +1,6 @@
|
||||
package a
|
||||
|
||||
val prop = 1
|
||||
|
||||
// 2 INVOKESTATIC a/A1Kt.getProp \(\)I
|
||||
// 1 GETSTATIC a/A1Kt.prop \: I
|
||||
@@ -0,0 +1,9 @@
|
||||
package a
|
||||
|
||||
val prop: Int = 0
|
||||
get() {
|
||||
return $prop + 1
|
||||
}
|
||||
|
||||
// 2 INVOKESTATIC a/A1Kt.getProp \(\)I
|
||||
// 1 GETSTATIC a/A1Kt.prop \: I
|
||||
@@ -1,4 +1,4 @@
|
||||
local final class `_DefaultPackage$anonymousObject$*$main$1` : java.lang.Runnable
|
||||
local final class `AnonymousObjectKt$main$1` : java.lang.Runnable
|
||||
|
||||
public constructor `_DefaultPackage$anonymousObject$*$main$1`()
|
||||
public constructor `AnonymousObjectKt$main$1`()
|
||||
public open override /*1*/ fun run(): kotlin.Unit
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local final inner class Deepest
|
||||
|
||||
public constructor Deepest()
|
||||
internal final fun deep(): `_DefaultPackage$deepInnerChain$*$main$Local$Inner$prop$1$foo$1$DeepLocal`
|
||||
internal final fun deepest(): `_DefaultPackage$deepInnerChain$*$main$Local$Inner$prop$1$foo$1$DeepLocal`.Deepest?
|
||||
internal final fun inner(): `_DefaultPackage$deepInnerChain$*$main$Local`.Inner
|
||||
internal final fun local(): `_DefaultPackage$deepInnerChain$*$main$Local`
|
||||
internal final fun deep(): `DeepInnerChainKt$main$Local$Inner$prop$1$foo$1$DeepLocal`
|
||||
internal final fun deepest(): `DeepInnerChainKt$main$Local$Inner$prop$1$foo$1$DeepLocal`.Deepest?
|
||||
internal final fun inner(): `DeepInnerChainKt$main$Local`.Inner
|
||||
internal final fun local(): `DeepInnerChainKt$main$Local`
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
local final inner class Inner
|
||||
|
||||
public constructor Inner()
|
||||
internal final fun inner(/*0*/ i: `_DefaultPackage$innerOfLocal$*$main$Local`.Inner): kotlin.Unit
|
||||
internal final fun local(/*0*/ l: `_DefaultPackage$innerOfLocal$*$main$Local`): kotlin.Unit
|
||||
internal final fun inner(/*0*/ i: `InnerOfLocalKt$main$Local`.Inner): kotlin.Unit
|
||||
internal final fun local(/*0*/ l: `InnerOfLocalKt$main$Local`): kotlin.Unit
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local open class `_DefaultPackage$localClassInSignature$*$main$Local`
|
||||
local open class `LocalClassInSignatureKt$main$Local`
|
||||
|
||||
public constructor `_DefaultPackage$localClassInSignature$*$main$Local`()
|
||||
internal final val returnType: `_DefaultPackage$localClassInSignature$*$main$Local`
|
||||
internal final fun </*0*/ T : `_DefaultPackage$localClassInSignature$*$main$Local`, /*1*/ U : T> generic(/*0*/ t: T): U
|
||||
internal final fun param(/*0*/ l: `_DefaultPackage$localClassInSignature$*$main$Local`): kotlin.Unit
|
||||
internal final fun `_DefaultPackage$localClassInSignature$*$main$Local`.receiver(): `_DefaultPackage$localClassInSignature$*$main$Local`
|
||||
public constructor `LocalClassInSignatureKt$main$Local`()
|
||||
internal final val returnType: `LocalClassInSignatureKt$main$Local`
|
||||
internal final fun </*0*/ T : `LocalClassInSignatureKt$main$Local`, /*1*/ U : T> generic(/*0*/ t: T): U
|
||||
internal final fun param(/*0*/ l: `LocalClassInSignatureKt$main$Local`): kotlin.Unit
|
||||
internal final fun `LocalClassInSignatureKt$main$Local`.receiver(): `LocalClassInSignatureKt$main$Local`
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
local final class `_DefaultPackage$simpleInTopLevelFunction$*$main$Local`
|
||||
local final class `SimpleInTopLevelFunctionKt$main$Local`
|
||||
|
||||
public constructor `_DefaultPackage$simpleInTopLevelFunction$*$main$Local`()
|
||||
public constructor `SimpleInTopLevelFunctionKt$main$Local`()
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
public val list: List<String> = throw Exception()
|
||||
public val mutList: MutableList<String> = throw Exception()
|
||||
|
||||
// field: _DefaultPackage::list
|
||||
// field: OutInFieldKt::list
|
||||
// jvm signature: Ljava/util/List;
|
||||
// generic signature: Ljava/util/List<+Ljava/lang/String;>;
|
||||
|
||||
// field: _DefaultPackage::mutList
|
||||
// field: OutInFieldKt::mutList
|
||||
// jvm signature: Ljava/util/List;
|
||||
// generic signature: Ljava/util/List<Ljava/lang/String;>;
|
||||
@@ -145,6 +145,12 @@ public class KotlincExecutableTestGenerated extends AbstractKotlincExecutableTes
|
||||
doJvmTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("sanitized-name.clash.args")
|
||||
public void testSanitized_name_clash() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/cli/jvm/sanitized-name.clash.args");
|
||||
doJvmTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("signatureClash.args")
|
||||
public void testSignatureClash() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/cli/jvm/signatureClash.args");
|
||||
|
||||
@@ -76,18 +76,18 @@ public class OuterClassGenTest extends CodegenTestCase {
|
||||
}
|
||||
|
||||
public void testObjectLiteralInPackageClass() throws Exception {
|
||||
OuterClassInfo expectedInfo = new OuterClassInfo("foo/FooPackage$outerClassInfo$", null, null);
|
||||
doCustomTest("foo/FooPackage\\$.+\\$packageObjectLiteral\\$1", expectedInfo, "outerClassInfo");
|
||||
OuterClassInfo expectedInfo = new OuterClassInfo("foo/OuterClassInfo", null, null);
|
||||
doCustomTest("foo/OuterClassInfoKt\\$packageObjectLiteral\\$1", expectedInfo, "outerClassInfo");
|
||||
}
|
||||
|
||||
public void testLocalClassInTopLevelFunction() throws Exception {
|
||||
OuterClassInfo expectedInfo = new OuterClassInfo("foo/FooPackage$outerClassInfo$", "packageMethod", "(Lfoo/Foo;)V");
|
||||
doCustomTest("foo/FooPackage\\$.+\\$packageMethod\\$PackageLocalClass", expectedInfo, "outerClassInfo");
|
||||
OuterClassInfo expectedInfo = new OuterClassInfo("foo/OuterClassInfo", "packageMethod", "(Lfoo/Foo;)V");
|
||||
doCustomTest("foo/OuterClassInfoKt\\$packageMethod\\$PackageLocalClass", expectedInfo, "outerClassInfo");
|
||||
}
|
||||
|
||||
public void testLocalObjectInTopLevelFunction() throws Exception {
|
||||
OuterClassInfo expectedInfo = new OuterClassInfo("foo/FooPackage$outerClassInfo$", "packageMethod", "(Lfoo/Foo;)V");
|
||||
doCustomTest("foo/FooPackage\\$.+\\$packageMethod\\$PackageLocalObject", expectedInfo, "outerClassInfo");
|
||||
OuterClassInfo expectedInfo = new OuterClassInfo("foo/OuterClassInfo", "packageMethod", "(Lfoo/Foo;)V");
|
||||
doCustomTest("foo/OuterClassInfoKt\\$packageMethod\\$PackageLocalObject", expectedInfo, "outerClassInfo");
|
||||
}
|
||||
|
||||
public void testLocalObjectInInlineFunction() throws Exception {
|
||||
|
||||
@@ -4557,7 +4557,7 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public static class OptimizeImports extends AbstractQuickFixTest {
|
||||
public void testAllFilesPresentInOptimizeImports() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/optimizeImports"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), true);
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/optimizeImports"), Pattern.compile("^([a-zA-Z0-9]+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("fileRuntime.kt")
|
||||
|
||||
Reference in New Issue
Block a user