diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java index 74a7135fd4e..0071bb79484 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethods.java @@ -116,6 +116,7 @@ public class IntrinsicMethods { declareBinaryOp(Name.identifier("xor"), IXOR); declareIntrinsicFunction(Name.identifier("Boolean"), Name.identifier("not"), 0, new Not()); + declareIntrinsicFunction(Name.identifier("Boolean"), Name.identifier("equals"), 1, EQUALS); declareIntrinsicFunction(Name.identifier("String"), Name.identifier("plus"), 1, new Concat()); declareIntrinsicFunction(Name.identifier("CharSequence"), Name.identifier("get"), 1, new StringGetChar()); diff --git a/compiler/testData/codegen/box/primitiveTypes/kt3517.kt b/compiler/testData/codegen/box/primitiveTypes/kt3517.kt new file mode 100644 index 00000000000..535f32308cd --- /dev/null +++ b/compiler/testData/codegen/box/primitiveTypes/kt3517.kt @@ -0,0 +1,6 @@ +// KT-3517 Can't call .equals() on a boolean + +fun box(): String { + val a = false + return if (true.equals(true) && a.equals(false)) "OK" else "fail" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java index 0470bcdac46..4a3dc35b1ec 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -3732,6 +3732,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest("compiler/testData/codegen/box/primitiveTypes/kt3078.kt"); } + @TestMetadata("kt3517.kt") + public void testKt3517() throws Exception { + doTest("compiler/testData/codegen/box/primitiveTypes/kt3517.kt"); + } + @TestMetadata("kt3576.kt") public void testKt3576() throws Exception { doTest("compiler/testData/codegen/box/primitiveTypes/kt3576.kt");