mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
resolve to Java fields; more tests
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
package com.jetbrains.python.psi.impl;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.ResolveState;
|
||||
import com.intellij.psi.*;
|
||||
import com.jetbrains.python.psi.types.PyType;
|
||||
import com.jetbrains.python.psi.PyReferenceExpression;
|
||||
import com.jetbrains.python.psi.PyResolveUtil;
|
||||
@@ -23,6 +20,8 @@ public class PyJavaClassType implements PyType {
|
||||
if (methods.length > 0) {
|
||||
return methods [0]; // TODO[yole]: correct resolve
|
||||
}
|
||||
final PsiField field = myClass.findFieldByName(name, true);
|
||||
if (field != null) return field;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
from java.lang import System
|
||||
|
||||
System.ou<ref>t
|
||||
@@ -0,0 +1,4 @@
|
||||
from java.util import ArrayList
|
||||
|
||||
l = ArrayList()
|
||||
l.s<ref>ize()
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.jetbrains.python;
|
||||
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiReference;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.testFramework.ResolveTestCase;
|
||||
|
||||
/**
|
||||
@@ -21,6 +19,18 @@ public class PyToJavaResolveTest extends ResolveTestCase {
|
||||
assertEquals("java.util.ArrayList", ((PsiClass) target).getQualifiedName());
|
||||
}
|
||||
|
||||
public void testMethod() throws Exception {
|
||||
PsiElement target = resolve();
|
||||
assertTrue(target instanceof PsiMethod);
|
||||
assertEquals("java.util.ArrayList", ((PsiMethod) target).getContainingClass().getQualifiedName());
|
||||
}
|
||||
|
||||
public void testField() throws Exception {
|
||||
PsiElement target = resolve();
|
||||
assertTrue(target instanceof PsiField);
|
||||
assertEquals("java.lang.System", ((PsiField) target).getContainingClass().getQualifiedName());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return PathManager.getHomePath() + "/plugins/python/testData/resolve/pyToJava/";
|
||||
|
||||
Reference in New Issue
Block a user