From 6f95407bd54245822498b0f09f0aeb9503dbda14 Mon Sep 17 00:00:00 2001 From: Thomas Corbat Date: Wed, 30 May 2012 14:32:17 +0200 Subject: [PATCH] Bug 381032 - NameWriter extended for fully qualified names. Extended the NameWriter for allowing ASTWriter to write fully qualified names correctly with a leading scope (::). Added one simple test to verify this functionality. Cosmetic fix: Formatting adapted to environment and removed superfluous trailing tabs. Change-Id: I7eec92666d49a93b47a1906a75169dd42ba41eb1 Reviewed-on: https://git.eclipse.org/r/6170 Reviewed-by: Sergey Prigogin IP-Clean: Sergey Prigogin Tested-by: Sergey Prigogin --- .../resources/rewrite/ASTWriterNameTestSource.awts | 4 ++++ .../cdt/internal/core/dom/rewrite/astwriter/NameWriter.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterNameTestSource.awts b/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterNameTestSource.awts index 9117bb41bbc..935db703660 100644 --- a/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterNameTestSource.awts +++ b/core/org.eclipse.cdt.core.tests/resources/rewrite/ASTWriterNameTestSource.awts @@ -6,6 +6,10 @@ int Hallo; //%CPP int TestClass::Hallo; +//!FullyQualifiedName +//%CPP +int ::name; + //!OperatorName //%CPP class Foo diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/NameWriter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/NameWriter.java index 610f86a6f3b..90e0e719ed9 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/NameWriter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/NameWriter.java @@ -118,6 +118,9 @@ public class NameWriter extends NodeWriter { } private void writeQualifiedName(ICPPASTQualifiedName qname) { + if (qname.isFullyQualified()) { + scribe.print(COLON_COLON); + } IASTName[] nodes = qname.getNames(); for (int i = 0; i < nodes.length; ++i) { nodes[i].accept(visitor);