From 935b16e82cdf015a4096fd5b0bf4330281f72e85 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Mon, 21 Jul 2008 10:45:15 +0000 Subject: [PATCH] ASTWriter needs to handle literal nodes. --- .../cdt/internal/core/dom/rewrite/ASTLiteralNode.java | 8 ++++++-- .../core/dom/rewrite/astwriter/ASTWriterVisitor.java | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/ASTLiteralNode.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/ASTLiteralNode.java index 01227434487..753a2515baf 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/ASTLiteralNode.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/ASTLiteralNode.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ import org.eclipse.cdt.core.dom.ast.IASTFileLocation; import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IASTNodeLocation; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; +import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.ASTWriterVisitor; /** * Used for inserting literal code by means of the rewrite facility. The node @@ -34,7 +35,10 @@ public class ASTLiteralNode implements IASTNode { } public boolean accept(ASTVisitor visitor) { - return false; + if (visitor instanceof ASTWriterVisitor) { + ((ASTWriterVisitor) visitor).visit(this); + } + return true; } public boolean contains(IASTNode node) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ASTWriterVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ASTWriterVisitor.java index d869d1909ce..b80d6a9a18c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ASTWriterVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/ASTWriterVisitor.java @@ -30,6 +30,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter; import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTCompoundStatementExpression; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; +import org.eclipse.cdt.internal.core.dom.rewrite.ASTLiteralNode; import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap; /** @@ -134,6 +135,9 @@ public class ASTWriterVisitor extends CPPASTVisitor { } } + public void visit(ASTLiteralNode lit) { + scribe.print(lit.getRawSignature()); + } @Override public int visit(IASTName name) {