1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Code streamlining.

This commit is contained in:
Sergey Prigogin 2012-01-04 20:05:07 -08:00
parent 1610de526e
commit 6da58da8f8

View file

@ -11,7 +11,7 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.internal.ui.refactoring; package org.eclipse.cdt.internal.ui.refactoring;
import java.util.ArrayList; import java.util.Collections;
import java.util.List; import java.util.List;
import org.eclipse.osgi.util.NLS; import org.eclipse.osgi.util.NLS;
@ -40,37 +40,27 @@ import org.eclipse.cdt.internal.ui.refactoring.utils.VisibilityEnum;
public class AddDeclarationNodeToClassChange { public class AddDeclarationNodeToClassChange {
private final ICPPASTCompositeTypeSpecifier classNode; private final ICPPASTCompositeTypeSpecifier classNode;
private final VisibilityEnum visibility; private final VisibilityEnum visibility;
private List<IASTNode> fieldNodes = new ArrayList<IASTNode>(); private final List<IASTNode> nodesToAdd;
private final ModificationCollector collector; private final ModificationCollector collector;
public static void createChange(ICPPASTCompositeTypeSpecifier nodeClass, public static void createChange(ICPPASTCompositeTypeSpecifier classNode,
VisibilityEnum visibility, IASTNode fieldNodes, boolean isField, VisibilityEnum visibility, IASTNode nodeToAdd, boolean isField,
ModificationCollector collector) { ModificationCollector collector) {
new AddDeclarationNodeToClassChange(nodeClass, visibility, fieldNodes, collector, isField); createChange(classNode, visibility, Collections.singletonList(nodeToAdd), isField, collector);
} }
public static void createChange(ICPPASTCompositeTypeSpecifier classNode, public static void createChange(ICPPASTCompositeTypeSpecifier classNode,
VisibilityEnum visibility, List<IASTNode> fieldNodes, boolean isField, VisibilityEnum visibility, List<IASTNode> nodesToAdd, boolean isField,
ModificationCollector collector) { ModificationCollector collector) {
new AddDeclarationNodeToClassChange(classNode, visibility, fieldNodes, collector, isField); new AddDeclarationNodeToClassChange(classNode, visibility, nodesToAdd, collector, isField);
} }
private AddDeclarationNodeToClassChange(ICPPASTCompositeTypeSpecifier classNode, private AddDeclarationNodeToClassChange(ICPPASTCompositeTypeSpecifier classNode,
VisibilityEnum visibility, List<IASTNode> fieldNodes, VisibilityEnum visibility, List<IASTNode> nodesToAdd, ModificationCollector collector,
ModificationCollector collector, boolean isField) {
this.fieldNodes = fieldNodes;
this.classNode = classNode;
this.visibility = visibility;
this.collector = collector;
createRewrites(isField);
}
private AddDeclarationNodeToClassChange(ICPPASTCompositeTypeSpecifier classNode,
VisibilityEnum visibility, IASTNode fieldNodes, ModificationCollector collector,
boolean isField) { boolean isField) {
this.nodesToAdd = nodesToAdd;
this.classNode = classNode; this.classNode = classNode;
this.visibility = visibility; this.visibility = visibility;
this.fieldNodes.add(fieldNodes);
this.collector = collector; this.collector = collector;
createRewrites(isField); createRewrites(isField);
} }
@ -137,7 +127,7 @@ public class AddDeclarationNodeToClassChange {
private void insertBefore(IASTNode nextNode) { private void insertBefore(IASTNode nextNode) {
ASTRewrite rewrite = collector.rewriterForTranslationUnit(nextNode.getTranslationUnit()); ASTRewrite rewrite = collector.rewriterForTranslationUnit(nextNode.getTranslationUnit());
for (IASTNode node : fieldNodes) { for (IASTNode node : nodesToAdd) {
rewrite.insertBefore(nextNode.getParent(), nextNode, node, createEditDescription()); rewrite.insertBefore(nextNode.getParent(), nextNode, node, createEditDescription());
} }
} }
@ -151,7 +141,7 @@ public class AddDeclarationNodeToClassChange {
rewrite.insertBefore(classNode, null, label, createEditDescription()); rewrite.insertBefore(classNode, null, label, createEditDescription());
} }
for (IASTNode node : fieldNodes) { for (IASTNode node : nodesToAdd) {
rewrite.insertBefore(classNode, null, node, createEditDescription()); rewrite.insertBefore(classNode, null, node, createEditDescription());
} }
} }