mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
light file's resolve scope should include that file (IDEA-152676)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.intellij.psi.resolve;
|
||||
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.impl.search.JavaSourceFilterScope;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
@@ -57,4 +58,17 @@ public class ResolveInCodeFragmentTest extends ResolveTestCase {
|
||||
PsiExpression lightExpr = JavaPsiFacade.getElementFactory(myProject).createExpressionFromText("xxx.xxx", fragment);
|
||||
assertEquals(lightExpr.getResolveScope(), fragment.getResolveScope());
|
||||
}
|
||||
|
||||
public void testClassHierarchyInNonPhysicalFile() {
|
||||
PsiFile file = PsiFileFactory.getInstance(myProject).createFileFromText("a.java", JavaFileType.INSTANCE,
|
||||
"class Parent { void foo( ); }\n" +
|
||||
"class Child extends Parent { }\n" +
|
||||
"class User {\n" +
|
||||
" void caller() { new Child().foo(); }\n" +
|
||||
"}", 0, true);
|
||||
PsiReference ref = file.findReferenceAt(file.getText().indexOf("foo()"));
|
||||
assertNotNull(ref);
|
||||
assertTrue(ref.getElement().getResolveScope().contains(file.getViewProvider().getVirtualFile()));
|
||||
assertInstanceOf(ref.resolve(), PsiMethod.class);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user