This commit is contained in:
anna
2009-12-22 22:09:19 +03:00
parent df4a4ff122
commit d7f916a812
4 changed files with 26 additions and 10 deletions

View File

@@ -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) {

View File

@@ -0,0 +1,6 @@
class A{
static void <caret>foo(){}
static void bar(){
foo(666);
}
}

View File

@@ -0,0 +1,4 @@
class A{
static void bar(){
}
}

View File

@@ -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");