Correctly resolving all references in library source.

Added test with stdlib.

Ignoring top-level members from library source to avoid ambiguity. Resolving classes from source when deserializing descriptors (for unification).
This commit is contained in:
Evgeny Gerashchenko
2013-09-11 16:53:35 +04:00
parent e4d8e4d61b
commit 53c832d88c
11 changed files with 241 additions and 31 deletions
@@ -26,6 +26,8 @@ import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.jet.JetTestCaseBuilder;
import org.jetbrains.jet.codegen.forTestCompile.ForTestPackJdkAnnotations;
import java.io.File;
public class PluginTestCaseBase {
public static final String TEST_DATA_PROJECT_RELATIVE = "/idea/testData";
@@ -37,8 +39,8 @@ public class PluginTestCaseBase {
return JetTestCaseBuilder.getHomeDirectory() + TEST_DATA_PROJECT_RELATIVE;
}
public static Sdk jdkFromIdeaHome() {
Sdk sdk = new JavaSdkImpl().createJdk("JDK", "compiler/testData/mockJDK/jre", true);
private static Sdk getSdk(String sdkHome) {
Sdk sdk = new JavaSdkImpl().createJdk("JDK", sdkHome, true);
SdkModificator modificator = sdk.getSdkModificator();
VirtualFile file = LocalFileSystem.getInstance().findFileByIoFile(ForTestPackJdkAnnotations.jdkAnnotationsForTests());
assert file != null;
@@ -46,4 +48,15 @@ public class PluginTestCaseBase {
modificator.commitChanges();
return sdk;
}
public static Sdk jdkFromIdeaHome() {
return getSdk("compiler/testData/mockJDK/jre");
}
public static Sdk fullJdk() {
String javaHome = System.getProperty("java.home");
assert new File(javaHome).isDirectory();
return getSdk(javaHome);
}
}