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"
40 NestedNameSpecifier *
41 NestedNameSpecifier::FindOrInsert(const ASTContext &Context,
42 const NestedNameSpecifier &Mockup) {
47 NestedNameSpecifier *NNS
51 new (Context, alignof(NestedNameSpecifier)) NestedNameSpecifier(Mockup);
58 NestedNameSpecifier *NestedNameSpecifier::Create(const ASTContext &Context,
59 NestedNameSpecifier *Prefix,
64 NestedNameSpecifier Mockup;
71 NestedNameSpecifier *
72 NestedNameSpecifier::Create(const ASTContext &Context,
73 NestedNameSpecifier *Prefix,
80 NestedNameSpecifier Mockup;
87 NestedNameSpecifier *
88 NestedNameSpecifier::Create(const ASTContext &Context,
89 NestedNameSpecifier *Prefix,
96 NestedNameSpecifier Mockup;
103 NestedNameSpecifier *
104 NestedNameSpecifier::Create(const ASTContext &Context,
105 NestedNameSpecifier *Prefix,
108 NestedNameSpecifier Mockup;
115 NestedNameSpecifier *NestedNameSpecifier::Create(const ASTContext &Context,
118 NestedNameSpecifier Mockup;
125 NestedNameSpecifier *
126 NestedNameSpecifier::GlobalSpecifier(const ASTContext &Context) {
129 new (Context, alignof(NestedNameSpecifier)) NestedNameSpecifier();
133 NestedNameSpecifier *
134 NestedNameSpecifier::SuperSpecifier(const ASTContext &Context,
136 NestedNameSpecifier Mockup;
143 NestedNameSpecifier::SpecifierKind NestedNameSpecifier::getKind() const {
169 NamespaceDecl *NestedNameSpecifier::getAsNamespace() const {
177 NamespaceAliasDecl *NestedNameSpecifier::getAsNamespaceAlias() const {
185 CXXRecordDecl *NestedNameSpecifier::getAsRecordDecl() const {
201 NestedNameSpecifierDependence NestedNameSpecifier::getDependence() const {
234 bool NestedNameSpecifier::isDependent() const {
238 bool NestedNameSpecifier::isInstantiationDependent() const {
242 bool NestedNameSpecifier::containsUnexpandedParameterPack() const {
246 bool NestedNameSpecifier::containsErrors() const {
252 void NestedNameSpecifier::print(raw_ostream &OS, const PrintingPolicy &Policy,
339 LLVM_DUMP_METHOD void NestedNameSpecifier::dump(const LangOptions &LO) const {
343 LLVM_DUMP_METHOD void NestedNameSpecifier::dump() const { dump(llvm::errs()); }
345 LLVM_DUMP_METHOD void NestedNameSpecifier::dump(llvm::raw_ostream &OS) const {
350 LLVM_DUMP_METHOD void NestedNameSpecifier::dump(llvm::raw_ostream &OS,
356 NestedNameSpecifierLoc::getLocalDataLength(NestedNameSpecifier *Qualifier) {
363 case NestedNameSpecifier::Global:
367 case NestedNameSpecifier::Identifier:
368 case NestedNameSpecifier::Namespace:
369 case NestedNameSpecifier::NamespaceAlias:
370 case NestedNameSpecifier::Super:
375 case NestedNameSpecifier::TypeSpecWithTemplate:
376 case NestedNameSpecifier::TypeSpec:
387 NestedNameSpecifierLoc::getDataLength(NestedNameSpecifier *Qualifier) {
428 case NestedNameSpecifier::Global:
431 case NestedNameSpecifier::Identifier:
432 case NestedNameSpecifier::Namespace:
433 case NestedNameSpecifier::NamespaceAlias:
434 case NestedNameSpecifier::Super:
439 case NestedNameSpecifier::TypeSpecWithTemplate:
440 case NestedNameSpecifier::TypeSpec: {
454 if (Qualifier->getKind() != NestedNameSpecifier::TypeSpec &&
455 Qualifier->getKind() != NestedNameSpecifier::TypeSpecWithTemplate)
567 Representation = NestedNameSpecifier::Create(Context, Representation,
580 Representation = NestedNameSpecifier::Create(Context, Representation,
592 Representation = NestedNameSpecifier::Create(Context, Representation,
604 Representation = NestedNameSpecifier::Create(Context, Representation, Alias);
614 Representation = NestedNameSpecifier::GlobalSpecifier(Context);
624 Representation = NestedNameSpecifier::SuperSpecifier(Context, RD);
632 NestedNameSpecifier *Qualifier,
639 SmallVector<NestedNameSpecifier *, 4> Stack;
640 for (NestedNameSpecifier *NNS = Qualifier; NNS; NNS = NNS->getPrefix())
643 NestedNameSpecifier *NNS = Stack.pop_back_val();
645 case NestedNameSpecifier::Identifier:
646 case NestedNameSpecifier::Namespace:
647 case NestedNameSpecifier::NamespaceAlias:
651 case NestedNameSpecifier::TypeSpec:
652 case NestedNameSpecifier::TypeSpecWithTemplate: {
661 case NestedNameSpecifier::Global:
662 case NestedNameSpecifier::Super: