diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java index 53feada2a7b8..e1569a1df3c1 100644 --- a/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineMethodProcessor.java @@ -675,17 +675,19 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor { private void addParmAndThisVarInitializers(BlockData blockData, PsiMethodCallExpression methodCall) throws IncorrectOperationException { PsiExpression[] args = methodCall.getArgumentList().getExpressions(); - for (int i = 0; i < args.length; i++) { - int j = Math.min(i, blockData.parmVars.length - 1); - final PsiExpression initializer = blockData.parmVars[j].getInitializer(); - LOG.assertTrue(initializer != null); - if (initializer instanceof PsiNewExpression && ((PsiNewExpression)initializer).getArrayInitializer() != null) { //varargs initializer - final PsiArrayInitializerExpression arrayInitializer = ((PsiNewExpression)initializer).getArrayInitializer(); - arrayInitializer.add(args[i]); - continue; - } + if (blockData.parmVars.length > 0) { + for (int i = 0; i < args.length; i++) { + int j = Math.min(i, blockData.parmVars.length - 1); + final PsiExpression initializer = blockData.parmVars[j].getInitializer(); + LOG.assertTrue(initializer != null); + if (initializer instanceof PsiNewExpression && ((PsiNewExpression)initializer).getArrayInitializer() != null) { //varargs initializer + final PsiArrayInitializerExpression arrayInitializer = ((PsiNewExpression)initializer).getArrayInitializer(); + arrayInitializer.add(args[i]); + continue; + } - initializer.replace(args[i]); + initializer.replace(args[i]); + } } if (blockData.thisVar != null) { diff --git a/java/java-tests/testData/refactoring/inlineMethod/StaticMethodWithoutParams.java b/java/java-tests/testData/refactoring/inlineMethod/StaticMethodWithoutParams.java new file mode 100644 index 000000000000..db4ad0e06c05 --- /dev/null +++ b/java/java-tests/testData/refactoring/inlineMethod/StaticMethodWithoutParams.java @@ -0,0 +1,6 @@ +class A{ + static void foo(){} + static void bar(){ + foo(666); + } +} diff --git a/java/java-tests/testData/refactoring/inlineMethod/StaticMethodWithoutParams.java.after b/java/java-tests/testData/refactoring/inlineMethod/StaticMethodWithoutParams.java.after new file mode 100644 index 000000000000..52733071861f --- /dev/null +++ b/java/java-tests/testData/refactoring/inlineMethod/StaticMethodWithoutParams.java.after @@ -0,0 +1,4 @@ +class A{ + static void bar(){ + } +} diff --git a/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java b/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java index ba9102562781..44f696d0f12d 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/inline/InlineMethodTest.java @@ -140,6 +140,10 @@ public class InlineMethodTest extends LightCodeInsightTestCase { doTest(); } + public void testStaticMethodWithoutParams() throws Exception { + doTest(); + } + @Override protected Sdk getProjectJDK() { return JavaSdkImpl.getMockJdk15("java 1.5");