mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
introduce constant: don't miss comments (IDEA-140623)
This commit is contained in:
+16
-8
@@ -203,6 +203,7 @@ public abstract class LocalToFieldHandler {
|
||||
} else {
|
||||
assignment = (PsiStatement)body.add(assignment);
|
||||
}
|
||||
appendComments(local, assignment);
|
||||
local.delete();
|
||||
return assignment;
|
||||
}
|
||||
@@ -228,14 +229,18 @@ public abstract class LocalToFieldHandler {
|
||||
continue;
|
||||
}
|
||||
if ("super".equals(text) && enclosingConstructor == null && PsiTreeUtil.isAncestor(constructor, local, false)) {
|
||||
final PsiStatement statement = (PsiStatement)body.addAfter(assignment, first);
|
||||
appendComments(local, statement);
|
||||
local.delete();
|
||||
return (PsiStatement)body.addAfter(assignment, first);
|
||||
return statement;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (enclosingConstructor == null && PsiTreeUtil.isAncestor(constructor, local, false)) {
|
||||
final PsiStatement statement = (PsiStatement)body.addBefore(assignment, first);
|
||||
appendComments(local, statement);
|
||||
local.delete();
|
||||
return (PsiStatement)body.addBefore(assignment, first);
|
||||
return statement;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,7 +257,10 @@ public abstract class LocalToFieldHandler {
|
||||
}
|
||||
}
|
||||
|
||||
if (enclosingConstructor == null) local.delete();
|
||||
if (enclosingConstructor == null) {
|
||||
appendComments(assignment, local);
|
||||
local.delete();
|
||||
}
|
||||
return assignment;
|
||||
}
|
||||
|
||||
@@ -319,14 +327,14 @@ public abstract class LocalToFieldHandler {
|
||||
|
||||
switch (finalInitializerPlace) {
|
||||
case IN_FIELD_DECLARATION:
|
||||
appendComments(declarationStatement);
|
||||
appendComments(declarationStatement, myField);
|
||||
declarationStatement.delete();
|
||||
break;
|
||||
|
||||
case IN_CURRENT_METHOD:
|
||||
PsiExpressionStatement statement = createAssignment(myLocal, myFieldName, factory);
|
||||
appendComments(declarationStatement, declarationStatement);
|
||||
if (declarationStatement instanceof PsiDeclarationStatement) {
|
||||
appendComments(declarationStatement);
|
||||
declarationStatement.replace(statement);
|
||||
} else {
|
||||
myLocal.replace(statement.getExpression());
|
||||
@@ -367,11 +375,11 @@ public abstract class LocalToFieldHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private static void appendComments(PsiElement declarationStatement) {
|
||||
private static void appendComments(PsiElement declarationStatement, PsiElement element) {
|
||||
final Collection<PsiComment> comments = PsiTreeUtil.findChildrenOfType(declarationStatement, PsiComment.class);
|
||||
final PsiElement parent = declarationStatement.getParent();
|
||||
final PsiElement parent = element.getParent();
|
||||
for (PsiComment comment : comments) {
|
||||
parent.addBefore(comment, declarationStatement);
|
||||
parent.addBefore(comment, element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Test {
|
||||
/*and comment here*///comment
|
||||
public static final String xxx = "";
|
||||
|
||||
{
|
||||
/*and comment here*///comment
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user