IDEA-74716 Groovy: IOE at PsiJavaParserFacadeImpl.createExpressionFromText() on Change Signature Refactoring -> Add Parameter without default value, if method is used in Java code

This commit is contained in:
Maxim Medvedev
2011-10-04 22:06:49 +04:00
parent aa0cd78f2d
commit ba1ac92dee
6 changed files with 21 additions and 2 deletions
@@ -103,8 +103,7 @@ public class GrParameterInfo implements JavaParameterInfo {
}
public PsiExpression getValue(PsiCallExpression callExpression) {
return JavaPsiFacade.getInstance(callExpression.getProject()).getElementFactory()
.createExpressionFromText(myDefaultValue, callExpression);
return JavaPsiFacade.getElementFactory(callExpression.getProject()).createExpressionFromText(getDefaultValue(), callExpression);
}
public boolean isVarargType() {
@@ -240,6 +240,10 @@ public class ChangeSignatureTest extends ChangeSignatureTestCase {
doTest(new SimpleInfo("newName", 0), new SimpleInfo(1));
}
public void testDefaultInitializerInJava() {
doTest(new SimpleInfo("p", -1, "", "1", ""));
}
private PsiType createType(String typeText) {
return JavaPsiFacade.getElementFactory(getProject()).createTypeByFQClassName(typeText, GlobalSearchScope.allScope(getProject()));
}
@@ -0,0 +1,3 @@
class GClass {
public void tes<caret>t() {}
}
@@ -0,0 +1,5 @@
public class JClass {
void doTest() {
new GClass().test();
}
}
@@ -0,0 +1,3 @@
class GClass {
public test(def p = 1) {}
}
@@ -0,0 +1,5 @@
public class JClass {
void doTest() {
new GClass().test(1);
}
}