mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-05-06 05:10:22 +07:00
AIOOBE
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
class A{
|
||||
static void <caret>foo(){}
|
||||
static void bar(){
|
||||
foo(666);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
class A{
|
||||
static void bar(){
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user