From 679098e3e1f53c547893046d631db7c29ec78853 Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Thu, 16 Jan 2020 15:56:16 +0700 Subject: [PATCH] IDEA-230560 IAE when apply quick-fix which makes record constructor public GitOrigin-RevId: 501a9c5bd2fb5737f6c8997c11927467eff43eda --- .../com/intellij/psi/impl/source/PsiModifierListImpl.java | 5 ++++- .../quickFix/modifier14/afterCompactCtor.java | 4 ++++ .../quickFix/modifier14/beforeCompactCtor.java | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/afterCompactCtor.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/beforeCompactCtor.java diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiModifierListImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiModifierListImpl.java index 0fdde0bdcc85..36fa8ae89553 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiModifierListImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiModifierListImpl.java @@ -211,7 +211,10 @@ public class PsiModifierListImpl extends JavaStubPsiElement // changes horizontal position of parameters list start, hence, we need to reformat them in order to preserve alignment. if (parent instanceof PsiMethod) { PsiMethod method = (PsiMethod)parent; - CodeEditUtil.markToReformat(method.getParameterList().getNode(), true); + ASTNode node = method.getParameterList().getNode(); + if (node != null) { // could be a compact constructor parameter list + CodeEditUtil.markToReformat(node, true); + } } if (value) { diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/afterCompactCtor.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/afterCompactCtor.java new file mode 100644 index 000000000000..414d8269ad84 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/afterCompactCtor.java @@ -0,0 +1,4 @@ +// "Make 'R' public" "true" +record R () { + public R {} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/beforeCompactCtor.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/beforeCompactCtor.java new file mode 100644 index 000000000000..09bfc5e586b3 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/modifier14/beforeCompactCtor.java @@ -0,0 +1,4 @@ +// "Make 'R' public" "true" +record R () { + R {} +} \ No newline at end of file