summaryrefslogtreecommitdiff
path: root/include/clang/AST/Mangle.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/Mangle.h')
-rw-r--r--include/clang/AST/Mangle.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/include/clang/AST/Mangle.h b/include/clang/AST/Mangle.h
index 309ed5a1a5d2e..b1fbe936136a9 100644
--- a/include/clang/AST/Mangle.h
+++ b/include/clang/AST/Mangle.h
@@ -1,9 +1,8 @@
//===--- Mangle.h - Mangle C++ Names ----------------------------*- C++ -*-===//
//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
@@ -244,6 +243,19 @@ public:
static MicrosoftMangleContext *create(ASTContext &Context,
DiagnosticsEngine &Diags);
};
+
+class ASTNameGenerator {
+public:
+ explicit ASTNameGenerator(ASTContext &Ctx);
+ ~ASTNameGenerator();
+ bool writeName(const Decl *D, raw_ostream &OS);
+ std::string getName(const Decl *D);
+ std::vector<std::string> getAllManglings(const Decl *D);
+
+private:
+ class Implementation;
+ std::unique_ptr<Implementation> Impl;
+};
}
#endif