diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateFieldFromParameterAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateFieldFromParameterAction.java index 20c86c13fe67..6f7e956dd028 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateFieldFromParameterAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateFieldFromParameterAction.java @@ -18,10 +18,12 @@ package com.intellij.codeInsight.intention.impl; import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.CodeInsightUtilBase; import com.intellij.codeInsight.NullableNotNullManager; -import com.intellij.codeInsight.generation.*; +import com.intellij.codeInsight.generation.ClassMember; +import com.intellij.codeInsight.generation.MemberChooserObject; +import com.intellij.codeInsight.generation.PsiMethodMember; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.ide.util.MemberChooser; -import com.intellij.lang.StdLanguages; +import com.intellij.lang.java.JavaLanguage; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; @@ -122,10 +124,17 @@ public class CreateFieldFromParameterAction implements IntentionAction { } } if (method == null) return false; + + final List parameters = new ArrayList(); + for (PsiParameter parameter : method.getParameterList().getParameters()) { + if (isAvailable(parameter)) { + parameters.add(parameter); + } + } + synchronized (LOCK) { final Collection> params = getUnboundedParams(method); params.clear(); - final PsiParameter[] parameters = method.getParameterList().getParameters(); for (PsiParameter parameter : parameters) { params.add(SmartPointerManager.getInstance(project).createSmartPsiElementPointer(parameter)); } @@ -143,7 +152,7 @@ public class CreateFieldFromParameterAction implements IntentionAction { final PsiType[] types = getTypes(psiParameter); PsiClass targetClass = PsiTreeUtil.getParentOfType(psiParameter, PsiClass.class); return psiParameter.isValid() - && psiParameter.getLanguage().isKindOf(StdLanguages.JAVA) + && psiParameter.getLanguage().isKindOf(JavaLanguage.INSTANCE) && psiParameter.getDeclarationScope() instanceof PsiMethod && ((PsiMethod)psiParameter.getDeclarationScope()).getBody() != null && psiParameter.getManager().isInProject(psiParameter) @@ -163,8 +172,6 @@ public class CreateFieldFromParameterAction implements IntentionAction { return new AbstractCollection>() { @Override public boolean add(SmartPsiElementPointer psiVariable) { - PsiParameter psiParameter = psiVariable.getElement(); - if (psiParameter == null || !isAvailable(psiParameter)) return false; return finalParams.put(psiVariable, Boolean.TRUE) == null; }