Lines Matching refs:NestedNameSpecifier

1 //===- NestedNameSpecifier.cpp - C++ nested name specifiers ---------------===//
9 // This file defines the NestedNameSpecifier class, which represents
14 #include "clang/AST/NestedNameSpecifier.h"
38 NestedNameSpecifier *
39 NestedNameSpecifier::FindOrInsert(const ASTContext &Context,
40 const NestedNameSpecifier &Mockup) {
45 NestedNameSpecifier *NNS
49 new (Context, alignof(NestedNameSpecifier)) NestedNameSpecifier(Mockup);
56 NestedNameSpecifier *NestedNameSpecifier::Create(const ASTContext &Context,
57 NestedNameSpecifier *Prefix,
62 NestedNameSpecifier Mockup;
69 NestedNameSpecifier *
70 NestedNameSpecifier::Create(const ASTContext &Context,
71 NestedNameSpecifier *Prefix,
78 NestedNameSpecifier Mockup;
85 NestedNameSpecifier *
86 NestedNameSpecifier::Create(const ASTContext &Context,
87 NestedNameSpecifier *Prefix,
94 NestedNameSpecifier Mockup;
101 NestedNameSpecifier *
102 NestedNameSpecifier::Create(const ASTContext &Context,
103 NestedNameSpecifier *Prefix,
106 NestedNameSpecifier Mockup;
113 NestedNameSpecifier *NestedNameSpecifier::Create(const ASTContext &Context,
116 NestedNameSpecifier Mockup;
123 NestedNameSpecifier *
124 NestedNameSpecifier::GlobalSpecifier(const ASTContext &Context) {
127 new (Context, alignof(NestedNameSpecifier)) NestedNameSpecifier();
131 NestedNameSpecifier *
132 NestedNameSpecifier::SuperSpecifier(const ASTContext &Context,
134 NestedNameSpecifier Mockup;
141 NestedNameSpecifier::SpecifierKind NestedNameSpecifier::getKind() const {
167 NamespaceDecl *NestedNameSpecifier::getAsNamespace() const {
175 NamespaceAliasDecl *NestedNameSpecifier::getAsNamespaceAlias() const {
183 CXXRecordDecl *NestedNameSpecifier::getAsRecordDecl() const {
199 NestedNameSpecifierDependence NestedNameSpecifier::getDependence() const {
232 bool NestedNameSpecifier::isDependent() const {
236 bool NestedNameSpecifier::isInstantiationDependent() const {
240 bool NestedNameSpecifier::containsUnexpandedParameterPack() const {
244 bool NestedNameSpecifier::containsErrors() const {
250 void NestedNameSpecifier::print(raw_ostream &OS, const PrintingPolicy &Policy,
337 LLVM_DUMP_METHOD void NestedNameSpecifier::dump(const LangOptions &LO) const {
341 LLVM_DUMP_METHOD void NestedNameSpecifier::dump() const { dump(llvm::errs()); }
343 LLVM_DUMP_METHOD void NestedNameSpecifier::dump(llvm::raw_ostream &OS) const {
348 LLVM_DUMP_METHOD void NestedNameSpecifier::dump(llvm::raw_ostream &OS,
354 NestedNameSpecifierLoc::getLocalDataLength(NestedNameSpecifier *Qualifier) {
361 case NestedNameSpecifier::Global:
365 case NestedNameSpecifier::Identifier:
366 case NestedNameSpecifier::Namespace:
367 case NestedNameSpecifier::NamespaceAlias:
368 case NestedNameSpecifier::Super:
373 case NestedNameSpecifier::TypeSpecWithTemplate:
374 case NestedNameSpecifier::TypeSpec:
385 NestedNameSpecifierLoc::getDataLength(NestedNameSpecifier *Qualifier) {
426 case NestedNameSpecifier::Global:
429 case NestedNameSpecifier::Identifier:
430 case NestedNameSpecifier::Namespace:
431 case NestedNameSpecifier::NamespaceAlias:
432 case NestedNameSpecifier::Super:
437 case NestedNameSpecifier::TypeSpecWithTemplate:
438 case NestedNameSpecifier::TypeSpec: {
452 if (Qualifier->getKind() != NestedNameSpecifier::TypeSpec &&
453 Qualifier->getKind() != NestedNameSpecifier::TypeSpecWithTemplate)
565 Representation = NestedNameSpecifier::Create(Context, Representation,
578 Representation = NestedNameSpecifier::Create(Context, Representation,
590 Representation = NestedNameSpecifier::Create(Context, Representation,
602 Representation = NestedNameSpecifier::Create(Context, Representation, Alias);
612 Representation = NestedNameSpecifier::GlobalSpecifier(Context);
622 Representation = NestedNameSpecifier::SuperSpecifier(Context, RD);
630 NestedNameSpecifier *Qualifier,
637 SmallVector<NestedNameSpecifier *, 4> Stack;
638 for (NestedNameSpecifier *NNS = Qualifier; NNS; NNS = NNS->getPrefix())
641 NestedNameSpecifier *NNS = Stack.pop_back_val();
643 case NestedNameSpecifier::Identifier:
644 case NestedNameSpecifier::Namespace:
645 case NestedNameSpecifier::NamespaceAlias:
649 case NestedNameSpecifier::TypeSpec:
650 case NestedNameSpecifier::TypeSpecWithTemplate: {
659 case NestedNameSpecifier::Global:
660 case NestedNameSpecifier::Super: