Change part class naming scheme

update tests depending on part class naming
This commit is contained in:
Dmitry Petrov
2015-07-24 15:09:16 +03:00
committed by Michael Bogdanov
parent 801d10229b
commit a47eaa2cb5
59 changed files with 166 additions and 120 deletions
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -1,13 +1,7 @@
package test
class ClassAndPartClash {
class ClassAndPartClash
class ClassAndPartClash_
class ClassAndPartClashKt
}
class ClassAndPartClash_ {
}
fun z () {
}
fun z () {}
+3 -3
View File
@@ -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
+3
View File
@@ -0,0 +1,3 @@
$TESTDATA_DIR$/sanitized-name.clash.kt
-d
$TEMP_DIR$
+5
View File
@@ -0,0 +1,5 @@
class SanitizedNameClash
class Sanitized_Name_Clash
class Sanitized_name_clashKt
fun foo() {}
+7
View File
@@ -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
@@ -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
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
@@ -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"
}
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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()
@@ -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"
@@ -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"
@@ -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"
@@ -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"
@@ -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
@@ -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
+2 -2
View File
@@ -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
+4 -4
View File
@@ -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
View File
@@ -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")