diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java index f0ae060e20c..76f2644fe5c 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/JetCoreEnvironment.java @@ -47,8 +47,14 @@ import java.util.List; public class JetCoreEnvironment extends JavaCoreEnvironment { private final List sourceFiles = new ArrayList(); + @NotNull + private final CompilerDependencies compilerDependencies; + public JetCoreEnvironment(Disposable parentDisposable, @NotNull CompilerDependencies compilerDependencies) { super(parentDisposable); + + this.compilerDependencies = compilerDependencies; + registerFileType(JetFileType.INSTANCE, "kt"); registerFileType(JetFileType.INSTANCE, "kts"); registerFileType(JetFileType.INSTANCE, "ktm"); @@ -150,4 +156,9 @@ public class JetCoreEnvironment extends JavaCoreEnvironment { } } } + + @NotNull + public CompilerDependencies getCompilerDependencies() { + return compilerDependencies; + } } diff --git a/compiler/testData/codegen/classes/overloadPlusAssign.jet b/compiler/testData/codegen/classes/overloadPlusAssign.jet index 5247973e8d6..4f5d9618c37 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).sure() } } diff --git a/compiler/testData/codegen/classes/overloadPlusAssignReturn.jet b/compiler/testData/codegen/classes/overloadPlusAssignReturn.jet index c5236b0ace4..7f612abcbcb 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).sure() } } diff --git a/compiler/testData/codegen/classes/overloadPlusToPlusAssign.jet b/compiler/testData/codegen/classes/overloadPlusToPlusAssign.jet index c5236b0ace4..7f612abcbcb 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).sure() } } diff --git a/compiler/testData/codegen/classes/overloadUnaryOperator.jet b/compiler/testData/codegen/classes/overloadUnaryOperator.jet index 120f84a2746..c799da4fe8b 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).sure() } } diff --git a/compiler/testData/codegen/controlStructures/forUserType.jet b/compiler/testData/codegen/controlStructures/forUserType.jet index 7c0a4d1203d..f7dfbf1960d 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.sure() } if(sum != 15) return "c1 failed" val c2 = MyCollection1() sum = 0 for (el in c2) { - sum = sum + el + sum = sum + el.sure() } if(sum != 15) return "c2 failed" val c3: Iterable = MyCollection2() sum = 0 for (el in c3) { - sum = sum + el + sum = sum + el.sure() } if(sum != 15) return "c3 failed" val c4 = MyCollection2() sum = 0 for (el in c4) { - sum = sum + el + sum = sum + el.sure() } 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.sure() } 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.sure() } if(sum != 0) return "c7 failed" diff --git a/compiler/testData/codegen/regressions/kt471.kt b/compiler/testData/codegen/regressions/kt471.kt index bc452506e78..665a2f52b1a 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,25 +50,26 @@ fun test6() : Boolean { return true } +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 - return true -} - - fun box() : String { var m = MyNumber(42) @@ -82,7 +81,6 @@ fun box() : String { if (!test5()) return "fail test 5" if (!test6()) return "fail test 6" if (!test7()) return "fail test 7" - if (!test8()) return "fail test 8" ++m 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 514a00a8990..70db5fdf602 100644 --- a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java +++ b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java @@ -30,8 +30,10 @@ import com.intellij.testFramework.LightVirtualFile; import com.intellij.testFramework.TestDataFile; import com.intellij.testFramework.UsefulTestCase; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import org.jetbrains.jet.plugin.JetLanguage; import java.io.File; @@ -65,14 +67,26 @@ public abstract class JetLiteFixture extends UsefulTestCase { @Override protected void setUp() throws Exception { super.setUp(); - createEnvironmentWithMockJdk(); } protected void createEnvironmentWithMockJdk() { + if (myEnvironment != null) { + throw new IllegalStateException("must not set up myEnvironemnt twice"); + } 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"); + } myEnvironment = JetTestUtils.createEnvironmentWithFullJdk(getTestRootDisposable()); } diff --git a/compiler/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java b/compiler/tests/org/jetbrains/jet/cfg/JetControlFlowTest.java index 03ab347496e..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; @@ -42,7 +43,7 @@ public class JetControlFlowTest extends JetLiteFixture { static { System.setProperty("idea.platform.prefix", "Idea"); } - + private String myName; public JetControlFlowTest(String dataPath, String name) { @@ -50,6 +51,13 @@ public class JetControlFlowTest extends JetLiteFixture { myName = name; } + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.STDLIB); + } + @Override public String getName() { return "test" + myName; diff --git a/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java b/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java index 1c447845f51..3aeae16c31a 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java +++ b/compiler/tests/org/jetbrains/jet/checkers/CheckerTestUtilTest.java @@ -40,6 +40,13 @@ public class CheckerTestUtilTest extends JetLiteFixture { super("diagnostics/checkerTestUtil"); } + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(); + } + + protected void doTest(TheTest theTest) throws Exception { prepareForTest("test"); theTest.test(myFile); diff --git a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java index f1414d9cd17..6418bd51c8a 100644 --- a/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java +++ b/compiler/tests/org/jetbrains/jet/checkers/JetDiagnosticsTest.java @@ -54,6 +54,12 @@ public class JetDiagnosticsTest extends JetLiteFixture { this.name = name; } + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.STDLIB); + } + @Override public String getName() { return "test" + name; diff --git a/compiler/tests/org/jetbrains/jet/codegen/AnnotationGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/AnnotationGenTest.java index cc68c573163..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; @@ -24,6 +25,13 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class AnnotationGenTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testPropField() throws NoSuchFieldException, NoSuchMethodException { loadText("[Deprecated] var x = 0"); Class aClass = generateNamespaceClass(); diff --git a/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java index 83935e04995..067d9600d74 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ArrayGenTest.java @@ -16,9 +16,18 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + import java.lang.reflect.Method; public class ArrayGenTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testKt238 () throws Exception { blackBoxFile("regressions/kt238.jet"); } @@ -237,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"); @@ -257,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 dc1a068531b..c389165b403 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/BridgeMethodGenTest.java @@ -16,8 +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(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 8598ee335b8..a21348bd85a 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; @@ -26,7 +28,14 @@ import java.util.List; * @author alex.tkachman */ public class ClassGenTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + } + public void testPSVMClass() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/simpleClass.jet"); final Class aClass = loadClass("SimpleClass", generateClassesInFile()); @@ -37,6 +46,7 @@ public class ClassGenTest extends CodegenTestCase { } public void testArrayListInheritance() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/inheritingFromArrayList.jet"); // System.out.println(generateToText()); final Class aClass = loadClass("Foo", generateClassesInFile()); @@ -44,30 +54,37 @@ public class ClassGenTest extends CodegenTestCase { } public void testInheritanceAndDelegation_DelegatingDefaultConstructorProperties() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/inheritance.jet"); } public void testInheritanceAndDelegation2() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/delegation2.kt"); } public void testFunDelegation() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/funDelegation.jet"); } public void testPropertyDelegation() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/propertyDelegation.jet"); } public void testDiamondInheritance() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/diamondInheritance.jet"); } public void testRightHandOverride() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/rightHandOverride.jet"); } public void testNewInstanceExplicitConstructor() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/newInstanceDefaultConstructor.jet"); // System.out.println(generateToText()); final Method method = generateFunction("test"); @@ -76,18 +93,22 @@ public class ClassGenTest extends CodegenTestCase { } public void testInnerClass() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/innerClass.jet"); } public void testInheritedInnerClass() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/inheritedInnerClass.jet"); } public void testInitializerBlock() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/initializerBlock.jet"); } public void testAbstractMethod() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class Foo { abstract fun x(): String; fun y(): Int = 0 }"); final ClassFileFactory codegens = generateClassesInFile(); @@ -97,34 +118,42 @@ public class ClassGenTest extends CodegenTestCase { } public void testInheritedMethod() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/inheritedMethod.jet"); } public void testInitializerBlockDImpl() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/initializerBlockDImpl.jet"); } public void testPropertyInInitializer() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/propertyInInitializer.jet"); } public void testOuterThis() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/outerThis.jet"); } public void testSecondaryConstructors() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/secondaryConstructors.jet"); } public void testExceptionConstructor() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/exceptionConstructor.jet"); } public void testSimpleBox() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/simpleBox.jet"); } public void testAbstractClass() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class SimpleClass() { }"); final Class aClass = createClassLoader(generateClassesInFile()).loadClass("SimpleClass"); @@ -132,15 +161,18 @@ public class ClassGenTest extends CodegenTestCase { } public void testClassObject() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/classObject.jet"); } public void testClassObjectMethod() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // todo to be implemented after removal of type info // blackBoxFile("classes/classObjectMethod.jet"); } public void testClassObjectInterface() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("classes/classObjectInterface.jet"); final Method method = generateFunction(); Object result = method.invoke(null); @@ -148,26 +180,32 @@ public class ClassGenTest extends CodegenTestCase { } public void testOverloadBinaryOperator() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadBinaryOperator.jet"); } public void testOverloadUnaryOperator() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadUnaryOperator.jet"); } public void testOverloadPlusAssign() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadPlusAssign.jet"); } public void testOverloadPlusAssignReturn() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadPlusAssignReturn.jet"); } public void testOverloadPlusToPlusAssign() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("classes/overloadPlusToPlusAssign.jet"); } public void testEnumClass() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("enum class Direction { NORTH; SOUTH; EAST; WEST }"); final Class direction = createClassLoader(generateClassesInFile()).loadClass("Direction"); // System.out.println(generateToText()); @@ -177,6 +215,7 @@ public class ClassGenTest extends CodegenTestCase { } public void testEnumConstantConstructors() throws Exception { + 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"); @@ -186,21 +225,25 @@ public class ClassGenTest extends CodegenTestCase { } public void testClassObjFields() throws Exception { + 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(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt249.jet"); } public void testKt48 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt48.jet"); // System.out.println(generateToText()); } public void testKt309 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun box() = null"); final Method method = generateFunction("box"); assertEquals(method.getReturnType().getName(), "java.lang.Object"); @@ -208,60 +251,73 @@ public class ClassGenTest extends CodegenTestCase { } public void testKt343 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt343.jet"); // System.out.println(generateToText()); } public void testKt508 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("regressions/kt508.jet"); // System.out.println(generateToText()); blackBox(); } public void testKt504 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("regressions/kt504.jet"); // System.out.println(generateToText()); blackBox(); } public void testKt501 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt501.jet"); } public void testKt496 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt496.jet"); // System.out.println(generateToText()); } public void testKt500 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt500.jet"); } public void testKt694 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt694.jet"); } public void testKt285 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt285.jet"); } public void testKt707 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt707.jet"); } public void testKt857 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt857.jet"); } public void testKt903 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt903.jet"); } public void testKt940 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt940.kt"); } public void testKt1018 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1018.kt"); } @@ -276,47 +332,58 @@ public class ClassGenTest extends CodegenTestCase { } public void testKt1134() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1134.kt"); } public void testKt1157() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1157.kt"); } public void testKt471() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt471.kt"); } public void testKt1213() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); // blackBoxFile("regressions/kt1213.kt"); } public void testKt723() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt723.kt"); } public void testKt725() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt725.kt"); } public void testKt633() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt633.kt"); } public void testKt1345() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1345.kt"); } public void testKt1538() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1538.kt"); } public void testKt1759() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1759.kt"); } public void testResolveOrder() throws Exception { + 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 d7a2fc81ee6..4b220b4b5c1 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ClosuresGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ClosuresGenTest.java @@ -16,10 +16,19 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + /** * @author max */ public class ClosuresGenTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testSimplestClosure() throws Exception { blackBoxFile("classes/simplestClosure.jet"); // System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java index e95269f3368..302d63f4d7a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java +++ b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java @@ -24,6 +24,7 @@ import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetPsiUtil; +import org.jetbrains.jet.lang.resolve.AnalyzingUtils; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import org.jetbrains.jet.parsing.JetParsingTest; @@ -127,8 +128,9 @@ public abstract class CodegenTestCase extends JetLiteFixture { private GenerationState generateCommon(ClassBuilderFactory classBuilderFactory) { final AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors( myFile, JetControlFlowDataTraceFactory.EMPTY, - CompileCompilerDependenciesTest.compilerDependenciesForTests(CompilerSpecialMode.REGULAR, false)); + 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; @@ -194,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 ed7c393f87a..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,6 +33,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testIf() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); @@ -40,6 +43,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testSingleBranchIf() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); @@ -61,6 +65,7 @@ public class ControlStructuresTest extends CodegenTestCase { } private void factorialTest(final String name) throws IllegalAccessException, InvocationTargetException { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(name); // System.out.println(generateToText()); @@ -70,6 +75,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testContinue() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -78,6 +84,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testIfNoElse() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -86,6 +93,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testCondJumpOnStack() throws Exception { + 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")); @@ -93,6 +101,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testFor() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -101,6 +110,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testIfBlock() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -111,6 +121,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testForInArray() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -119,6 +130,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testForInRange() throws Exception { + 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(); @@ -127,6 +139,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testThrowCheckedException() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo() { throw Exception(); }"); final Method main = generateFunction(); boolean caught = false; @@ -141,6 +154,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testTryCatch() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -149,6 +163,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testTryFinally() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -168,30 +183,37 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testForUserType() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forUserType.jet"); } public void testForIntArray() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forIntArray.jet"); } public void testForPrimitiveIntArray() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forPrimitiveIntArray.jet"); } public void testForNullableIntArray() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forNullableIntArray.jet"); } public void testForIntRange() { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/forIntRange.jet"); } public void testKt237() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt237.jet"); } public void testCompareToNull() throws Exception { + 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")); @@ -202,6 +224,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testCompareToNonnullableEq() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo(a: String?, b: String): Boolean = a == b || b == a"); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -210,6 +233,7 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testCompareToNonnullableNotEq() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun foo(a: String?, b: String): Boolean = a != b"); String text = generateToText(); // System.out.println(text); @@ -220,15 +244,18 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testKt299() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt299.jet"); } public void testKt416() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt416.jet"); // System.out.println(generateToText()); } public void testKt513() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt513.jet"); } @@ -238,31 +265,37 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testKt769() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt769.jet"); // System.out.println(generateToText()); } public void testKt773() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt773.jet"); // System.out.println(generateToText()); } public void testKt772() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt772.jet"); // System.out.println(generateToText()); } public void testKt870() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt870.jet"); // System.out.println(generateToText()); } public void testKt958() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt958.jet"); // System.out.println(generateToText()); } public void testQuicksort() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("controlStructures/quicksort.jet"); // System.out.println(generateToText()); } @@ -280,18 +313,22 @@ public class ControlStructuresTest extends CodegenTestCase { } public void testKt1076() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1076.kt"); } public void testKt998() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt998.kt"); } public void testKt628() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt628.kt"); } public void testKt1441() throws Exception { + 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 d582c5b65a2..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,6 +31,7 @@ public class ExtensionFunctionsTest extends CodegenTestCase { } public void testSimple() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Method foo = generateFunction("foo"); final Character c = (Character) foo.invoke(null); @@ -36,6 +39,7 @@ public class ExtensionFunctionsTest extends CodegenTestCase { } public void testWhenFail() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); // System.out.println(generateToText()); Method foo = generateFunction("foo"); @@ -43,15 +47,18 @@ public class ExtensionFunctionsTest extends CodegenTestCase { } public void testVirtual() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("extensionFunctions/virtual.jet"); } public void testShared() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("extensionFunctions/shared.kt"); // System.out.println(generateToText()); } public void testKt475() throws Exception { + 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 9b5b8062251..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; @@ -23,6 +25,12 @@ import java.lang.reflect.Method; * @author alex.tkachman */ public class FunctionGenTest extends CodegenTestCase { + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testDefaultArgs() throws Exception { blackBoxFile("functions/defaultargs.jet"); // System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/NamespaceGenTest.java index 5b18e101b47..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; @@ -30,6 +31,13 @@ import java.util.Arrays; * @author yole */ public class NamespaceGenTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testPSVM() throws Exception { loadFile("PSVM.jet"); // System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java index ee83ac306d9..2803abd67eb 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ObjectGenTest.java @@ -16,11 +16,19 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + /** * @author yole * @author alex.tkachman */ public class ObjectGenTest extends CodegenTestCase { + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testSimpleObject() throws Exception { blackBoxFile("objects/simpleObject.jet"); // System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/PatternMatchingTest.java b/compiler/tests/org/jetbrains/jet/codegen/PatternMatchingTest.java index 9c1e048c9b0..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; @@ -24,6 +25,13 @@ import java.lang.reflect.Method; * @author yole */ public class PatternMatchingTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + @Override protected String getPrefix() { return "patternMatching"; diff --git a/compiler/tests/org/jetbrains/jet/codegen/PrimitiveTypesTest.java b/compiler/tests/org/jetbrains/jet/codegen/PrimitiveTypesTest.java index 37fe4d052ba..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; /** @@ -23,6 +25,13 @@ import java.lang.reflect.Method; * @author alex.tkachman */ public class PrimitiveTypesTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testPlus() throws Exception { loadText("fun f(a: Int, b: Int): Int { return a + b }"); diff --git a/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/PropertyGenTest.java index a5e7eb58dd3..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,6 +33,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPrivateVal() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Class aClass = loadImplementationClass(generateClassesInFile(), "PrivateVal"); final Field[] fields = aClass.getDeclaredFields(); @@ -40,6 +43,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPrivateVar() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Class aClass = loadImplementationClass(generateClassesInFile(), "PrivateVar"); final Object instance = aClass.newInstance(); @@ -50,6 +54,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPublicVar() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("class PublicVar() { public var foo : Int = 0; }"); final Class aClass = loadImplementationClass(generateClassesInFile(), "PublicVar"); final Object instance = aClass.newInstance(); @@ -60,6 +65,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testAccessorsInInterface() { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("class AccessorsInInterface() { public var foo : Int = 0; }"); final Class aClass = loadClass("AccessorsInInterface", generateClassesInFile()); assertNotNull(findMethodByName(aClass, "getFoo")); @@ -67,6 +73,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPrivatePropertyInNamespace() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("private val x = 239"); final Class nsClass = generateNamespaceClass(); final Field[] fields = nsClass.getDeclaredFields(); @@ -79,6 +86,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testFieldPropertyAccess() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile("properties/fieldPropertyAccess.jet"); // System.out.println(generateToText()); final Method method = generateFunction(); @@ -87,12 +95,14 @@ public class PropertyGenTest extends CodegenTestCase { } public void testFieldGetter() throws Exception { + 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(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Method method = generateFunction("append"); method.invoke(null, "IntelliJ "); @@ -104,6 +114,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testFieldSetterPlusEq() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Method method = generateFunction("append"); method.invoke(null, "IntelliJ "); @@ -112,6 +123,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testAccessorsWithoutBody() throws Exception { + 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"); @@ -129,6 +141,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testInitializersForNamespaceProperties() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("val x = System.currentTimeMillis()"); final Method method = generateFunction("getX"); method.setAccessible(true); @@ -136,6 +149,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testPropertyReceiverOnStack() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadFile(); final Class aClass = loadImplementationClass(generateClassesInFile(), "Evaluator"); final Constructor constructor = aClass.getConstructor(StringBuilder.class); @@ -147,6 +161,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testAbstractVal() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class Foo { public abstract val x: String }"); final ClassFileFactory codegens = generateClassesInFile(); final Class aClass = loadClass("Foo", codegens); @@ -154,6 +169,7 @@ public class PropertyGenTest extends CodegenTestCase { } public void testVolatileProperty() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("abstract class Foo { public volatile var x: String = \"\"; }"); // System.out.println(generateToText()); final ClassFileFactory codegens = generateClassesInFile(); @@ -163,15 +179,18 @@ public class PropertyGenTest extends CodegenTestCase { } public void testKt257 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt257.jet"); // System.out.println(generateToText()); } public void testKt613 () throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt613.jet"); } public void testKt160() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("internal val s = java.lang.Double.toString(1.0)"); final Method method = generateFunction("getS"); method.setAccessible(true); @@ -179,10 +198,12 @@ public class PropertyGenTest extends CodegenTestCase { } public void testKt1165() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1165.kt"); } public void testKt1168() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1168.kt"); } @@ -192,14 +213,17 @@ public class PropertyGenTest extends CodegenTestCase { } public void testKt1159() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1159.kt"); } public void testKt1417() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt1417.kt"); } public void testKt1398() throws Exception { + 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 8a579bef218..fc1a4ccb5df 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/SafeRefTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/SafeRefTest.java @@ -16,7 +16,15 @@ 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(CompilerSpecialMode.JDK_HEADERS); + } + public void test247 () throws Exception { blackBoxFile("regressions/kt247.jet"); } diff --git a/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java b/compiler/tests/org/jetbrains/jet/codegen/StringsTest.java index 73793d9083e..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; @@ -25,6 +27,12 @@ import java.lang.reflect.Method; */ public class StringsTest extends CodegenTestCase { + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + public void testAnyToString () throws InvocationTargetException, IllegalAccessException { loadText("fun foo(x: Any) = x.toString()"); // System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java index 1f83ea3aeb8..1884873b80a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/SuperGenTest.java @@ -16,7 +16,16 @@ 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(CompilerSpecialMode.JDK_HEADERS); + } + public void testBasicProperty () { blackBoxFile("/super/basicproperty.jet"); // System.out.println(generateToText()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java b/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java index 1991e81b676..0fe37963fdc 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TraitsTest.java @@ -16,7 +16,16 @@ 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(CompilerSpecialMode.JDK_HEADERS); + } + @Override protected String getPrefix() { return "traits"; diff --git a/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java index 49c9e6afc25..b394def5fc6 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TupleGenTest.java @@ -16,8 +16,11 @@ package org.jetbrains.jet.codegen; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; + public class TupleGenTest extends CodegenTestCase { public void testBasic() { + 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 06e2cb575b1..e7dfe162c4a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/TypeInfoTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/TypeInfoTest.java @@ -17,6 +17,7 @@ package org.jetbrains.jet.codegen; import jet.TypeCastException; +import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import java.lang.reflect.Method; @@ -25,6 +26,13 @@ import java.lang.reflect.Method; * @author alex.tkachman */ public class TypeInfoTest extends CodegenTestCase { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); + } + @Override protected String getPrefix() { return "typeInfo"; diff --git a/compiler/tests/org/jetbrains/jet/codegen/VarArgTest.java b/compiler/tests/org/jetbrains/jet/codegen/VarArgTest.java index 6164d2dcada..506d9e1f00f 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; @@ -26,6 +28,7 @@ import java.util.Arrays; */ public class VarArgTest extends CodegenTestCase { public void testStringArray () throws InvocationTargetException, IllegalAccessException { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test(vararg ts: String) = ts"); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -34,6 +37,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArray () throws InvocationTargetException, IllegalAccessException { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test(vararg ts: Int) = ts"); // System.out.println(generateToText()); final Method main = generateFunction(); @@ -42,6 +46,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArrayKotlinNoArgs () throws InvocationTargetException, IllegalAccessException { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = testf(); fun testf(vararg ts: Int) = ts"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -50,6 +55,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArrayKotlin () throws InvocationTargetException, IllegalAccessException { + 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"); @@ -60,6 +66,7 @@ public class VarArgTest extends CodegenTestCase { } public void testNullableIntArrayKotlin () throws InvocationTargetException, IllegalAccessException { + 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"); @@ -70,6 +77,7 @@ public class VarArgTest extends CodegenTestCase { } public void testIntArrayKotlinObj () throws InvocationTargetException, IllegalAccessException { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); loadText("fun test() = testf(\"239\"); fun testf(vararg ts: String) = ts"); // System.out.println(generateToText()); final Method main = generateFunction("test"); @@ -79,6 +87,7 @@ public class VarArgTest extends CodegenTestCase { } public void testArrayT () throws InvocationTargetException, IllegalAccessException { + 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"); @@ -94,10 +103,12 @@ public class VarArgTest extends CodegenTestCase { } public void testKt797() { + createEnvironmentWithMockJdk(CompilerSpecialMode.JDK_HEADERS); blackBoxFile("regressions/kt796_797.jet"); } public void testArrayAsVararg () throws InvocationTargetException, IllegalAccessException { + 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"); @@ -106,6 +117,7 @@ public class VarArgTest extends CodegenTestCase { } public void testArrayAsVararg2 () throws InvocationTargetException, IllegalAccessException { + 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/DescriptorRendererTest.java b/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java index fb299b9a079..1165f5ef1fb 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java +++ b/compiler/tests/org/jetbrains/jet/resolve/DescriptorRendererTest.java @@ -41,6 +41,14 @@ import java.util.List; * @since 4/6/12 */ public class DescriptorRendererTest extends JetLiteFixture { + + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(); + } + + public void testGlobalProperties() throws IOException { doTest(); } diff --git a/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java b/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java index f2d236a2e83..00f7434ed38 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java +++ b/compiler/tests/org/jetbrains/jet/resolve/ExpectedResolveData.java @@ -27,6 +27,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.CompileCompilerDependenciesTest; import org.jetbrains.jet.analyzer.AnalyzeExhaust; +import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.lang.cfg.pseudocode.JetControlFlowDataTraceFactory; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.diagnostics.Diagnostic; @@ -78,9 +79,13 @@ public abstract class ExpectedResolveData { private final Map nameToDescriptor; private final Map nameToPsiElement; - public ExpectedResolveData(Map nameToDescriptor, Map nameToPsiElement) { + @NotNull + private final JetCoreEnvironment jetCoreEnvironment; + + public ExpectedResolveData(Map nameToDescriptor, Map nameToPsiElement, @NotNull JetCoreEnvironment environment) { this.nameToDescriptor = nameToDescriptor; this.nameToPsiElement = nameToPsiElement; + jetCoreEnvironment = environment; } public final JetFile createFileFromMarkedUpText(String fileName, String text) { @@ -143,7 +148,7 @@ public abstract class ExpectedResolveData { AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(project, files, Predicates.alwaysTrue(), JetControlFlowDataTraceFactory.EMPTY, - CompileCompilerDependenciesTest.compilerDependenciesForTests(CompilerSpecialMode.REGULAR, true)); + jetCoreEnvironment.getCompilerDependencies()); BindingContext bindingContext = analyzeExhaust.getBindingContext(); for (Diagnostic diagnostic : bindingContext.getDiagnostics()) { if (diagnostic.getFactory() instanceof UnresolvedReferenceDiagnosticFactory) { diff --git a/compiler/tests/org/jetbrains/jet/resolve/ExtensibleResolveTestCase.java b/compiler/tests/org/jetbrains/jet/resolve/ExtensibleResolveTestCase.java index bc8bd8f7f54..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; @@ -32,6 +33,9 @@ public abstract class ExtensibleResolveTestCase extends JetLiteFixture { @Override protected void setUp() throws Exception { super.setUp(); + + createEnvironmentWithMockJdk(CompilerSpecialMode.STDLIB); + expectedResolveData = getExpectedResolveData(); } diff --git a/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java b/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java index 6540ba315cd..f52d1fd7e28 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java +++ b/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java @@ -24,7 +24,6 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; import junit.framework.Test; import org.jetbrains.annotations.NotNull; -import org.jetbrains.jet.CompileCompilerDependenciesTest; import org.jetbrains.jet.JetTestCaseBuilder; import org.jetbrains.jet.di.InjectorForJavaSemanticServices; import org.jetbrains.jet.di.InjectorForTests; @@ -37,8 +36,6 @@ import org.jetbrains.jet.lang.resolve.FqName; import org.jetbrains.jet.lang.resolve.calls.CallResolver; import org.jetbrains.jet.lang.resolve.calls.OverloadResolutionResults; import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; -import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; -import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; import org.jetbrains.jet.lang.resolve.java.PsiClassFinder; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.JetType; @@ -103,7 +100,7 @@ public class JetResolveTest extends ExtensibleResolveTestCase { nameToDeclaration.put("java::java.lang.Number", java_lang_Number); nameToDeclaration.put("java::java.lang.Number.intValue()", java_lang_Number.findMethodsByName("intValue", true)[0]); - return new ExpectedResolveData(nameToDescriptor, nameToDeclaration) { + return new ExpectedResolveData(nameToDescriptor, nameToDeclaration, myEnvironment) { @Override protected JetFile createJetFile(String fileName, String text) { return createCheckAndReturnPsiFile(fileName, text); @@ -127,7 +124,7 @@ public class JetResolveTest extends ExtensibleResolveTestCase { private PsiClass findClass(String qualifiedName) { Project project = getProject(); InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices( - CompileCompilerDependenciesTest.compilerDependenciesForTests(CompilerSpecialMode.REGULAR, true), project); + myEnvironment.getCompilerDependencies(), project); return injector.getPsiClassFinderForJvm().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.THROW); } diff --git a/compiler/tests/org/jetbrains/jet/runtime/JetNpeTest.java b/compiler/tests/org/jetbrains/jet/runtime/JetNpeTest.java index 548314b7cf9..7d7e5fa91a3 100644 --- a/compiler/tests/org/jetbrains/jet/runtime/JetNpeTest.java +++ b/compiler/tests/org/jetbrains/jet/runtime/JetNpeTest.java @@ -22,6 +22,14 @@ import org.jetbrains.jet.codegen.CodegenTestCase; import java.lang.reflect.Method; public class JetNpeTest extends CodegenTestCase { + @Override + protected void setUp() throws Exception { + super.setUp(); + createEnvironmentWithMockJdk(); + } + + + public void testStackTrace () { try { Intrinsics.throwNpe(); diff --git a/compiler/tests/org/jetbrains/jet/types/JetDefaultModalityModifiersTest.java b/compiler/tests/org/jetbrains/jet/types/JetDefaultModalityModifiersTest.java index 1a2a064a398..9134dcbd0d3 100644 --- a/compiler/tests/org/jetbrains/jet/types/JetDefaultModalityModifiersTest.java +++ b/compiler/tests/org/jetbrains/jet/types/JetDefaultModalityModifiersTest.java @@ -45,6 +45,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture { @Override public void setUp() throws Exception { super.setUp(); + super.createEnvironmentWithMockJdk(); tc.setUp(); } diff --git a/compiler/tests/org/jetbrains/jet/types/JetOverloadTest.java b/compiler/tests/org/jetbrains/jet/types/JetOverloadTest.java index 104a46b7f2c..415265d1f7b 100644 --- a/compiler/tests/org/jetbrains/jet/types/JetOverloadTest.java +++ b/compiler/tests/org/jetbrains/jet/types/JetOverloadTest.java @@ -40,6 +40,7 @@ public class JetOverloadTest extends JetLiteFixture { @Override public void setUp() throws Exception { super.setUp(); + createEnvironmentWithMockJdk(); InjectorForTests injector = new InjectorForTests(getProject()); library = injector.getJetStandardLibrary(); descriptorResolver = injector.getDescriptorResolver(); diff --git a/compiler/tests/org/jetbrains/jet/types/JetOverridingTest.java b/compiler/tests/org/jetbrains/jet/types/JetOverridingTest.java index 12d663c8971..8f88357f684 100644 --- a/compiler/tests/org/jetbrains/jet/types/JetOverridingTest.java +++ b/compiler/tests/org/jetbrains/jet/types/JetOverridingTest.java @@ -40,6 +40,7 @@ public class JetOverridingTest extends JetLiteFixture { @Override public void setUp() throws Exception { super.setUp(); + createEnvironmentWithMockJdk(); InjectorForTests injector = new InjectorForTests(getProject()); library = injector.getJetStandardLibrary(); descriptorResolver = injector.getDescriptorResolver(); diff --git a/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java b/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java index 400b00ff07d..8c6200cdf0b 100644 --- a/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java +++ b/compiler/tests/org/jetbrains/jet/types/JetTypeCheckerTest.java @@ -66,6 +66,9 @@ public class JetTypeCheckerTest extends JetLiteFixture { @Override public void setUp() throws Exception { super.setUp(); + + super.createEnvironmentWithMockJdk(); + library = JetStandardLibrary.getInstance(); classDefinitions = new ClassDefinitions();