From 0b3d4be898fcedcdc56ea63d4e56edcbaf1fddc6 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 28 Apr 2011 21:42:34 +0200 Subject: [PATCH] EA-27366 - NPE: ExtractMethodProcessor.processMatch (cherry picked from commit e1c2bbc461d68db1bd2986946449fa7875c725a8) --- .../refactoring/extractMethod/ExtractMethodProcessor.java | 6 ++++-- .../src/com/intellij/refactoring/util/duplicates/Match.java | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java index a1ba3ef08c0b..84accbf10b51 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java @@ -877,8 +877,10 @@ public class ExtractMethodProcessor implements MatchProvider { } for (ParameterTablePanel.VariableData data : datas) { final List parameterValue = match.getParameterValues(data.variable); - for (PsiElement val : parameterValue) { - methodCallExpression.getArgumentList().add(val); + if (parameterValue != null) { + for (PsiElement val : parameterValue) { + methodCallExpression.getArgumentList().add(val); + } } } return match.replace(myExtractedMethod, methodCallExpression, myOutputVariable); diff --git a/java/java-impl/src/com/intellij/refactoring/util/duplicates/Match.java b/java/java-impl/src/com/intellij/refactoring/util/duplicates/Match.java index 01bcd52cade0..933854bbb11b 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/duplicates/Match.java +++ b/java/java-impl/src/com/intellij/refactoring/util/duplicates/Match.java @@ -71,6 +71,7 @@ public final class Match { return myMatchEnd; } + @Nullable public List getParameterValues(PsiVariable parameter) { return myParameterValues.get(parameter); }