mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 06:51:17 +07:00
javafx: support new FXMLLoader(getClass().getResource("*.fxml")); format
This commit is contained in:
+11
-3
@@ -45,9 +45,9 @@ public class JavaFxReferencesContributor extends PsiReferenceContributor {
|
||||
final PsiLiteralExpression literalExpression = (PsiLiteralExpression)context;
|
||||
PsiMethodCallExpression callExpression = PsiTreeUtil.getParentOfType(literalExpression, PsiMethodCallExpression.class);
|
||||
if (callExpression != null && "getResource".equals(callExpression.getMethodExpression().getReferenceName())) {
|
||||
final PsiMethodCallExpression superCall = PsiTreeUtil.getParentOfType(callExpression, PsiMethodCallExpression.class, true);
|
||||
if (superCall != null) {
|
||||
final PsiReferenceExpression methodExpression = superCall.getMethodExpression();
|
||||
final PsiCallExpression superCall = PsiTreeUtil.getParentOfType(callExpression, PsiCallExpression.class, true);
|
||||
if (superCall instanceof PsiMethodCallExpression) {
|
||||
final PsiReferenceExpression methodExpression = ((PsiMethodCallExpression)superCall).getMethodExpression();
|
||||
if ("load".equals(methodExpression.getReferenceName())) {
|
||||
final PsiExpression qualifierExpression = methodExpression.getQualifierExpression();
|
||||
PsiClass psiClass = null;
|
||||
@@ -63,6 +63,14 @@ public class JavaFxReferencesContributor extends PsiReferenceContributor {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} else if (superCall instanceof PsiNewExpression) {
|
||||
final PsiJavaCodeReferenceElement reference = ((PsiNewExpression)superCall).getClassOrAnonymousClassReference();
|
||||
if (reference != null) {
|
||||
final PsiElement resolve = reference.resolve();
|
||||
if (resolve instanceof PsiClass && JavaFxCommonClassNames.JAVAFX_FXML_FXMLLOADER.equals(((PsiClass)resolve).getQualifiedName())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user