diff --git a/lib/AST/NestedNameSpecifier.cpp b/lib/AST/NestedNameSpecifier.cpp
index 318c05f..ea4b506 100644
--- a/lib/AST/NestedNameSpecifier.cpp
+++ b/lib/AST/NestedNameSpecifier.cpp
@@ -15,6 +15,8 @@
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/Type.h"
+#include "llvm/Support/raw_ostream.h"
+
 using namespace clang;
 
 DeclContext *
@@ -32,3 +34,28 @@
   assert(TagT && "No DeclContext from a non-tag type");
   return TagT->getDecl();
 }
+
+void NestedNameSpecifier::Print(llvm::raw_ostream &OS, 
+                                const NestedNameSpecifier *First,
+                                const NestedNameSpecifier *Last) {
+  for (; First != Last; ++First) {
+    if (Type *T = First->getAsType()) {
+      std::string TypeStr;
+
+      // If this is a qualified name type, suppress the qualification:
+      // it's part of our nested-name-specifier sequence anyway.
+      if (const QualifiedNameType *QualT = dyn_cast<QualifiedNameType>(T))
+        T = QualT->getNamedType().getTypePtr();
+
+      if (const TagType *TagT = dyn_cast<TagType>(T))
+        TagT->getAsStringInternal(TypeStr, true);
+      else
+        T->getAsStringInternal(TypeStr);
+      OS << TypeStr;
+    } else if (NamedDecl *NamedDC 
+                 = dyn_cast_or_null<NamedDecl>(First->getAsDeclContext()))
+      OS << NamedDC->getNameAsString();
+  
+    OS <<  "::";
+  }
+}
