#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/GlobalDecl.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/QualTypeNames.h"
#include <stdio.h>
#include <memory>
namespace clang {
namespace TypeName {
static NestedNameSpecifier *createNestedNameSpecifier(
const ASTContext &Ctx,
const NamespaceDecl *Namesp,
bool WithGlobalNsPrefix);
static NestedNameSpecifier *createNestedNameSpecifier(
const ASTContext &Ctx, const TypeDecl *TD,
bool FullyQualify, bool WithGlobalNsPrefix);
static NestedNameSpecifier *createNestedNameSpecifierForScopeOf(
const ASTContext &Ctx, const Decl *decl,
bool FullyQualified, bool WithGlobalNsPrefix);
static NestedNameSpecifier *getFullyQualifiedNestedNameSpecifier(
const ASTContext &Ctx, NestedNameSpecifier *scope, bool WithGlobalNsPrefix);
static bool getFullyQualifiedTemplateName(const ASTContext &Ctx,
TemplateName &TName,
bool WithGlobalNsPrefix) { … }
static bool getFullyQualifiedTemplateArgument(const ASTContext &Ctx,
TemplateArgument &Arg,
bool WithGlobalNsPrefix) { … }
static const Type *getFullyQualifiedTemplateType(const ASTContext &Ctx,
const Type *TypePtr,
bool WithGlobalNsPrefix) { … }
static NestedNameSpecifier *createOuterNNS(const ASTContext &Ctx, const Decl *D,
bool FullyQualify,
bool WithGlobalNsPrefix) { … }
static NestedNameSpecifier *getFullyQualifiedNestedNameSpecifier(
const ASTContext &Ctx, NestedNameSpecifier *Scope,
bool WithGlobalNsPrefix) { … }
static NestedNameSpecifier *createNestedNameSpecifierForScopeOf(
const ASTContext &Ctx, const Decl *Decl,
bool FullyQualified, bool WithGlobalNsPrefix) { … }
static NestedNameSpecifier *createNestedNameSpecifierForScopeOf(
const ASTContext &Ctx, const Type *TypePtr,
bool FullyQualified, bool WithGlobalNsPrefix) { … }
NestedNameSpecifier *createNestedNameSpecifier(const ASTContext &Ctx,
const NamespaceDecl *Namespace,
bool WithGlobalNsPrefix) { … }
NestedNameSpecifier *createNestedNameSpecifier(const ASTContext &Ctx,
const TypeDecl *TD,
bool FullyQualify,
bool WithGlobalNsPrefix) { … }
QualType getFullyQualifiedType(QualType QT, const ASTContext &Ctx,
bool WithGlobalNsPrefix) { … }
std::string getFullyQualifiedName(QualType QT,
const ASTContext &Ctx,
const PrintingPolicy &Policy,
bool WithGlobalNsPrefix) { … }
}
}