From 7d92cb518a34006191ec2e934f17ea06c0021a82 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 29 Apr 2013 20:14:38 +0200 Subject: [PATCH] javafx: old style css attachment (IDEA-106192) --- .../refs/JavaFxReferencesContributor.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxReferencesContributor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxReferencesContributor.java index 034c276779dd..46e73c213558 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxReferencesContributor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxReferencesContributor.java @@ -57,15 +57,23 @@ public class JavaFxReferencesContributor extends PsiReferenceContributor { methodCallExpression = PsiTreeUtil.getParentOfType(addArgumentsList, PsiMethodCallExpression.class); } if (methodCallExpression != null) { - final PsiMethod psiMethod = methodCallExpression.resolveMethod(); - if (psiMethod != null && "add".equals(psiMethod.getName())) { - final PsiClass containingClass = psiMethod.getContainingClass(); - if (containingClass != null ) { - final PsiExpression qualifierExpression = methodCallExpression.getMethodExpression().getQualifierExpression(); - if (qualifierExpression instanceof PsiMethodCallExpression) { - final PsiReferenceExpression getStylesheetsMethodExpression = ((PsiMethodCallExpression)qualifierExpression).getMethodExpression(); - if ("getStylesheets".equals(getStylesheetsMethodExpression.getReferenceName())) { - return getStylesheetsMethodExpression.getQualifierExpression(); + PsiMethod psiMethod = methodCallExpression.resolveMethod(); + if (psiMethod != null) { + if ("getResource".equals(psiMethod.getName())) { + final PsiExpressionList addArgumentsList = PsiTreeUtil.getParentOfType(methodCallExpression, PsiExpressionList.class); + methodCallExpression = PsiTreeUtil.getParentOfType(addArgumentsList, PsiMethodCallExpression.class); + psiMethod = methodCallExpression != null ? methodCallExpression.resolveMethod() : null; + if (psiMethod == null) return null; + } + if ("add".equals(psiMethod.getName())) { + final PsiClass containingClass = psiMethod.getContainingClass(); + if (containingClass != null ) { + final PsiExpression qualifierExpression = methodCallExpression.getMethodExpression().getQualifierExpression(); + if (qualifierExpression instanceof PsiMethodCallExpression) { + final PsiReferenceExpression getStylesheetsMethodExpression = ((PsiMethodCallExpression)qualifierExpression).getMethodExpression(); + if ("getStylesheets".equals(getStylesheetsMethodExpression.getReferenceName())) { + return getStylesheetsMethodExpression.getQualifierExpression(); + } } } }