javafx: fqns in tag names (IDEA-100287)

This commit is contained in:
Anna Kozlova
2013-02-01 16:51:54 +04:00
parent 8b87a12222
commit 8949c06994
3 changed files with 19 additions and 2 deletions
@@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.psi.impl.source.PostprocessReformattingAspect;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PropertyUtil;
import com.intellij.psi.util.PsiTreeUtil;
@@ -82,7 +83,11 @@ public class JavaFxPsiUtil {
}
public static PsiClass findPsiClass(String name, XmlTag tag) {
return findPsiClass(name, parseImports((XmlFile)tag.getContainingFile()), tag, tag.getProject());
final Project project = tag.getProject();
if (!StringUtil.getShortName(name).equals(name)) {
return JavaPsiFacade.getInstance(project).findClass(name, GlobalSearchScope.allScope(project));
}
return findPsiClass(name, parseImports((XmlFile)tag.getContainingFile()), tag, project);
}
private static PsiClass findPsiClass(String name, List<String> imports, XmlTag tag, Project project) {
@@ -155,7 +160,11 @@ public class JavaFxPsiUtil {
public static boolean isClassTag(String name) {
final String shortName = StringUtil.getShortName(name);
return StringUtil.isCapitalized(name) && name.equals(shortName);
final boolean capitalized = StringUtil.isCapitalized(name);
if (name.equals(shortName)) {
return capitalized;
}
return !capitalized;
}
public static PsiMethod findPropertySetter(String attributeName, XmlTag context) {
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<javafx.scene.layout.AnchorPane xmlns:fx="http://javafx.com/fxml">
</javafx.scene.layout.AnchorPane>
@@ -155,6 +155,10 @@ public class JavaFXHighlightingTest extends DaemonAnalyzerTestCase {
doTest();
}
public void testFQNtagNames() throws Exception {
doTest();
}
@NotNull
@Override
protected String getTestDataPath() {