mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
surround with array fix: disable for non-denotable types (IDEA-173797)
This commit is contained in:
+2
-1
@@ -23,6 +23,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.TypeConversionUtil;
|
||||
import com.intellij.util.ArrayUtilRt;
|
||||
@@ -92,7 +93,7 @@ public class SurroundWithArrayFix extends PsiElementBaseIntentionAction {
|
||||
final PsiType paramType = psiParameters[idx].getType();
|
||||
if (paramType instanceof PsiArrayType) {
|
||||
final PsiType expressionType = TypeConversionUtil.erasure(expression.getType());
|
||||
if (expressionType != null) {
|
||||
if (expressionType != null && PsiTypesUtil.isDenotableType(expressionType) && expressionType != PsiType.NULL) {
|
||||
final PsiType componentType = ((PsiArrayType)paramType).getComponentType();
|
||||
if (TypeConversionUtil.isAssignable(componentType, expressionType)) {
|
||||
return expression;
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// "Surround with array initialization" "false"
|
||||
class A {
|
||||
void m1(String[] s,
|
||||
String[] s2,
|
||||
String[] s3) {}
|
||||
{
|
||||
m1( <caret>null, null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user