From 5e77ca553c2f4beeb293ac2161b579f782fd909a Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Tue, 1 May 2012 23:49:22 +0400 Subject: [PATCH] make most codegen tests are indenendent from jdk-headers/stdlib now --- .../codegen/classes/overloadPlusAssign.jet | 2 +- .../classes/overloadPlusAssignReturn.jet | 2 +- .../classes/overloadPlusToPlusAssign.jet | 2 +- .../codegen/classes/overloadUnaryOperator.jet | 2 +- .../codegen/controlStructures/forUserType.jet | 12 +- .../testData/codegen/regressions/kt471.kt | 33 +++-- .../testData/codegen/regressions/kt475.jet | 2 +- .../codegen/super/basicmethodSuperClass.jet | 2 +- .../org/jetbrains/jet/JetLiteFixture.java | 7 ++ .../jetbrains/jet/cfg/JetControlFlowTest.java | 3 +- .../jet/checkers/JetDiagnosticsTest.java | 2 +- .../jet/codegen/AnnotationGenTest.java | 3 +- .../jetbrains/jet/codegen/ArrayGenTest.java | 8 +- .../jet/codegen/BridgeMethodGenTest.java | 4 +- .../jetbrains/jet/codegen/ClassGenTest.java | 118 +++++++++--------- .../jet/codegen/ClosuresGenTest.java | 4 +- .../jet/codegen/CodegenTestCase.java | 4 +- .../jet/codegen/ControlStructuresTest.java | 72 +++++------ .../jet/codegen/ExtensionFunctionsTest.java | 12 +- .../jet/codegen/FunctionGenTest.java | 4 +- .../jet/codegen/NamespaceGenTest.java | 3 +- .../jetbrains/jet/codegen/ObjectGenTest.java | 4 +- .../jet/codegen/PatternMatchingTest.java | 3 +- .../jet/codegen/PrimitiveTypesTest.java | 4 +- .../jet/codegen/PropertyGenTest.java | 46 +++---- .../jetbrains/jet/codegen/SafeRefTest.java | 4 +- .../jetbrains/jet/codegen/StringsTest.java | 4 +- .../jetbrains/jet/codegen/SuperGenTest.java | 4 +- .../org/jetbrains/jet/codegen/TraitsTest.java | 4 +- .../jetbrains/jet/codegen/TupleGenTest.java | 4 +- .../jetbrains/jet/codegen/TypeInfoTest.java | 5 +- .../org/jetbrains/jet/codegen/VarArgTest.java | 22 ++-- .../resolve/ExtensibleResolveTestCase.java | 3 +- 33 files changed, 232 insertions(+), 176 deletions(-) diff --git a/compiler/testData/codegen/classes/overloadPlusAssign.jet b/compiler/testData/codegen/classes/overloadPlusAssign.jet index 5247973e8d6..5e9b4a09eb9 100644 --- a/compiler/testData/codegen/classes/overloadPlusAssign.jet +++ b/compiler/testData/codegen/classes/overloadPlusAssign.jet @@ -12,7 +12,7 @@ class ArrayWrapper() { } fun get(index: Int): T { - return contents.get(index) + return contents.get(index)!! } } diff --git a/compiler/testData/codegen/classes/overloadPlusAssignReturn.jet b/compiler/testData/codegen/classes/overloadPlusAssignReturn.jet index c5236b0ace4..2a4912f1e94 100644 --- a/compiler/testData/codegen/classes/overloadPlusAssignReturn.jet +++ b/compiler/testData/codegen/classes/overloadPlusAssignReturn.jet @@ -15,7 +15,7 @@ class ArrayWrapper() { } fun get(index: Int): T { - return contents.get(index) + return contents.get(index)!! } } diff --git a/compiler/testData/codegen/classes/overloadPlusToPlusAssign.jet b/compiler/testData/codegen/classes/overloadPlusToPlusAssign.jet index c5236b0ace4..2a4912f1e94 100644 --- a/compiler/testData/codegen/classes/overloadPlusToPlusAssign.jet +++ b/compiler/testData/codegen/classes/overloadPlusToPlusAssign.jet @@ -15,7 +15,7 @@ class ArrayWrapper() { } fun get(index: Int): T { - return contents.get(index) + return contents.get(index)!! } } diff --git a/compiler/testData/codegen/classes/overloadUnaryOperator.jet b/compiler/testData/codegen/classes/overloadUnaryOperator.jet index 120f84a2746..79197f3600b 100644 --- a/compiler/testData/codegen/classes/overloadUnaryOperator.jet +++ b/compiler/testData/codegen/classes/overloadUnaryOperator.jet @@ -15,7 +15,7 @@ class ArrayWrapper() { } fun get(index: Int): T { - return contents.get(index) + return contents.get(index)!! } } diff --git a/compiler/testData/codegen/controlStructures/forUserType.jet b/compiler/testData/codegen/controlStructures/forUserType.jet index 7c0a4d1203d..1bb637e4a26 100644 --- a/compiler/testData/codegen/controlStructures/forUserType.jet +++ b/compiler/testData/codegen/controlStructures/forUserType.jet @@ -19,28 +19,28 @@ fun box() : String { val c1: java.lang.Iterable = MyCollection1() sum = 0 for (el in c1) { - sum = sum + el + sum = sum + el!! } if(sum != 15) return "c1 failed" val c2 = MyCollection1() sum = 0 for (el in c2) { - sum = sum + el + sum = sum + el!! } if(sum != 15) return "c2 failed" val c3: Iterable = MyCollection2() sum = 0 for (el in c3) { - sum = sum + el + sum = sum + el!! } if(sum != 15) return "c3 failed" val c4 = MyCollection2() sum = 0 for (el in c4) { - sum = sum + el + sum = sum + el!! } if(sum != 15) return "c4 failed" @@ -50,7 +50,7 @@ fun box() : String { } sum = 0 for (el in a) { - sum = sum + el + sum = sum + el!! } if(sum != 10) return "a failed" @@ -69,7 +69,7 @@ fun box() : String { val c7 = MyCollection5() sum = 0 for (el in c7) { - sum = sum + el + sum = sum + el!! } if(sum != 0) return "c7 failed" diff --git a/compiler/testData/codegen/regressions/kt471.kt b/compiler/testData/codegen/regressions/kt471.kt index bc452506e78..00714f4000b 100644 --- a/compiler/testData/codegen/regressions/kt471.kt +++ b/compiler/testData/codegen/regressions/kt471.kt @@ -1,5 +1,3 @@ -import java.util.ArrayList - class MyNumber(val i: Int) { fun inc(): MyNumber = MyNumber(i+1) } @@ -52,21 +50,32 @@ fun test6() : Boolean { return true } +// ArrayList without jdk-headers cannot be used in these tests +class MyArrayList(var value: T) { + fun get(index: Int): T { + if (index != 17) + throw Exception() + return value + } + fun set(index: Int, value: T): Unit { + if (index != 17) + throw Exception() + this.value = value + } +} + fun test7() : Boolean { - var mnr = ArrayList() - mnr.add(MyNumber(42)) - mnr[0]++ - if (mnr[0].i != 43) return false + var mnr = MyArrayList(MyNumber(42)) + mnr[17]++ + if (mnr[17].i != 43) return false return true } fun test8() : Boolean { - var mnr = ArrayList() - mnr.add(MyNumber(42)) - mnr.add(MyNumber(41)) - mnr[1] = mnr[0]++ - if (mnr[0].i != 43) return false - if (mnr[1].i != 42) return false + var mnr = MyArrayList(MyNumber(42)) + val old = mnr[17]++ + if (old.i != 42) return false + if (mnr[17].i != 43) return false return true } diff --git a/compiler/testData/codegen/regressions/kt475.jet b/compiler/testData/codegen/regressions/kt475.jet index 62c06ece2d3..8e7e86ddda7 100644 --- a/compiler/testData/codegen/regressions/kt475.jet +++ b/compiler/testData/codegen/regressions/kt475.jet @@ -14,5 +14,5 @@ var ArrayList.length : Int set(value: Int) = throw java.lang.Error() var ArrayList.last : T - get() = get(size()-1) + get() = get(size()-1).sure() set(el : T) { set(size()-1, el) } diff --git a/compiler/testData/codegen/super/basicmethodSuperClass.jet b/compiler/testData/codegen/super/basicmethodSuperClass.jet index 1b8a48bbfe9..06344019298 100644 --- a/compiler/testData/codegen/super/basicmethodSuperClass.jet +++ b/compiler/testData/codegen/super/basicmethodSuperClass.jet @@ -1,7 +1,7 @@ import java.util.ArrayList class N() : ArrayList() { - override fun add(el: Any) : Boolean { + override fun add(el: Any?) : Boolean { if (!super.add(el)) { throw Exception() } diff --git a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java index 5c61f770f97..70db5fdf602 100644 --- a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java +++ b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java @@ -76,6 +76,13 @@ public abstract class JetLiteFixture extends UsefulTestCase { myEnvironment = JetTestUtils.createEnvironmentWithMockJdk(getTestRootDisposable()); } + protected void createEnvironmentWithMockJdk(@NotNull CompilerSpecialMode compilerSpecialMode) { + if (myEnvironment != null) { + throw new IllegalStateException("must not set up myEnvironemnt twice"); + } + myEnvironment = JetTestUtils.createEnvironmentWithMockJdk(getTestRootDisposable(), compilerSpecialMode); + } + protected void createEnvironmentWithFullJdk() { if (myEnvironment != null) { throw new IllegalStateException("must not set up myEnvironemnt twice"); diff --git a/compiler/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java b/compiler/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java index 7c5f077a5e0..32e7c4aed69 100644 --- a/compiler/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java +++ b/compiler/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java @@ -31,6 +31,7 @@ import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.lang.cfg.LoopInfo; import org.jetbrains.jet.lang.cfg.pseudocode.*; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.io.File; import java.io.FileNotFoundException; @@ -54,7 +55,7 @@ public class JetControlFlowTest extends JetLiteFixture { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.STDLIB); } @Override diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java index e98d776f3f0..603b8fc3b7c 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java @@ -57,7 +57,7 @@ public class JetDiagnosticsTest extends JetLiteFixture { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.STDLIB); } @Override diff --git a/compiler/tests/org/jetbrains/jet/codegen/AnnotationGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/AnnotationGenTest.java index f4a6a085db0..ae2a5694855 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/AnnotationGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/AnnotationGenTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.codegen; import jet.JetObject; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.lang.annotation.*; import java.lang.reflect.Constructor; @@ -28,7 +29,7 @@ public class AnnotationGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testPropField() throws NoSuchFieldException, NoSuchMethodException { diff --git a/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java index 4580d342f97..067d9600d74 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Method; public class ArrayGenTest extends CodegenTestCase { @@ -23,7 +25,7 @@ public class ArrayGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testKt238 () throws Exception { @@ -244,7 +246,7 @@ public class ArrayGenTest extends CodegenTestCase { public void testCollectionAssignGetMultiIndex () throws Exception { loadText("import java.util.ArrayList\n" + "fun box() : String { val s = ArrayList(1); s.add(\"\"); s [1, -1] = \"5\"; s[2, -2] += \"7\"; return s[2,-2] }\n" + - "fun ArrayList.get(index1: Int, index2 : Int) = this[index1+index2]\n" + + "fun ArrayList.get(index1: Int, index2 : Int) = this[index1+index2].sure()\n" + "fun ArrayList.set(index1: Int, index2 : Int, elem: String) { this[index1+index2] = elem }\n"); // System.out.println(generateToText()); Method foo = generateFunction("box"); @@ -264,7 +266,7 @@ public class ArrayGenTest extends CodegenTestCase { public void testCollectionGetMultiIndex () throws Exception { loadText("import java.util.ArrayList\n" + "fun box() : String { val s = ArrayList(1); s.add(\"\"); s [1, -1] = \"5\"; return s[2, -2] }\n" + - "fun ArrayList.get(index1: Int, index2 : Int) = this[index1+index2]\n" + + "fun ArrayList.get(index1: Int, index2 : Int) = this[index1+index2].sure()\n" + "fun ArrayList.set(index1: Int, index2 : Int, elem: String) { this[index1+index2] = elem }\n"); // System.out.println(generateToText()); Method foo = generateFunction("box"); diff --git a/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java index 1cada40caac..c389165b403 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java @@ -16,9 +16,11 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + public class BridgeMethodGenTest extends CodegenTestCase { public void testBridgeMethod () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("bridge.jet"); } } diff --git a/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java index 9a9eca63fef..ac3e9db8d37 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -33,7 +35,7 @@ public class ClassGenTest extends CodegenTestCase { } public void testPSVMClass() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/simpleClass.jet"); final Class aClass = loadClass("SimpleClass", generateClassesInFile()); @@ -44,7 +46,7 @@ public class ClassGenTest extends CodegenTestCase { } public void testArrayListInheritance() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/inheritingFromArrayList.jet"); // System.out.println(generateToText()); final Class aClass = loadClass("Foo", generateClassesInFile()); @@ -52,37 +54,37 @@ public class ClassGenTest extends CodegenTestCase { } public void testInheritanceAndDelegation_DelegatingDefaultConstructorProperties() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/inheritance.jet"); } public void testInheritanceAndDelegation2() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/delegation2.kt"); } public void testFunDelegation() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/funDelegation.jet"); } public void testPropertyDelegation() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/propertyDelegation.jet"); } public void testDiamondInheritance() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/diamondInheritance.jet"); } public void testRightHandOverride() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/rightHandOverride.jet"); } public void testNewInstanceExplicitConstructor() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/newInstanceDefaultConstructor.jet"); // System.out.println(generateToText()); final Method method = generateFunction("test"); @@ -91,22 +93,22 @@ public class ClassGenTest extends CodegenTestCase { } public void testInnerClass() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/innerClass.jet"); } public void testInheritedInnerClass() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/inheritedInnerClass.jet"); } public void testInitializerBlock() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/initializerBlock.jet"); } public void testAbstractMethod() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class Foo { abstract fun x(): String; fun y(): Int = 0 }"); final ClassFileFactory codegens = generateClassesInFile(); @@ -116,42 +118,42 @@ public class ClassGenTest extends CodegenTestCase { } public void testInheritedMethod() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/inheritedMethod.jet"); } public void testInitializerBlockDImpl() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/initializerBlockDImpl.jet"); } public void testPropertyInInitializer() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/propertyInInitializer.jet"); } public void testOuterThis() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/outerThis.jet"); } public void testSecondaryConstructors() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/secondaryConstructors.jet"); } public void testExceptionConstructor() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/exceptionConstructor.jet"); } public void testSimpleBox() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/simpleBox.jet"); } public void testAbstractClass() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class SimpleClass() { }"); final Class aClass = createClassLoader(generateClassesInFile()).loadClass("SimpleClass"); @@ -159,18 +161,18 @@ public class ClassGenTest extends CodegenTestCase { } public void testClassObject() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/classObject.jet"); } public void testClassObjectMethod() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // todo to be implemented after removal of type info // blackBoxFile("classes/classObjectMethod.jet"); } public void testClassObjectInterface() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/classObjectInterface.jet"); final Method method = generateFunction(); Object result = method.invoke(null); @@ -178,32 +180,32 @@ public class ClassGenTest extends CodegenTestCase { } public void testOverloadBinaryOperator() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadBinaryOperator.jet"); } public void testOverloadUnaryOperator() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadUnaryOperator.jet"); } public void testOverloadPlusAssign() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadPlusAssign.jet"); } public void testOverloadPlusAssignReturn() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadPlusAssignReturn.jet"); } public void testOverloadPlusToPlusAssign() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadPlusToPlusAssign.jet"); } public void testEnumClass() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("enum class Direction { NORTH; SOUTH; EAST; WEST }"); final Class direction = createClassLoader(generateClassesInFile()).loadClass("Direction"); // System.out.println(generateToText()); @@ -213,7 +215,7 @@ public class ClassGenTest extends CodegenTestCase { } public void testEnumConstantConstructors() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("enum class Color(val rgb: Int) { RED: Color(0xFF0000); GREEN: Color(0x00FF00); }"); final Class colorClass = createClassLoader(generateClassesInFile()).loadClass("Color"); final Field redField = colorClass.getField("RED"); @@ -223,25 +225,25 @@ public class ClassGenTest extends CodegenTestCase { } public void testClassObjFields() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("class A() { class object { val value = 10 } }\n" + "fun box() = if(A.value == 10) \"OK\" else \"fail\""); blackBox(); } public void testKt249() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt249.jet"); } public void testKt48 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt48.jet"); // System.out.println(generateToText()); } public void testKt309 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun box() = null"); final Method method = generateFunction("box"); assertEquals(method.getReturnType().getName(), "java.lang.Object"); @@ -249,73 +251,73 @@ public class ClassGenTest extends CodegenTestCase { } public void testKt343 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt343.jet"); // System.out.println(generateToText()); } public void testKt508 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("regressions/kt508.jet"); // System.out.println(generateToText()); blackBox(); } public void testKt504 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("regressions/kt504.jet"); // System.out.println(generateToText()); blackBox(); } public void testKt501 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt501.jet"); } public void testKt496 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt496.jet"); // System.out.println(generateToText()); } public void testKt500 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt500.jet"); } public void testKt694 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt694.jet"); } public void testKt285 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt285.jet"); } public void testKt707 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt707.jet"); } public void testKt857 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt857.jet"); } public void testKt903 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt903.jet"); } public void testKt940 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt940.kt"); } public void testKt1018 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1018.kt"); } @@ -330,17 +332,17 @@ public class ClassGenTest extends CodegenTestCase { } public void testKt1134() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1134.kt"); } public void testKt1157() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1157.kt"); } public void testKt471() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt471.kt"); } @@ -350,38 +352,38 @@ public class ClassGenTest extends CodegenTestCase { } public void testKt723() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt723.kt"); } public void testKt725() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt725.kt"); } public void testKt633() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt633.kt"); } public void testKt1345() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1345.kt"); } public void testKt1538() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1538.kt"); } public void testKt1759() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1759.kt"); } public void testResolveOrder() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/resolveOrder.jet"); } } diff --git a/compiler/tests/org/jetbrains/jet/codegen/ClosuresGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ClosuresGenTest.java index 225ebbc4670..4b220b4b5c1 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ClosuresGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ClosuresGenTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + /** * @author max */ @@ -24,7 +26,7 @@ public class ClosuresGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testSimplestClosure() throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java index d04b7f624e1..302d63f4d7a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java +++ b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java @@ -130,6 +130,7 @@ public abstract class CodegenTestCase extends JetLiteFixture { myFile, JetControlFlowDataTraceFactory.EMPTY, myEnvironment.getCompilerDependencies()); analyzeExhaust.throwIfError(); + AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext()); GenerationState state = new GenerationState(getProject(), classBuilderFactory, analyzeExhaust, Collections.singletonList(myFile)); state.compileCorrectFiles(CompilationErrorHandler.THROW_EXCEPTION); return state; @@ -195,8 +196,7 @@ public abstract class CodegenTestCase extends JetLiteFixture { r = method; } - if (r == null) - throw new AssertionError(); + if (r == null) { throw new AssertionError(); } return r; } catch (Error e) { System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java b/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java index 55fc93c6795..095cbdf7b49 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Arrays; @@ -31,7 +33,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testIf() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); @@ -41,7 +43,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testSingleBranchIf() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); @@ -63,7 +65,7 @@ public class ControlStructuresTest extends CodegenTestCase { } private void factorialTest(final String name) throws IllegalAccessException, InvocationTargetException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(name); // System.out.println(generateToText()); @@ -73,7 +75,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testContinue() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -82,7 +84,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testIfNoElse() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -91,7 +93,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testCondJumpOnStack() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("import java.lang.Boolean as jlBoolean; fun foo(a: String): Int = if (jlBoolean.parseBoolean(a)) 5 else 10"); final Method main = generateFunction(); assertEquals(5, main.invoke(null, "true")); @@ -99,7 +101,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testFor() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -108,7 +110,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testIfBlock() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -119,7 +121,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testForInArray() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -128,7 +130,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testForInRange() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo(sb: StringBuilder) { for(x in 1..4) sb.append(x) }"); final Method main = generateFunction(); StringBuilder stringBuilder = new StringBuilder(); @@ -137,7 +139,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testThrowCheckedException() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo() { throw Exception(); }"); final Method main = generateFunction(); boolean caught = false; @@ -152,7 +154,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testTryCatch() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -161,7 +163,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testTryFinally() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -181,37 +183,37 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testForUserType() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forUserType.jet"); } public void testForIntArray() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forIntArray.jet"); } public void testForPrimitiveIntArray() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forPrimitiveIntArray.jet"); } public void testForNullableIntArray() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forNullableIntArray.jet"); } public void testForIntRange() { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forIntRange.jet"); } public void testKt237() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt237.jet"); } public void testCompareToNull() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo(a: String?, b: String?): Boolean = a == null && b !== null && null == a && null !== b"); String text = generateToText(); assertTrue(!text.contains("java/lang/Object.equals")); @@ -222,7 +224,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testCompareToNonnullableEq() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo(a: String?, b: String): Boolean = a == b || b == a"); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -231,7 +233,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testCompareToNonnullableNotEq() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo(a: String?, b: String): Boolean = a != b"); String text = generateToText(); // System.out.println(text); @@ -242,18 +244,18 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testKt299() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt299.jet"); } public void testKt416() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt416.jet"); // System.out.println(generateToText()); } public void testKt513() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt513.jet"); } @@ -263,37 +265,37 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testKt769() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt769.jet"); // System.out.println(generateToText()); } public void testKt773() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt773.jet"); // System.out.println(generateToText()); } public void testKt772() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt772.jet"); // System.out.println(generateToText()); } public void testKt870() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt870.jet"); // System.out.println(generateToText()); } public void testKt958() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt958.jet"); // System.out.println(generateToText()); } public void testQuicksort() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/quicksort.jet"); // System.out.println(generateToText()); } @@ -311,22 +313,22 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testKt1076() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1076.kt"); } public void testKt998() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt998.kt"); } public void testKt628() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt628.kt"); } public void testKt1441() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1441.kt"); } } diff --git a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java index 2b3383be9b9..7f3f5eefe2d 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Method; /** @@ -29,7 +31,7 @@ public class ExtensionFunctionsTest extends CodegenTestCase { } public void testSimple() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Method foo = generateFunction("foo"); final Character c = (Character) foo.invoke(null); @@ -37,7 +39,7 @@ public class ExtensionFunctionsTest extends CodegenTestCase { } public void testWhenFail() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); Method foo = generateFunction("foo"); @@ -45,18 +47,18 @@ public class ExtensionFunctionsTest extends CodegenTestCase { } public void testVirtual() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("extensionFunctions/virtual.jet"); } public void testShared() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("extensionFunctions/shared.kt"); // System.out.println(generateToText()); } public void testKt475() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt475.jet"); } diff --git a/compiler/tests/org/jetbrains/jet/codegen/FunctionGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/FunctionGenTest.java index af3748b9ed1..60672485073 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/FunctionGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/FunctionGenTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -26,7 +28,7 @@ public class FunctionGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testDefaultArgs() throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java index e294c343471..1e8791a1d59 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.codegen; import jet.IntRange; import jet.Tuple2; import jet.Tuple4; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.awt.*; import java.lang.reflect.InvocationTargetException; @@ -34,7 +35,7 @@ public class NamespaceGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testPSVM() throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java index 019a1854f4a..2803abd67eb 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + /** * @author yole * @author alex.tkachman @@ -24,7 +26,7 @@ public class ObjectGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testSimpleObject() throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/PatternMatchingTest.java b/compiler/tests/org/jetbrains/jet/codegen/PatternMatchingTest.java index c0692e612aa..318de46aec8 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/PatternMatchingTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/PatternMatchingTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.codegen; import jet.Tuple2; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.lang.reflect.Method; @@ -28,7 +29,7 @@ public class PatternMatchingTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } @Override diff --git a/compiler/tests/org/jetbrains/jet/codegen/PrimitiveTypesTest.java b/compiler/tests/org/jetbrains/jet/codegen/PrimitiveTypesTest.java index 8e0358afa05..0db6d37fa2e 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/PrimitiveTypesTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/PrimitiveTypesTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Method; /** @@ -27,7 +29,7 @@ public class PrimitiveTypesTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testPlus() throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java index 0f0cf18f039..c0ddbaffc4a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -31,7 +33,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPrivateVal() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Class aClass = loadImplementationClass(generateClassesInFile(), "PrivateVal"); final Field[] fields = aClass.getDeclaredFields(); @@ -41,7 +43,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPrivateVar() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Class aClass = loadImplementationClass(generateClassesInFile(), "PrivateVar"); final Object instance = aClass.newInstance(); @@ -52,7 +54,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPublicVar() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("class PublicVar() { public var foo : Int = 0; }"); final Class aClass = loadImplementationClass(generateClassesInFile(), "PublicVar"); final Object instance = aClass.newInstance(); @@ -63,7 +65,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testAccessorsInInterface() { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("class AccessorsInInterface() { public var foo : Int = 0; }"); final Class aClass = loadClass("AccessorsInInterface", generateClassesInFile()); assertNotNull(findMethodByName(aClass, "getFoo")); @@ -71,7 +73,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPrivatePropertyInNamespace() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("private val x = 239"); final Class nsClass = generateNamespaceClass(); final Field[] fields = nsClass.getDeclaredFields(); @@ -84,7 +86,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testFieldPropertyAccess() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("properties/fieldPropertyAccess.jet"); // System.out.println(generateToText()); final Method method = generateFunction(); @@ -93,14 +95,14 @@ public class PropertyGenTest extends CodegenTestCase { } public void testFieldGetter() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("val now: Long get() = System.currentTimeMillis(); fun foo() = now"); final Method method = generateFunction("foo"); assertIsCurrentTime((Long) method.invoke(null)); } public void testFieldSetter() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Method method = generateFunction("append"); method.invoke(null, "IntelliJ "); @@ -112,7 +114,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testFieldSetterPlusEq() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Method method = generateFunction("append"); method.invoke(null, "IntelliJ "); @@ -121,7 +123,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testAccessorsWithoutBody() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("class AccessorsWithoutBody() { protected var foo: Int = 349\n get\n private set\n fun setter() { foo = 610; } } "); // System.out.println(generateToText()); final Class aClass = loadImplementationClass(generateClassesInFile(), "AccessorsWithoutBody"); @@ -139,7 +141,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testInitializersForNamespaceProperties() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("val x = System.currentTimeMillis()"); final Method method = generateFunction("getX"); method.setAccessible(true); @@ -147,7 +149,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPropertyReceiverOnStack() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Class aClass = loadImplementationClass(generateClassesInFile(), "Evaluator"); final Constructor constructor = aClass.getConstructor(StringBuilder.class); @@ -159,7 +161,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testAbstractVal() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class Foo { public abstract val x: String }"); final ClassFileFactory codegens = generateClassesInFile(); final Class aClass = loadClass("Foo", codegens); @@ -167,7 +169,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testVolatileProperty() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class Foo { public volatile var x: String = \"\"; }"); // System.out.println(generateToText()); final ClassFileFactory codegens = generateClassesInFile(); @@ -177,18 +179,18 @@ public class PropertyGenTest extends CodegenTestCase { } public void testKt257 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt257.jet"); // System.out.println(generateToText()); } public void testKt613 () throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt613.jet"); } public void testKt160() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("internal val s = java.lang.Double.toString(1.0)"); final Method method = generateFunction("getS"); method.setAccessible(true); @@ -196,12 +198,12 @@ public class PropertyGenTest extends CodegenTestCase { } public void testKt1165() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1165.kt"); } public void testKt1168() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1168.kt"); } @@ -211,17 +213,17 @@ public class PropertyGenTest extends CodegenTestCase { } public void testKt1159() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1159.kt"); } public void testKt1417() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1417.kt"); } public void testKt1398() throws Exception { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1398.kt"); } diff --git a/compiler/tests/org/jetbrains/jet/codegen/SafeRefTest.java b/compiler/tests/org/jetbrains/jet/codegen/SafeRefTest.java index 3205f9c01cd..fc1a4ccb5df 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/SafeRefTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/SafeRefTest.java @@ -16,11 +16,13 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + public class SafeRefTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void test247 () throws Exception { diff --git a/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java b/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java index 23687a94730..50196c364e7 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -28,7 +30,7 @@ public class StringsTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testAnyToString () throws InvocationTargetException, IllegalAccessException { diff --git a/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java index 42a62459aa5..1884873b80a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java @@ -16,12 +16,14 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + public class SuperGenTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } public void testBasicProperty () { diff --git a/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java b/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java index b0576ec4824..0fe37963fdc 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java @@ -16,12 +16,14 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + public class TraitsTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } @Override diff --git a/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java index e3b4df53b09..b394def5fc6 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java @@ -16,9 +16,11 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + public class TupleGenTest extends CodegenTestCase { public void testBasic() { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("/tuples/basic.jet"); // System.out.println(generateToText()); } diff --git a/compiler/tests/org/jetbrains/jet/codegen/TypeInfoTest.java b/compiler/tests/org/jetbrains/jet/codegen/TypeInfoTest.java index f4ca05844c5..e7dfe162c4a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TypeInfoTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TypeInfoTest.java @@ -16,6 +16,9 @@ package org.jetbrains.jet.codegen; +import jet.TypeCastException; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Method; /** @@ -27,7 +30,7 @@ public class TypeInfoTest extends CodegenTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); } @Override diff --git a/compiler/tests/org/jetbrains/jet/codegen/VarArgTest.java b/compiler/tests/org/jetbrains/jet/codegen/VarArgTest.java index 2043ff940e2..37e4b680da1 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/VarArgTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/VarArgTest.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -25,7 +27,7 @@ import java.lang.reflect.Method; */ public class VarArgTest extends CodegenTestCase { public void testStringArray () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test(vararg ts: String) = ts"); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -34,7 +36,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArray () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test(vararg ts: Int) = ts"); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -43,7 +45,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArrayKotlinNoArgs () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = testf(); fun testf(vararg ts: Int) = ts"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -52,7 +54,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArrayKotlin () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = testf(239, 7); fun testf(vararg ts: Int) = ts"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -63,7 +65,7 @@ public class VarArgTest extends CodegenTestCase { } public void testNullableIntArrayKotlin () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = testf(239.toByte(), 7.toByte()); fun testf(vararg ts: Byte?) = ts"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -74,7 +76,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArrayKotlinObj () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = testf(\"239\"); fun testf(vararg ts: String) = ts"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -84,7 +86,7 @@ public class VarArgTest extends CodegenTestCase { } public void testArrayT () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = _array(2, 4); fun _array(vararg elements : T) = elements"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -100,12 +102,12 @@ public class VarArgTest extends CodegenTestCase { } public void testKt797() { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt796_797.jet"); } public void testArrayAsVararg () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("private fun asList(vararg elems: String) = elems; fun test(ts: Array) = asList(*ts); "); //System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -114,7 +116,7 @@ public class VarArgTest extends CodegenTestCase { } public void testArrayAsVararg2 () throws InvocationTargetException, IllegalAccessException { - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("private fun asList(vararg elems: String) = elems; fun test(ts1: Array, ts2: String) = asList(*ts1, ts2); "); System.out.println(generateToText()); final Method main = generateFunction("test"); diff --git a/compiler/tests/org/jetbrains/jet/resolve/ExtensibleResolveTestCase.java b/compiler/tests/org/jetbrains/jet/resolve/ExtensibleResolveTestCase.java index 86cad93f5b7..3e736e690fd 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/ExtensibleResolveTestCase.java +++ b/compiler/tests/org/jetbrains/jet/resolve/ExtensibleResolveTestCase.java @@ -20,6 +20,7 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.jet.JetLiteFixture; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.util.List; @@ -33,7 +34,7 @@ public abstract class ExtensibleResolveTestCase extends JetLiteFixture { protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); + createEnvironmentWithMockJdk(CompilerSpecialMode.STDLIB); expectedResolveData = getExpectedResolveData(); }