fix possible SOE in multi-ile resolve

This commit is contained in:
Dmitry Jemerov
2010-02-03 17:53:41 +03:00
parent f722eba181
commit 7f67838fcc
4 changed files with 9 additions and 0 deletions
@@ -101,6 +101,7 @@ public class PyResolveUtil {
@Nullable
public static PsiElement getPrevNodeOf(PsiElement elt, PsiScopeProcessor proc) {
if (elt instanceof PsiFile) return null; // no sense to get the previous node of a file
if (proc instanceof PyClassScopeProcessor) {
return getPrevNodeOf(elt, ((PyClassScopeProcessor)proc).getPossibleTargets());
}
@@ -0,0 +1,4 @@
from tornado.options import define
define()
# <ref>
@@ -134,6 +134,10 @@ public class PyMultiFileResolveTest extends PyLightFixtureTestCase {
assertEquals("Context", ((PyClass) element).getName());
}
public void testStackOverflowOnEmptyFile() throws Exception {
assertNull(doResolve()); // make sure we don't have a SOE here
}
private PsiFile prepareFile() throws Exception {
String testName = getTestName(true);
String fileName = getTestName(false) + ".py";