diff --git a/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java b/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java index 5add8b3193e1..9635c7f631ba 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java @@ -661,7 +661,7 @@ public class IntroduceParameterHandler extends IntroduceHandlerBase { PsiExpression expression = factory .createExpressionFromText("new " + selectedType.getCanonicalText() + "() {" + methodText.get() + "}", - methodToIntroduceParameter); + elements[0]); expression = (PsiExpression)JavaCodeStyleManager.getInstance(project).shortenClassReferences(expression); expression.putUserData(ElementToWorkOn.PARENT, commonParent); @@ -717,7 +717,14 @@ public class IntroduceParameterHandler extends IntroduceHandlerBase { @Override public VariableData[] getChosenParameters() { final InputVariables inputVariables = getInputVariables(); - return inputVariables.getInputVariables().toArray(new VariableData[inputVariables.getInputVariables().size()]); + List datas = new ArrayList(); + for (VariableData data : inputVariables.getInputVariables()) { + if (data.variable instanceof PsiParameter) { + continue; + } + datas.add(data); + } + return datas.toArray(new VariableData[datas.size()]); } @Override diff --git a/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumer.java b/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumer.java index 6f30d35ed4bd..bf9dd2aace3c 100644 --- a/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumer.java +++ b/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumer.java @@ -1,18 +1,16 @@ -import java.util.function.Consumer; - class Test { void bar() { - foo(1, new Consumer() { - public void accept(Integer i) { - System.out.println(i); - System.out.println(i); + foo(new Runnable() { + public void run() { + System.out.println(1); + System.out.println(1); } }); } - void foo(int i, Consumer anObject) { + void foo(Runnable anObject) { - anObject.accept(i); + anObject.run(); } } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumerFromIfStatement.java b/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumerFromIfStatement.java index 38a00ad16528..df229c88a4a9 100644 --- a/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumerFromIfStatement.java +++ b/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntConsumerFromIfStatement.java @@ -1,19 +1,17 @@ -import java.util.function.Consumer; - class Test { void bar() { - foo(1, new Consumer() { - public void accept(Integer i) { - System.out.println(i); - System.out.println(i); + foo(1, new Runnable() { + public void run() { + System.out.println(1); + System.out.println(1); } }); } - void foo(int i, Consumer anObject) { + void foo(int i, Runnable anObject) { if (i > 0) { - anObject.accept(i); + anObject.run(); } } diff --git a/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntPredicateConditionalExit.java b/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntPredicateConditionalExit.java index 8348efde3bd6..ee84e985300b 100644 --- a/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntPredicateConditionalExit.java +++ b/java/java-tests/testData/refactoring/introduceFunctionalParameter/afterIntPredicateConditionalExit.java @@ -1,12 +1,12 @@ -import java.util.function.Function; +import java.util.function.BooleanSupplier; class Test { void bar() { - foo(1, new Function() { - public boolean apply(Integer i) { - if (i > 0) { - System.out.println(i); - System.out.println(i); + foo(new BooleanSupplier() { + public boolean getAsBoolean() { + if (1 > 0) { + System.out.println(1); + System.out.println(1); return true; } return false; @@ -14,9 +14,9 @@ class Test { }); } - void foo(int i, Function anObject) { + void foo(BooleanSupplier anObject) { - if (anObject.apply(i)) return; + if (anObject.getAsBoolean()) return; System.out.println("Hi"); }