summaryrefslogtreecommitdiff
path: root/plugins/javaFX/src/org
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/javaFX/src/org')
-rw-r--r--plugins/javaFX/src/org/jetbrains/plugins/javaFX/codeInsight/JavaFxGetterSetterPrototypeProvider.java7
-rw-r--r--plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxControllerFieldSearcher.java66
2 files changed, 38 insertions, 35 deletions
diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/codeInsight/JavaFxGetterSetterPrototypeProvider.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/codeInsight/JavaFxGetterSetterPrototypeProvider.java
index 8ed3fd8f0e87..8c0ce5742b35 100644
--- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/codeInsight/JavaFxGetterSetterPrototypeProvider.java
+++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/codeInsight/JavaFxGetterSetterPrototypeProvider.java
@@ -15,6 +15,7 @@
*/
package org.jetbrains.plugins.javaFX.codeInsight;
+import com.intellij.codeInsight.generation.GenerateMembersUtil;
import com.intellij.codeInsight.generation.GetterSetterPrototypeProvider;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
@@ -42,7 +43,7 @@ public class JavaFxGetterSetterPrototypeProvider extends GetterSetterPrototypePr
public PsiMethod[] generateGetters(PsiField field) {
final Project project = field.getProject();
final PsiElementFactory factory = JavaPsiFacade.getElementFactory(project);
- final PsiMethod getter = PropertyUtil.generateGetterPrototype(field);
+ final PsiMethod getter = GenerateMembersUtil.generateGetterPrototype(field);
final PsiType wrappedType = JavaFxPsiUtil.getWrappedPropertyType(field, project, JavaFxCommonClassNames.ourReadOnlyMap);
@@ -56,12 +57,12 @@ public class JavaFxGetterSetterPrototypeProvider extends GetterSetterPrototypePr
final PsiMethod propertyGetter = PropertyUtil.generateGetterPrototype(field);
propertyGetter.setName(JavaCodeStyleManager.getInstance(project).variableNameToPropertyName(field.getName(), VariableKind.FIELD) + "Property");
- return new PsiMethod[] {getter, propertyGetter};
+ return new PsiMethod[] {getter, GenerateMembersUtil.annotateOnOverrideImplement(field.getContainingClass(), propertyGetter)};
}
@Override
public PsiMethod[] generateSetters(PsiField field) {
- final PsiMethod setter = PropertyUtil.generateSetterPrototype(field);
+ final PsiMethod setter = GenerateMembersUtil.generateSetterPrototype(field);
final Project project = field.getProject();
final PsiType wrappedType = JavaFxPsiUtil.getWrappedPropertyType(field, project, JavaFxCommonClassNames.ourWritableMap);
diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxControllerFieldSearcher.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxControllerFieldSearcher.java
index 0f3a1846b4e2..742f84fd3efc 100644
--- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxControllerFieldSearcher.java
+++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/refs/JavaFxControllerFieldSearcher.java
@@ -16,6 +16,7 @@
package org.jetbrains.plugins.javaFX.fxml.refs;
import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
@@ -23,6 +24,7 @@ import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.psi.search.LocalSearchScope;
import com.intellij.psi.search.SearchScope;
import com.intellij.psi.search.searches.ReferencesSearch;
+import com.intellij.psi.util.PsiUtilCore;
import com.intellij.psi.xml.XmlAttribute;
import com.intellij.psi.xml.XmlAttributeValue;
import com.intellij.util.Processor;
@@ -43,7 +45,12 @@ public class JavaFxControllerFieldSearcher implements QueryExecutor<PsiReference
final PsiElement elementToSearch = queryParameters.getElementToSearch();
if (elementToSearch instanceof PsiField) {
final PsiField field = (PsiField)elementToSearch;
- final PsiClass containingClass = field.getContainingClass();
+ final PsiClass containingClass = ApplicationManager.getApplication().runReadAction(new Computable<PsiClass>() {
+ @Override
+ public PsiClass compute() {
+ return field.getContainingClass();
+ }
+ });
if (containingClass != null) {
final String qualifiedName = ApplicationManager.getApplication().runReadAction(new Computable<String>() {
@Override
@@ -52,45 +59,40 @@ public class JavaFxControllerFieldSearcher implements QueryExecutor<PsiReference
}
});
if (qualifiedName != null) {
- final List<PsiFile> fxmlWithController =
- JavaFxControllerClassIndex.findFxmlWithController(containingClass.getProject(), qualifiedName);
- final String fieldName = field.getName();
+ Project project = PsiUtilCore.getProjectInReadAction(containingClass);
+ final List<PsiFile> fxmlWithController =
+ JavaFxControllerClassIndex.findFxmlWithController(project, qualifiedName);
for (final PsiFile file : fxmlWithController) {
- final VirtualFile virtualFile = file.getViewProvider().getVirtualFile();
- final SearchScope searchScope = ApplicationManager.getApplication().runReadAction(new Computable<SearchScope>() {
+ ApplicationManager.getApplication().runReadAction(new Runnable() {
@Override
- public SearchScope compute() {
- return queryParameters.getEffectiveSearchScope();
- }
- });
- if (searchScope instanceof LocalSearchScope) {
- if (!((LocalSearchScope)searchScope).isInScope(virtualFile)) continue;
- } else if (searchScope instanceof GlobalSearchScope) {
- if (!((GlobalSearchScope)searchScope).contains(virtualFile)) continue;
- }
- final Runnable runnable = new Runnable() {
public void run() {
- file.accept(new XmlRecursiveElementVisitor() {
- @Override
- public void visitXmlAttributeValue(final XmlAttributeValue value) {
- final PsiReference reference = value.getReference();
- if (reference != null) {
- final PsiElement resolve = reference.resolve();
- if (resolve instanceof XmlAttributeValue) {
- final PsiElement parent = resolve.getParent();
- if (parent instanceof XmlAttribute) {
- final XmlAttribute attribute = (XmlAttribute)parent;
- if (FxmlConstants.FX_ID.equals(attribute.getName()) && fieldName.equals(attribute.getValue())) {
- consumer.process(reference);
+ final String fieldName = field.getName();
+ final VirtualFile virtualFile = file.getViewProvider().getVirtualFile();
+ final SearchScope searchScope = queryParameters.getEffectiveSearchScope();
+ boolean contains = searchScope instanceof LocalSearchScope ? ((LocalSearchScope)searchScope).isInScope(virtualFile) :
+ ((GlobalSearchScope)searchScope).contains(virtualFile);
+ if (contains) {
+ file.accept(new XmlRecursiveElementVisitor() {
+ @Override
+ public void visitXmlAttributeValue(final XmlAttributeValue value) {
+ final PsiReference reference = value.getReference();
+ if (reference != null) {
+ final PsiElement resolve = reference.resolve();
+ if (resolve instanceof XmlAttributeValue) {
+ final PsiElement parent = resolve.getParent();
+ if (parent instanceof XmlAttribute) {
+ final XmlAttribute attribute = (XmlAttribute)parent;
+ if (FxmlConstants.FX_ID.equals(attribute.getName()) && fieldName.equals(attribute.getValue())) {
+ consumer.process(reference);
+ }
}
}
}
}
- }
- });
+ });
+ }
}
- };
- ApplicationManager.getApplication().runReadAction(runnable);
+ });
}
}
}