[java] language level moved to file stub

Needed for accessing language level of module-info.class files.
This commit is contained in:
Roman Shevchenko
2016-07-12 16:50:11 +02:00
parent ddfa8c5540
commit fa9e98cd84
12 changed files with 92 additions and 96 deletions
@@ -113,7 +113,7 @@ public class ClsMirrorBuildingTest extends LightIdeaTestCase {
catch (IOException ignored) { }
}
};
PsiJavaFileStubImpl stub = new PsiJavaFileStubImpl("do.not.know.yet", true);
PsiJavaFileStubImpl stub = new PsiJavaFileStubImpl("java.lang", true);
StubBuildingVisitor<VirtualFile> visitor = new StubBuildingVisitor<>(file, strategy, stub, 0, null);
new ClassReader(file.contentsToByteArray()).accept(visitor, ClassReader.SKIP_FRAMES);
}
@@ -21,6 +21,7 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.io.IoTestUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.impl.compiled.ClsFileImpl;
import com.intellij.psi.impl.compiled.ClsParameterImpl;
import com.intellij.psi.impl.java.stubs.PsiMethodStub;
@@ -87,6 +88,8 @@ public class ClsPsiTest extends LightIdeaTestCase {
assertTrue(file.isValid());
assertEquals("pack", file.getPackageName());
assertEquals(1, file.getClasses().length);
file = getFile("MyEnum");
assertEquals(LanguageLevel.JDK_1_5, file.getLanguageLevel());
}
public void testClassBasics() {