Avoid accessing stubs in JetFileStubBuilder
Probable fix of SOE in file stub building
This commit is contained in:
@@ -124,7 +124,11 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet
|
|||||||
if (stub != null) {
|
if (stub != null) {
|
||||||
return stub.getPackageFqName();
|
return stub.getPackageFqName();
|
||||||
}
|
}
|
||||||
|
return getPackageFqNameByTree();
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public FqName getPackageFqNameByTree() {
|
||||||
JetPackageDirective packageDirective = getPackageDirective();
|
JetPackageDirective packageDirective = getPackageDirective();
|
||||||
if (packageDirective == null) {
|
if (packageDirective == null) {
|
||||||
return FqName.ROOT;
|
return FqName.ROOT;
|
||||||
@@ -158,7 +162,10 @@ public class JetFile extends PsiFileBase implements JetDeclarationContainer, Jet
|
|||||||
if (stub != null) {
|
if (stub != null) {
|
||||||
return stub.isScript();
|
return stub.isScript();
|
||||||
}
|
}
|
||||||
|
return isScriptByTree();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isScriptByTree() {
|
||||||
return getScript() != null;
|
return getScript() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -31,6 +31,6 @@ public class JetFileStubBuilder extends DefaultStubBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
JetFile jetFile = (JetFile) file;
|
JetFile jetFile = (JetFile) file;
|
||||||
return new PsiJetFileStubImpl(jetFile, jetFile.getPackageFqName().asString(), jetFile.isScript());
|
return new PsiJetFileStubImpl(jetFile, jetFile.getPackageFqNameByTree().asString(), jetFile.isScriptByTree());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user