From 3b613b3745c9851070ed8f43ec270b6e76fa1656 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Fri, 15 Jul 2022 00:17:00 +0200 Subject: [PATCH] Fix some tests related to direct invoke optimization - Fix test data of light class tests (SymbolLightClassesForLibraryTestGenerated). - Revert the changes in kt8666.kt because they fail on JS IR, and it seems that this test is mostly needed for JS anyway. - Use 'invoke(' as the pattern in bytecode text tests because plain 'invoke' is used when these tests are run on JDK 11, where indy string concatenation is enabled by default and therefore we reference `java/lang/invoke/StringConcatFactory`. --- .../nullabilityAnnotations/Class.lib.java | 99 ------------------- .../ClassObjectField.lib.java | 24 ----- .../FileFacade.lib.java | 92 ----------------- .../IntOverridesAny.lib.java | 14 --- .../lightClasses/object/SimpleObject.lib.java | 30 ------ .../publicField/CompanionObject.lib.java | 17 ---- .../lightClasses/publicField/Simple.lib.java | 10 -- .../boundInnerContructorRef.kt | 2 +- .../boundMemberRef.kt | 2 +- .../directInvokeOptimization/contructorRef.kt | 2 +- .../directInvokeOptimization/nestedLambdas.kt | 2 +- .../simpleAnonymousFun.kt | 2 +- .../directInvokeOptimization/simpleFunRef.kt | 2 +- .../directInvokeOptimization/simpleLambda.kt | 2 +- .../unboundInnerContructorRef.kt | 2 +- .../testData/codegen/box/intrinsics/kt8666.kt | 16 +-- .../writeFlags/inline/lostInnerClass.kt | 4 +- .../writeFlags/inline/lostInnerClass2.kt | 4 +- 18 files changed, 20 insertions(+), 306 deletions(-) delete mode 100644 compiler/testData/asJava/lightClasses/nullabilityAnnotations/Class.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/nullabilityAnnotations/ClassObjectField.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/nullabilityAnnotations/IntOverridesAny.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/object/SimpleObject.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/publicField/CompanionObject.lib.java delete mode 100644 compiler/testData/asJava/lightClasses/publicField/Simple.lib.java diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/Class.lib.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/Class.lib.java deleted file mode 100644 index 45b43875d54..00000000000 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/Class.lib.java +++ /dev/null @@ -1,99 +0,0 @@ -public final class Class /* Class*/ { - @org.jetbrains.annotations.NotNull() - private final java.lang.String notNullVal; - - @org.jetbrains.annotations.NotNull() - private final java.lang.String privateNN; - - @org.jetbrains.annotations.NotNull() - private java.lang.String notNullVar; - - @org.jetbrains.annotations.Nullable() - private final java.lang.String nullableVal; - - @org.jetbrains.annotations.Nullable() - private final java.lang.String privateN; - - @org.jetbrains.annotations.Nullable() - private java.lang.String nullableVar; - - public java.lang.String lateInitVar; - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public final java.lang.String getNotNullValWithGet();// getNotNullValWithGet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public final java.lang.String getNotNullVarWithGetSet();// getNotNullVarWithGetSet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public final java.lang.String getNullableValWithGet();// getNullableValWithGet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public final java.lang.String getNullableVarWithGetSet();// getNullableVarWithGetSet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public final java.lang.String notNullWithN();// notNullWithN() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public final java.lang.String nullableWithNN();// nullableWithNN() - - @org.jetbrains.annotations.NotNull() - public final java.lang.String getLateInitVar();// getLateInitVar() - - @org.jetbrains.annotations.NotNull() - public final java.lang.String getNotNullVal();// getNotNullVal() - - @org.jetbrains.annotations.NotNull() - public final java.lang.String getNotNullVar();// getNotNullVar() - - @org.jetbrains.annotations.NotNull() - public final java.lang.String notNull(@org.jetbrains.annotations.NotNull() java.lang.String);// notNull(java.lang.String) - - @org.jetbrains.annotations.NotNull() - public final java.lang.String notNullWithNN();// notNullWithNN() - - @org.jetbrains.annotations.NotNull() - public final void setNullableVarWithGetSet(@org.jetbrains.annotations.Nullable() java.lang.String);// setNullableVarWithGetSet(java.lang.String) - - @org.jetbrains.annotations.Nullable() - public final java.lang.String getNullableVal();// getNullableVal() - - @org.jetbrains.annotations.Nullable() - public final java.lang.String getNullableVar();// getNullableVar() - - @org.jetbrains.annotations.Nullable() - public final java.lang.String nullable(@org.jetbrains.annotations.Nullable() java.lang.String);// nullable(java.lang.String) - - @org.jetbrains.annotations.Nullable() - public final java.lang.String nullableWithN();// nullableWithN() - - @org.jetbrains.annotations.Nullable() - public final void setNotNullVarWithGetSet(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVarWithGetSet(java.lang.String) - - private static final java.lang.String notNullVal$lambda$2();// notNullVal$lambda$2() - - private static final java.lang.String notNullVar$lambda$3();// notNullVar$lambda$3() - - private static final java.lang.String nullableVal$lambda$0();// nullableVal$lambda$0() - - private static final java.lang.String nullableVar$lambda$1();// nullableVar$lambda$1() - - private static final java.lang.String privateN$lambda$5();// privateN$lambda$5() - - private static final java.lang.String privateNN$lambda$4();// privateNN$lambda$4() - - public Class();// .ctor() - - public final void setLateInitVar(@org.jetbrains.annotations.NotNull() java.lang.String);// setLateInitVar(java.lang.String) - - public final void setNotNullVar(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVar(java.lang.String) - - public final void setNullableVar(@org.jetbrains.annotations.Nullable() java.lang.String);// setNullableVar(java.lang.String) - -} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/ClassObjectField.lib.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/ClassObjectField.lib.java deleted file mode 100644 index afd3ebdbe32..00000000000 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/ClassObjectField.lib.java +++ /dev/null @@ -1,24 +0,0 @@ -public final class ClassObjectField /* ClassObjectField*/ { - @org.jetbrains.annotations.NotNull() - public static final ClassObjectField.Companion Companion; - - @org.jetbrains.annotations.Nullable() - private static final java.lang.String x; - - @org.jetbrains.annotations.Nullable() - private static final java.lang.String y; - - private static final java.lang.String x$lambda$0();// x$lambda$0() - - private static final java.lang.String y$lambda$1();// y$lambda$1() - - public ClassObjectField();// .ctor() - - -public static final class Companion /* ClassObjectField.Companion*/ { - @org.jetbrains.annotations.Nullable() - public final java.lang.String getX();// getX() - - private Companion();// .ctor() - -}} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.lib.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.lib.java deleted file mode 100644 index 2d691e4d943..00000000000 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/FileFacade.lib.java +++ /dev/null @@ -1,92 +0,0 @@ -public final class FileFacadeKt /* FileFacadeKt*/ { - @org.jetbrains.annotations.NotNull() - private static final java.lang.String notNullVal; - - @org.jetbrains.annotations.NotNull() - private static final java.lang.String privateNn; - - @org.jetbrains.annotations.NotNull() - private static java.lang.String notNullVar; - - @org.jetbrains.annotations.Nullable() - private static final java.lang.String nullableVal; - - @org.jetbrains.annotations.Nullable() - private static final java.lang.String privateN; - - @org.jetbrains.annotations.Nullable() - private static java.lang.String nullableVar; - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public static final java.lang.String getNotNullValWithGet();// getNotNullValWithGet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public static final java.lang.String getNotNullVarWithGetSet();// getNotNullVarWithGetSet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public static final java.lang.String getNullableValWithGet();// getNullableValWithGet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public static final java.lang.String getNullableVarWithGetSet();// getNullableVarWithGetSet() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public static final java.lang.String notNullWithN();// notNullWithN() - - @org.jetbrains.annotations.NotNull() - @org.jetbrains.annotations.Nullable() - public static final java.lang.String nullableWithNN();// nullableWithNN() - - @org.jetbrains.annotations.NotNull() - public static final java.lang.String getNotNullVal();// getNotNullVal() - - @org.jetbrains.annotations.NotNull() - public static final java.lang.String getNotNullVar();// getNotNullVar() - - @org.jetbrains.annotations.NotNull() - public static final java.lang.String notNull(@org.jetbrains.annotations.NotNull() java.lang.String);// notNull(java.lang.String) - - @org.jetbrains.annotations.NotNull() - public static final java.lang.String notNullWithNN();// notNullWithNN() - - @org.jetbrains.annotations.NotNull() - public static final void setNullableVarWithGetSet(@org.jetbrains.annotations.Nullable() java.lang.String);// setNullableVarWithGetSet(java.lang.String) - - @org.jetbrains.annotations.Nullable() - public static final java.lang.String getNullableVal();// getNullableVal() - - @org.jetbrains.annotations.Nullable() - public static final java.lang.String getNullableVar();// getNullableVar() - - @org.jetbrains.annotations.Nullable() - public static final java.lang.String nullable(@org.jetbrains.annotations.Nullable() java.lang.String);// nullable(java.lang.String) - - @org.jetbrains.annotations.Nullable() - public static final java.lang.String nullableWithN();// nullableWithN() - - @org.jetbrains.annotations.Nullable() - public static final void setNotNullVarWithGetSet(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVarWithGetSet(java.lang.String) - - private static final java.lang.String notNullVal$lambda$2();// notNullVal$lambda$2() - - private static final java.lang.String notNullVar$lambda$3();// notNullVar$lambda$3() - - private static final java.lang.String nullableVal$lambda$0();// nullableVal$lambda$0() - - private static final java.lang.String nullableVar$lambda$1();// nullableVar$lambda$1() - - private static final java.lang.String privateFun(java.lang.String, java.lang.String);// privateFun(java.lang.String, java.lang.String) - - private static final java.lang.String privateN$lambda$5();// privateN$lambda$5() - - private static final java.lang.String privateNn$lambda$4();// privateNn$lambda$4() - - public static final void setNotNullVar(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVar(java.lang.String) - - public static final void setNullableVar(@org.jetbrains.annotations.Nullable() java.lang.String);// setNullableVar(java.lang.String) - -} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/IntOverridesAny.lib.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/IntOverridesAny.lib.java deleted file mode 100644 index e29b743b649..00000000000 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/IntOverridesAny.lib.java +++ /dev/null @@ -1,14 +0,0 @@ -public final class C /* C*/ implements Tr { - private final int v; - - @org.jetbrains.annotations.NotNull() - public java.lang.Integer foo();// foo() - - @org.jetbrains.annotations.NotNull() - public java.lang.Integer getV();// getV() - - private static final int v$lambda$0();// v$lambda$0() - - public C();// .ctor() - -} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/object/SimpleObject.lib.java b/compiler/testData/asJava/lightClasses/object/SimpleObject.lib.java deleted file mode 100644 index 39966160650..00000000000 --- a/compiler/testData/asJava/lightClasses/object/SimpleObject.lib.java +++ /dev/null @@ -1,30 +0,0 @@ -public final class A /* pack.A*/ { - @org.jetbrains.annotations.NotNull() - private static java.lang.String v; - - @org.jetbrains.annotations.NotNull() - public static final java.lang.String cv = "A" /* initializer type: java.lang.String */ /* constant value A */; - - @org.jetbrains.annotations.NotNull() - public static final pack.A INSTANCE; - - private static final int c; - - public static final int cc = 1 /* initializer type: int */ /* constant value 1 */; - - @org.jetbrains.annotations.NotNull() - public final java.lang.String getV();// getV() - - private A();// .ctor() - - private static final int c$lambda$0();// c$lambda$0() - - private static final java.lang.String v$lambda$1();// v$lambda$1() - - public final int f();// f() - - public final int getC();// getC() - - public final void setV(@org.jetbrains.annotations.NotNull() java.lang.String);// setV(java.lang.String) - -} \ No newline at end of file diff --git a/compiler/testData/asJava/lightClasses/publicField/CompanionObject.lib.java b/compiler/testData/asJava/lightClasses/publicField/CompanionObject.lib.java deleted file mode 100644 index a00ea57fe08..00000000000 --- a/compiler/testData/asJava/lightClasses/publicField/CompanionObject.lib.java +++ /dev/null @@ -1,17 +0,0 @@ -public final class C /* C*/ { - @kotlin.jvm.JvmField() - @org.jetbrains.annotations.NotNull() - public static final java.lang.String foo; - - @org.jetbrains.annotations.NotNull() - public static final C.Companion Companion; - - private static final java.lang.String foo$lambda$0();// foo$lambda$0() - - public C();// .ctor() - - -public static final class Companion /* C.Companion*/ { - private Companion();// .ctor() - -}} diff --git a/compiler/testData/asJava/lightClasses/publicField/Simple.lib.java b/compiler/testData/asJava/lightClasses/publicField/Simple.lib.java deleted file mode 100644 index 795a5141d19..00000000000 --- a/compiler/testData/asJava/lightClasses/publicField/Simple.lib.java +++ /dev/null @@ -1,10 +0,0 @@ -public final class C /* C*/ { - @kotlin.jvm.JvmField() - @org.jetbrains.annotations.NotNull() - public final java.lang.String foo; - - private static final java.lang.String foo$lambda$0();// foo$lambda$0() - - public C();// .ctor() - -} \ No newline at end of file diff --git a/compiler/testData/codegen/box/directInvokeOptimization/boundInnerContructorRef.kt b/compiler/testData/codegen/box/directInvokeOptimization/boundInnerContructorRef.kt index 1cf63bf904b..d6d7cfe91ff 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/boundInnerContructorRef.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/boundInnerContructorRef.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( class Outer (val x: String) { inner class Inner(val y: String) { diff --git a/compiler/testData/codegen/box/directInvokeOptimization/boundMemberRef.kt b/compiler/testData/codegen/box/directInvokeOptimization/boundMemberRef.kt index d59d2a44317..c9c1aace470 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/boundMemberRef.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/boundMemberRef.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( class C(val x: String) { fun foo(s: String) = x + s diff --git a/compiler/testData/codegen/box/directInvokeOptimization/contructorRef.kt b/compiler/testData/codegen/box/directInvokeOptimization/contructorRef.kt index cff0a3852a3..6135697aa70 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/contructorRef.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/contructorRef.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( class C(x: String, y: String) { val yx = y + x diff --git a/compiler/testData/codegen/box/directInvokeOptimization/nestedLambdas.kt b/compiler/testData/codegen/box/directInvokeOptimization/nestedLambdas.kt index 7bfa7b10542..6df92f80e5e 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/nestedLambdas.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/nestedLambdas.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( fun box() = { k: String -> diff --git a/compiler/testData/codegen/box/directInvokeOptimization/simpleAnonymousFun.kt b/compiler/testData/codegen/box/directInvokeOptimization/simpleAnonymousFun.kt index 0982e33426b..410001738e0 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/simpleAnonymousFun.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/simpleAnonymousFun.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( fun box() = (fun (s: String): String { diff --git a/compiler/testData/codegen/box/directInvokeOptimization/simpleFunRef.kt b/compiler/testData/codegen/box/directInvokeOptimization/simpleFunRef.kt index 7676778f7ac..2f064c1ab93 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/simpleFunRef.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/simpleFunRef.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( fun ok(s: String) = "O" + s diff --git a/compiler/testData/codegen/box/directInvokeOptimization/simpleLambda.kt b/compiler/testData/codegen/box/directInvokeOptimization/simpleLambda.kt index d91b30fb75d..4c4855f7257 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/simpleLambda.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/simpleLambda.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( fun box() = { s: String -> diff --git a/compiler/testData/codegen/box/directInvokeOptimization/unboundInnerContructorRef.kt b/compiler/testData/codegen/box/directInvokeOptimization/unboundInnerContructorRef.kt index dd25b177788..dd1d32628d8 100644 --- a/compiler/testData/codegen/box/directInvokeOptimization/unboundInnerContructorRef.kt +++ b/compiler/testData/codegen/box/directInvokeOptimization/unboundInnerContructorRef.kt @@ -1,6 +1,6 @@ // CHECK_BYTECODE_TEXT // JVM_IR_TEMPLATES -// 0 invoke +// 0 invoke\( class Outer (val x: String) { inner class Inner(val y: String) { diff --git a/compiler/testData/codegen/box/intrinsics/kt8666.kt b/compiler/testData/codegen/box/intrinsics/kt8666.kt index 68a8bfed0db..6a29c3439a5 100644 --- a/compiler/testData/codegen/box/intrinsics/kt8666.kt +++ b/compiler/testData/codegen/box/intrinsics/kt8666.kt @@ -18,16 +18,16 @@ fun box(): String { if (MAX_LONG != ("" as String?) + Long.MAX_VALUE) return "fail \"\"? +" if (MAX_LONG != "".plus(Long.MAX_VALUE)) return "fail \"\".plus" if (MAX_LONG != ("" as String?).plus(Long.MAX_VALUE)) return "fail \"\"?.plus" - if (MAX_LONG != (String::plus).let { it("", Long.MAX_VALUE) }) return "fail String::plus" + if (MAX_LONG != (String::plus)("", Long.MAX_VALUE)) return "fail String::plus" // if (MAX_LONG != stringPlus("", Long.MAX_VALUE)) return "fail stringPlus(\"\", Long.MAX_VALUE)" // if (MAX_LONG != customToString("", Long.MAX_VALUE, String::plus)) return "fail customToString(\"\", Long.MAX_VALUE, String::plus)" - if (MAX_LONG != (String?::plus).let { it("", Long.MAX_VALUE) }) return "fail String?::plus" + if (MAX_LONG != (String?::plus)("", Long.MAX_VALUE)) return "fail String?::plus" // if (MAX_LONG != stringNPlus("", Long.MAX_VALUE)) return "fail stringNPlus(\"\", Long.MAX_VALUE)" // if (MAX_LONG != customToString("", Long.MAX_VALUE, String?::plus)) return "fail customToString(\"\", Long.MAX_VALUE, String?::plus)" - if (MAX_LONG != (""::plus).let { it(Long.MAX_VALUE) }) return "fail \"\"::plus" + if (MAX_LONG != (""::plus)(Long.MAX_VALUE)) return "fail \"\"::plus" // if (MAX_LONG != emptyStringPlus(Long.MAX_VALUE)) return "fail emptyStringPlus(Long.MAX_VALUE)" // if (MAX_LONG != customToString(Long.MAX_VALUE, ""::plus)) return "fail customToString(Long.MAX_VALUE, \"\"::plus)" - if (MAX_LONG != (("" as String?)::plus).let { it(Long.MAX_VALUE) }) return "fail \"\"?::plus" + if (MAX_LONG != (("" as String?)::plus)(Long.MAX_VALUE)) return "fail \"\"?::plus" // if (MAX_LONG != emptyStringNPlus(Long.MAX_VALUE)) return "fail emptyStringPlus(Long.MAX_VALUE)" // if (MAX_LONG != customToString(Long.MAX_VALUE, ("" as String?)::plus)) return "fail customToString(Long.MAX_VALUE, (\"\" as String?)::plus)" @@ -36,16 +36,16 @@ fun box(): String { if (PREFIX + MAX_LONG != (PREFIX as String?) + Long.MAX_VALUE) return "fail \"$PREFIX\"? +" if (PREFIX + MAX_LONG != PREFIX.plus(Long.MAX_VALUE)) return "fail \"$PREFIX\".plus" if (PREFIX + MAX_LONG != (PREFIX as String?).plus(Long.MAX_VALUE)) return "fail \"$PREFIX\"?.plus" - if (PREFIX + MAX_LONG != (String::plus).let { it(PREFIX, Long.MAX_VALUE) }) return "fail String::plus(\"$PREFIX\", ...)" + if (PREFIX + MAX_LONG != (String::plus)(PREFIX, Long.MAX_VALUE)) return "fail String::plus(\"$PREFIX\", ...)" // if (PREFIX + MAX_LONG != stringPlus(PREFIX, Long.MAX_VALUE)) return "fail stringPlus(\"$PREFIX\", Long.MAX_VALUE)" // if (PREFIX + MAX_LONG != customToString(PREFIX, Long.MAX_VALUE, String::plus)) return "fail customToString(\"$PREFIX\", Long.MAX_VALUE, String::plus)" - if (PREFIX + MAX_LONG != (String?::plus).let { it(PREFIX, Long.MAX_VALUE) }) return "fail String?::plus(\"$PREFIX\", ...)" + if (PREFIX + MAX_LONG != (String?::plus)(PREFIX, Long.MAX_VALUE)) return "fail String?::plus(\"$PREFIX\", ...)" // if (PREFIX + MAX_LONG != stringNPlus(PREFIX, Long.MAX_VALUE)) return "fail stringNPlus(\"$PREFIX\", Long.MAX_VALUE)" // if (PREFIX + MAX_LONG != customToString(PREFIX, Long.MAX_VALUE, String?::plus)) return "fail customToString(\"$PREFIX\", Long.MAX_VALUE, String?::plus)" - if (PREFIX + MAX_LONG != (PREFIX::plus).let { it(Long.MAX_VALUE) }) return "fail \"$PREFIX\"::plus" + if (PREFIX + MAX_LONG != (PREFIX::plus)(Long.MAX_VALUE)) return "fail \"$PREFIX\"::plus" // if (PREFIX + MAX_LONG != prefixPlus(Long.MAX_VALUE)) return "fail prefixPlus(Long.MAX_VALUE)" // if (PREFIX + MAX_LONG != customToString(Long.MAX_VALUE, PREFIX::plus)) return "fail customToString(Long.MAX_VALUE, \"$PREFIX\"::plus)" - if (PREFIX + MAX_LONG != ((PREFIX as String?)::plus).let { it(Long.MAX_VALUE) }) return "fail \"$PREFIX\"?::plus" + if (PREFIX + MAX_LONG != ((PREFIX as String?)::plus)(Long.MAX_VALUE)) return "fail \"$PREFIX\"?::plus" // if (PREFIX + MAX_LONG != prefixNPlus(Long.MAX_VALUE)) return "fail prefixNPlus(Long.MAX_VALUE)" // if (PREFIX + MAX_LONG != customToString(Long.MAX_VALUE, (PREFIX as String?)::plus)) return "fail customToString(Long.MAX_VALUE, \"$PREFIX\"?::plus)" diff --git a/compiler/testData/writeFlags/inline/lostInnerClass.kt b/compiler/testData/writeFlags/inline/lostInnerClass.kt index addf27a7ef3..651aa627180 100644 --- a/compiler/testData/writeFlags/inline/lostInnerClass.kt +++ b/compiler/testData/writeFlags/inline/lostInnerClass.kt @@ -1,7 +1,7 @@ class Introspector { inner class SchemaRetriever(val transaction: String) { inline fun inSchema(crossinline modifier: (String) -> Unit) = - { modifier(transaction) }() + { modifier(transaction) }.let { it() } internal fun retrieve() { inSchema { schema -> "OK" } @@ -11,4 +11,4 @@ class Introspector { // TESTED_OBJECT_KIND: innerClass // TESTED_OBJECTS: Introspector$SchemaRetriever$inSchema$1, SchemaRetriever -// FLAGS: ACC_FINAL, ACC_PUBLIC \ No newline at end of file +// FLAGS: ACC_FINAL, ACC_PUBLIC diff --git a/compiler/testData/writeFlags/inline/lostInnerClass2.kt b/compiler/testData/writeFlags/inline/lostInnerClass2.kt index 886ad9e7fd4..e7a6b947234 100644 --- a/compiler/testData/writeFlags/inline/lostInnerClass2.kt +++ b/compiler/testData/writeFlags/inline/lostInnerClass2.kt @@ -2,7 +2,7 @@ interface Introspector { class SchemaRetriever(val transaction: String) { inline fun inSchema(crossinline modifier: (String) -> Unit) = - { modifier(transaction) }() + { modifier(transaction) }.let { it() } internal fun retrieve() { inSchema { schema -> "OK" } @@ -17,4 +17,4 @@ interface Introspector { // TESTED_OBJECT_KIND: innerClass // TESTED_OBJECTS: Introspector$SchemaRetriever$inSchema$1, DefaultImpls -// ABSENT: true \ No newline at end of file +// ABSENT: true