mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Code streamlining.
This commit is contained in:
parent
9b8d4451dd
commit
3e5942e142
1 changed files with 11 additions and 24 deletions
|
@ -48,10 +48,6 @@ import org.eclipse.cdt.internal.ui.refactoring.utils.VisibilityEnum;
|
|||
* @author Mirko Stocker
|
||||
*/
|
||||
public class ClassMemberInserter {
|
||||
private final ICPPASTCompositeTypeSpecifier classNode;
|
||||
private final VisibilityEnum visibility;
|
||||
private final List<IASTNode> nodesToAdd;
|
||||
private final ModificationCollector collector;
|
||||
|
||||
public static void createChange(ICPPASTCompositeTypeSpecifier classNode,
|
||||
VisibilityEnum visibility, IASTNode nodeToAdd, boolean isField,
|
||||
|
@ -62,25 +58,12 @@ public class ClassMemberInserter {
|
|||
public static void createChange(ICPPASTCompositeTypeSpecifier classNode,
|
||||
VisibilityEnum visibility, List<IASTNode> nodesToAdd, boolean isField,
|
||||
ModificationCollector collector) {
|
||||
new ClassMemberInserter(classNode, visibility, nodesToAdd, collector, isField);
|
||||
}
|
||||
|
||||
private ClassMemberInserter(ICPPASTCompositeTypeSpecifier classNode,
|
||||
VisibilityEnum visibility, List<IASTNode> nodesToAdd, ModificationCollector collector,
|
||||
boolean isField) {
|
||||
this.nodesToAdd = new ArrayList<IASTNode>(nodesToAdd);
|
||||
this.classNode = classNode;
|
||||
this.visibility = visibility;
|
||||
this.collector = collector;
|
||||
createRewrites(isField);
|
||||
}
|
||||
|
||||
private void createRewrites(boolean isField) {
|
||||
nodesToAdd = new ArrayList<IASTNode>(nodesToAdd);
|
||||
VisibilityEnum defaultVisibility = classNode.getKey() == IASTCompositeTypeSpecifier.k_struct ?
|
||||
VisibilityEnum.v_public : VisibilityEnum.v_private;
|
||||
VisibilityEnum currentVisibility = defaultVisibility;
|
||||
|
||||
boolean ascendingVisibilityOrder = isAscendingVisibilityOrder();
|
||||
boolean ascendingVisibilityOrder = isAscendingVisibilityOrder(classNode);
|
||||
int lastFunctionIndex = -1;
|
||||
int lastFieldIndex = -1;
|
||||
int lastMatchingVisibilityIndex = -1;
|
||||
|
@ -134,16 +117,20 @@ public class ClassMemberInserter {
|
|||
|
||||
ASTRewrite rewrite = collector.rewriterForTranslationUnit(classNode.getTranslationUnit());
|
||||
for (IASTNode node : nodesToAdd) {
|
||||
rewrite.insertBefore(classNode, nextNode, node, createEditDescription());
|
||||
rewrite.insertBefore(classNode, nextNode, node, createEditDescription(classNode));
|
||||
}
|
||||
}
|
||||
|
||||
private TextEditGroup createEditDescription() {
|
||||
// Not instantiatable. All methods are static.
|
||||
private ClassMemberInserter() {
|
||||
}
|
||||
|
||||
private static TextEditGroup createEditDescription(ICPPASTCompositeTypeSpecifier classNode) {
|
||||
return new TextEditGroup(NLS.bind(Messages.AddDeclarationNodeToClassChange_AddDeclaration,
|
||||
classNode.getName()));
|
||||
}
|
||||
|
||||
private boolean isAscendingVisibilityOrder() {
|
||||
private static boolean isAscendingVisibilityOrder(ICPPASTCompositeTypeSpecifier classNode) {
|
||||
IPreferencesService preferences = Platform.getPreferencesService();
|
||||
IASTTranslationUnit ast = classNode.getTranslationUnit();
|
||||
ITranslationUnit tu = ast.getOriginatingTranslationUnit();
|
||||
|
|
Loading…
Add table
Reference in a new issue