EA-33665 - AIOOBE: IntroduceVariableBase.createArrayCreationExpression

This commit is contained in:
anna
2012-02-14 18:54:07 +01:00
parent a829ba2568
commit 281a692bff
4 changed files with 27 additions and 2 deletions
@@ -369,7 +369,11 @@ public abstract class IntroduceVariableBase extends IntroduceHandlerBase {
}
}
catch (IncorrectOperationException e) {
return createArrayCreationExpression(text, startOffset, endOffset, PsiTreeUtil.getParentOfType(elementAt, PsiMethodCallExpression.class));
if (elementAt instanceof PsiExpressionList) {
final PsiElement parent = elementAt.getParent();
return parent instanceof PsiCallExpression ? createArrayCreationExpression(text, startOffset, endOffset, (PsiCallExpression)parent) : null;
}
return null;
}
return tempExpr;
@@ -384,7 +388,7 @@ public abstract class IntroduceVariableBase extends IntroduceHandlerBase {
return null;
}
private static PsiExpression createArrayCreationExpression(String text, int startOffset, int endOffset, PsiMethodCallExpression parent) {
private static PsiExpression createArrayCreationExpression(String text, int startOffset, int endOffset, PsiCallExpression parent) {
if (text == null || parent == null) return null;
final String[] varargsExpressions = text.split("s*,s*");
if (varargsExpressions.length > 1) {