From 5fb38d39120963812741d95d258515092ed738f2 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Thu, 22 Dec 2011 19:59:10 -0800 Subject: [PATCH] Bug 363244. Fixed the case when newly inserted nodes are wrapped in ContainerNode. --- .../core/dom/rewrite/changegenerator/ChangeGenerator.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java index 2f98b27c77d..19a090f4686 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/changegenerator/ChangeGenerator.java @@ -58,6 +58,7 @@ import org.eclipse.cdt.internal.core.dom.rewrite.ASTModificationMap; import org.eclipse.cdt.internal.core.dom.rewrite.ASTModificationStore; import org.eclipse.cdt.internal.core.dom.rewrite.ASTRewriteAnalyzer; import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.ASTWriter; +import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.ContainerNode; import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.ProblemRuntimeException; import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap; import org.eclipse.cdt.internal.core.dom.rewrite.util.FileHelper; @@ -1016,6 +1017,13 @@ public class ChangeGenerator extends ASTVisitor { if (modification.getKind() != ModificationKind.APPEND_CHILD) return false; IASTNode node = modification.getNewNode(); + if (node instanceof ContainerNode) { + for (IASTNode containedNode : ((ContainerNode) node).getNodes()) { + if (!(containedNode instanceof IASTDeclaration || containedNode instanceof IASTStatement)) + return false; + } + return true; + } return node instanceof IASTDeclaration || node instanceof IASTStatement; }