mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
IDEA-77607 Introduce refactoring looses annotation
This commit is contained in:
@@ -139,7 +139,6 @@ public abstract class LocalToFieldHandler {
|
|||||||
PsiElementFactory factory = JavaPsiFacade.getInstance(project).getElementFactory();
|
PsiElementFactory factory = JavaPsiFacade.getInstance(project).getElementFactory();
|
||||||
try {
|
try {
|
||||||
PsiField field = factory.createFieldFromText(pattern.toString(), null);
|
PsiField field = factory.createFieldFromText(pattern.toString(), null);
|
||||||
field = (PsiField)CodeStyleManager.getInstance(project).reformat(field);
|
|
||||||
|
|
||||||
field.getTypeElement().replace(factory.createTypeElement(forcedType));
|
field.getTypeElement().replace(factory.createTypeElement(forcedType));
|
||||||
if (includeInitializer) {
|
if (includeInitializer) {
|
||||||
@@ -148,6 +147,9 @@ public abstract class LocalToFieldHandler {
|
|||||||
field.getInitializer().replace(initializer);
|
field.getInitializer().replace(initializer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (PsiAnnotation annotation : local.getModifierList().getAnnotations()) {
|
||||||
|
field.getModifierList().add(annotation.copy());
|
||||||
|
}
|
||||||
return field;
|
return field;
|
||||||
}
|
}
|
||||||
catch (IncorrectOperationException e) {
|
catch (IncorrectOperationException e) {
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class Test {
|
||||||
|
void foo() {
|
||||||
|
@Deprecated String foo;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class Test {
|
||||||
|
void foo() {
|
||||||
|
@Deprecated String f<caret>o = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,14 +1,15 @@
|
|||||||
package com.intellij.refactoring;
|
package com.intellij.refactoring;
|
||||||
|
|
||||||
import com.intellij.JavaTestUtil;
|
import com.intellij.JavaTestUtil;
|
||||||
import com.intellij.openapi.projectRoots.Sdk;
|
import com.intellij.idea.Bombed;
|
||||||
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
|
|
||||||
import com.intellij.psi.PsiPrimitiveType;
|
import com.intellij.psi.PsiPrimitiveType;
|
||||||
import com.intellij.psi.PsiType;
|
import com.intellij.psi.PsiType;
|
||||||
import com.intellij.refactoring.introduceField.BaseExpressionToFieldHandler;
|
import com.intellij.refactoring.introduceField.BaseExpressionToFieldHandler;
|
||||||
import com.intellij.refactoring.util.CommonRefactoringUtil;
|
import com.intellij.refactoring.util.CommonRefactoringUtil;
|
||||||
import com.intellij.testFramework.LightCodeInsightTestCase;
|
import com.intellij.testFramework.LightCodeInsightTestCase;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ven
|
* @author ven
|
||||||
*/
|
*/
|
||||||
@@ -105,4 +106,11 @@ public class IntroduceFieldInSameClassTest extends LightCodeInsightTestCase {
|
|||||||
performRefactoring(BaseExpressionToFieldHandler.InitializationPlace.IN_CONSTRUCTOR, false);
|
performRefactoring(BaseExpressionToFieldHandler.InitializationPlace.IN_CONSTRUCTOR, false);
|
||||||
checkResultByFile("/refactoring/introduceField/afterEnclosingAnonymous.java");
|
checkResultByFile("/refactoring/introduceField/afterEnclosingAnonymous.java");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bombed(month = Calendar.JANUARY, day = 17)
|
||||||
|
public void testLocalVarAnnotations() throws Exception {
|
||||||
|
configureByFile("/refactoring/introduceField/beforeLocalVarAnnotations.java");
|
||||||
|
performRefactoring(BaseExpressionToFieldHandler.InitializationPlace.IN_CONSTRUCTOR, false);
|
||||||
|
checkResultByFile("/refactoring/introduceField/afterLocalVarAnnotations.java");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user