From 654e12094a5b0b77e8877550922343dc5def49c9 Mon Sep 17 00:00:00 2001 From: Emanuel Graf Date: Mon, 7 Mar 2011 07:26:26 +0000 Subject: Bug 337937: CopyLocation for copied AST-Node https://bugs.eclipse.org/bugs/show_bug.cgi?id=337937 --- .../core/dom/rewrite/astwriter/ContainerNode.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter') diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ContainerNode.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ContainerNode.java index 39f2dd0a956..a9cfdeee41b 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ContainerNode.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ContainerNode.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Institute for Software, HSR Hochschule fuer Technik + * Copyright (c) 2008, 2011 Institute for Software, HSR Hochschule fuer Technik * Rapperswil, University of applied sciences and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -43,13 +43,20 @@ public class ContainerNode extends ASTNode { } public ContainerNode copy() { + return copy(CopyStyle.withoutLocations); + } + + public ContainerNode copy(CopyStyle style) { ContainerNode copy = new ContainerNode(); - for(IASTNode node : getNodes()) - copy.addNode(node == null ? null : node.copy()); + for (IASTNode node : getNodes()) + copy.addNode(node == null ? null : node.copy(style)); copy.setOffsetAndLength(this); + if (style == CopyStyle.withLocations) { + copy.setCopyLocation(this); + } return copy; } - + public void addNode(IASTNode node) { nodes.add(node); if(node.getParent() == null) { -- cgit v1.2.3