diff --git a/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToAtomicIntention.java b/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToAtomicIntention.java index d794d59f9943..e983453a11c6 100644 --- a/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToAtomicIntention.java +++ b/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToAtomicIntention.java @@ -99,6 +99,7 @@ public class ConvertFieldToAtomicIntention extends PsiElementBaseIntentionAction public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException { final PsiVariable psiVariable = getVariable(element); LOG.assertTrue(psiVariable != null); + psiVariable.normalizeDeclaration(); final Query refs = ReferencesSearch.search(psiVariable); diff --git a/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToThreadLocalIntention.java b/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToThreadLocalIntention.java index e01aaadae7d8..38ff0ef466ae 100644 --- a/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToThreadLocalIntention.java +++ b/java/typeMigration/src/com/intellij/refactoring/typeMigration/intentions/ConvertFieldToThreadLocalIntention.java @@ -69,6 +69,7 @@ public class ConvertFieldToThreadLocalIntention extends PsiElementBaseIntentionA public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException { final PsiField psiField = PsiTreeUtil.getParentOfType(element, PsiField.class); LOG.assertTrue(psiField != null); + psiField.normalizeDeclaration(); final Query refs = ReferencesSearch.search(psiField); final Set elements = new HashSet(); diff --git a/java/typeMigration/testData/intentions/atomic/afterNormalize.java b/java/typeMigration/testData/intentions/atomic/afterNormalize.java new file mode 100644 index 000000000000..c454d5787206 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/afterNormalize.java @@ -0,0 +1,8 @@ +import java.util.concurrent.atomic.AtomicReference; + +// "Convert to atomic" "true" +class X { + private final AtomicReference s = new AtomicReference<>(""); + private String t; + private String u; +} \ No newline at end of file diff --git a/java/typeMigration/testData/intentions/atomic/beforeNormalize.java b/java/typeMigration/testData/intentions/atomic/beforeNormalize.java new file mode 100644 index 000000000000..6ac1fd926ea4 --- /dev/null +++ b/java/typeMigration/testData/intentions/atomic/beforeNormalize.java @@ -0,0 +1,4 @@ +// "Convert to atomic" "true" +class X { + private String s = "", t, u; +} \ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/afterNormalize.java b/java/typeMigration/testData/intentions/threadLocal/afterNormalize.java new file mode 100644 index 000000000000..1b2532d9d1de --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/afterNormalize.java @@ -0,0 +1,11 @@ +// "Convert to ThreadLocal" "true" +class X { + private final ThreadLocal s = new ThreadLocal() { + @Override + protected String initialValue() { + return ""; + } + }; + private String t; + private String u; +} \ No newline at end of file diff --git a/java/typeMigration/testData/intentions/threadLocal/beforeNormalize.java b/java/typeMigration/testData/intentions/threadLocal/beforeNormalize.java new file mode 100644 index 000000000000..03b757b721d6 --- /dev/null +++ b/java/typeMigration/testData/intentions/threadLocal/beforeNormalize.java @@ -0,0 +1,4 @@ +// "Convert to ThreadLocal" "true" +class X { + private String s = "", t, u; +} \ No newline at end of file