Avoid accessing stubs in JetFileStubBuilder

Probable fix of SOE in file stub building
This commit is contained in:
Pavel V. Talanov
2014-05-19 19:27:25 +04:00
parent 1f5b0b5abb
commit 1bc4872baf
2 changed files with 8 additions and 1 deletions
@@ -124,7 +124,11 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet
if (stub != null) {
return stub.getPackageFqName();
}
return getPackageFqNameByTree();
}
@NotNull
public FqName getPackageFqNameByTree() {
JetPackageDirective packageDirective = getPackageDirective();
if (packageDirective == null) {
return FqName.ROOT;
@@ -158,7 +162,10 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet
if (stub != null) {
return stub.isScript();
}
return isScriptByTree();
}
public boolean isScriptByTree() {
return getScript() != null;
}
@@ -31,6 +31,6 @@ public class JetFileStubBuilder extends DefaultStubBuilder {
}
JetFile jetFile = (JetFile) file;
return new PsiJetFileStubImpl(jetFile, jetFile.getPackageFqName().asString(), jetFile.isScript());
return new PsiJetFileStubImpl(jetFile, jetFile.getPackageFqNameByTree().asString(), jetFile.isScriptByTree());
}
}