diff --git a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentPure.kt b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentPure.kt index d5350598904..e4383222a15 100644 --- a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentPure.kt +++ b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentPure.kt @@ -18,7 +18,7 @@ class JavaClass { i.run(); } - void modAssign(Runnable i) { + void remAssign(Runnable i) { i.run(); } } diff --git a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentViaSimpleBinary.kt b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentViaSimpleBinary.kt index ec7afca1161..26100627704 100644 --- a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentViaSimpleBinary.kt +++ b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/augmentedAssignmentViaSimpleBinary.kt @@ -24,7 +24,7 @@ class JavaClass { return this; } - @NotNull JavaClass mod(Runnable i) { + @NotNull JavaClass rem(Runnable i) { i.run(); return this; } diff --git a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/binary.kt b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/binary.kt index c205a795fdc..29c0b334715 100644 --- a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/binary.kt +++ b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/binary.kt @@ -22,7 +22,7 @@ class JavaClass { return this; } - JavaClass mod(Runnable i) { + JavaClass rem(Runnable i) { i.run(); return this; } diff --git a/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/legacyModOperator.kt b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/legacyModOperator.kt new file mode 100644 index 00000000000..a9c495deb3b --- /dev/null +++ b/compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/legacyModOperator.kt @@ -0,0 +1,45 @@ +// !LANGUAGE: -ProhibitOperatorMod +// FILE: Java.java + +import org.jetbrains.annotations.NotNull; + +class AugmentedAssignmentPure { + void modAssign(Runnable i) { + i.run(); + } +} + +class AugmentedAssignmentViaSimpleBinary { + @NotNull AugmentedAssignmentViaSimpleBinary rem(Runnable i) { + i.run(); + return this; + } +} + +class Binary { + Binary rem(Runnable i) { + i.run(); + return this; + } +} + +// FILE: 1.kt + +fun box(): String { + val augAssignmentPure = AugmentedAssignmentPure() + var v1 = "FAIL" + augAssignmentPure %= { v1 = "OK" } + if (v1 != "OK") return "assignment pure: $v1" + + var augmentedAssignmentViaSimpleBinary = AugmentedAssignmentViaSimpleBinary() + var v2 = "FAIL" + augmentedAssignmentViaSimpleBinary %= { v2 = "OK" } + if (v2 != "OK") return "assignment via simple binary: $v2" + + val binary = Binary() + var v3 = "FAIL" + binary % { v3 = "OK" } + if (v3 != "OK") return "binary: $v3" + + return "OK" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxAgainstJavaCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxAgainstJavaCodegenTestGenerated.java index f387021f8b4..8045de94ff9 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxAgainstJavaCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxAgainstJavaCodegenTestGenerated.java @@ -847,6 +847,11 @@ public class BlackBoxAgainstJavaCodegenTestGenerated extends AbstractBlackBoxAga runTest("compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/invoke.kt"); } + @TestMetadata("legacyModOperator.kt") + public void testLegacyModOperator() throws Exception { + runTest("compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/legacyModOperator.kt"); + } + @TestMetadata("multiGetSet.kt") public void testMultiGetSet() throws Exception { runTest("compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/multiGetSet.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxAgainstJavaCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxAgainstJavaCodegenTestGenerated.java index fc25b780248..7a7e1602815 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxAgainstJavaCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxAgainstJavaCodegenTestGenerated.java @@ -847,6 +847,11 @@ public class IrBlackBoxAgainstJavaCodegenTestGenerated extends AbstractIrBlackBo runTest("compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/invoke.kt"); } + @TestMetadata("legacyModOperator.kt") + public void testLegacyModOperator() throws Exception { + runTest("compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/legacyModOperator.kt"); + } + @TestMetadata("multiGetSet.kt") public void testMultiGetSet() throws Exception { runTest("compiler/testData/codegen/boxAgainstJava/sam/adapters/operators/multiGetSet.kt");