A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/NestedNameSpecifier_8h_source.html below:

clang: include/clang/AST/NestedNameSpecifier.h Source File

14#ifndef LLVM_CLANG_AST_NESTEDNAMESPECIFIER_H 15#define LLVM_CLANG_AST_NESTEDNAMESPECIFIER_H 20#include "llvm/ADT/DenseMapInfo.h" 21#include "llvm/ADT/FoldingSet.h" 22#include "llvm/ADT/PointerIntPair.h" 23#include "llvm/Support/Compiler.h" 34class

NamespaceAliasDecl;

52 enum

StoredSpecifierKind {

56

StoredTypeSpecWithTemplate = 3

65

llvm::PointerIntPair<NestedNameSpecifier *, 2, StoredSpecifierKind> Prefix;

74 void

* Specifier =

nullptr

;

110

NestedNameSpecifier(

const

NestedNameSpecifier &

Other

) =

default

;

114 static

NestedNameSpecifier *FindOrInsert(

const

ASTContext &Context,

115 const

NestedNameSpecifier &Mockup);

142 bool

Template,

const Type

*

T

);

177 if

(Prefix.getInt() == StoredIdentifier)

197 if

(Prefix.getInt() == StoredTypeSpec ||

198

Prefix.getInt() == StoredTypeSpecWithTemplate)

226 bool

ResolveTemplateArguments =

false

)

const

;

229 ID

.AddPointer(Prefix.getOpaqueValue());

237 void dump

(llvm::raw_ostream &OS)

const

;

245 void

*Data =

nullptr

;

262

: Qualifier(Qualifier),

Data

(

Data

) {}

266 explicit operator bool

()

const

{

return

Qualifier; }

344 return X

.Qualifier == Y.Qualifier &&

X

.Data == Y.Data;

367 char

*Buffer =

nullptr

;

371 unsigned

BufferSize = 0;

375 unsigned

BufferCapacity = 0;

506

Representation =

nullptr

;

516 return

std::make_pair(Buffer, BufferSize);

533template

<>

struct

DenseMapInfo<

clang

::NestedNameSpecifierLoc> {

534 using FirstInfo

= DenseMapInfo<clang::NestedNameSpecifier *>;

539

SecondInfo::getEmptyKey());

544

SecondInfo::getTombstoneKey());

Defines the Diagnostic-related interfaces.

Defines the clang::SourceLocation class and associated facilities.

const NestedNameSpecifier * Specifier

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

Represents a C++ struct/union/class.

@ ak_nestednamespec

NestedNameSpecifier *.

One of these records is kept for each identifier that is lexed.

Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...

Represents a C++ namespace alias.

Represent a C++ namespace.

Class that aids in the construction of nested-name-specifiers along with source-location information ...

void Adopt(NestedNameSpecifierLoc Other)

Adopt an existing nested-name-specifier (with source-range information).

NestedNameSpecifierLocBuilder & operator=(const NestedNameSpecifierLocBuilder &Other)

void MakeTrivial(ASTContext &Context, NestedNameSpecifier *Qualifier, SourceRange R)

Make a new nested-name-specifier from incomplete source-location information.

NestedNameSpecifierLocBuilder()=default

void Clear()

Clear out this builder, and prepare it to build another nested-name-specifier with source-location in...

NestedNameSpecifierLoc getTemporary() const

Retrieve a nested-name-specifier with location information based on the information in this builder.

void MakeSuper(ASTContext &Context, CXXRecordDecl *RD, SourceLocation SuperLoc, SourceLocation ColonColonLoc)

Turns this (empty) nested-name-specifier into '__super' nested-name-specifier.

std::pair< char *, unsigned > getBuffer() const

Retrieve the underlying buffer.

SourceRange getSourceRange() const LLVM_READONLY

Retrieve the source range covered by this nested-name-specifier.

NestedNameSpecifier * getRepresentation() const

Retrieve the representation of the nested-name-specifier.

~NestedNameSpecifierLocBuilder()

void MakeGlobal(ASTContext &Context, SourceLocation ColonColonLoc)

Turn this (empty) nested-name-specifier into the global nested-name-specifier '::'.

NestedNameSpecifierLoc getWithLocInContext(ASTContext &Context) const

Retrieve a nested-name-specifier with location information, copied into the given AST context.

A C++ nested-name-specifier augmented with source location information.

NestedNameSpecifierLoc(NestedNameSpecifier *Qualifier, void *Data)

Construct a nested-name-specifier with source location information from.

SourceLocation getBeginLoc() const

Retrieve the location of the beginning of this nested-name-specifier.

SourceLocation getLocalEndLoc() const

Retrieve the location of the end of this component of the nested-name-specifier.

friend bool operator==(NestedNameSpecifierLoc X, NestedNameSpecifierLoc Y)

NestedNameSpecifierLoc()=default

Construct an empty nested-name-specifier.

SourceLocation getEndLoc() const

Retrieve the location of the end of this nested-name-specifier.

TypeLoc getTypeLoc() const

For a nested-name-specifier that refers to a type, retrieve the type with source-location information...

NestedNameSpecifierLoc getPrefix() const

Return the prefix of this nested-name-specifier.

SourceRange getLocalSourceRange() const

Retrieve the source range covering just the last part of this nested-name-specifier,...

friend bool operator!=(NestedNameSpecifierLoc X, NestedNameSpecifierLoc Y)

void * getOpaqueData() const

Retrieve the opaque pointer that refers to source-location data.

bool hasQualifier() const

Evaluates true when this nested-name-specifier location is non-empty.

NestedNameSpecifier * getNestedNameSpecifier() const

Retrieve the nested-name-specifier to which this instance refers.

SourceLocation getLocalBeginLoc() const

Retrieve the location of the beginning of this component of the nested-name-specifier.

SourceRange getSourceRange() const LLVM_READONLY

Retrieve the source range covering the entirety of this nested-name-specifier.

unsigned getDataLength() const

Determines the data length for the entire nested-name-specifier.

Represents a C++ nested name specifier, such as "\::std::vector<int>::".

bool containsErrors() const

Whether this nested name specifier contains an error.

CXXRecordDecl * getAsRecordDecl() const

Retrieve the record declaration stored in this nested name specifier.

bool isDependent() const

Whether this nested name specifier refers to a dependent type or not.

SpecifierKind getKind() const

Determine what kind of nested name specifier is stored.

void Profile(llvm::FoldingSetNodeID &ID) const

NamespaceAliasDecl * getAsNamespaceAlias() const

Retrieve the namespace alias stored in this nested name specifier.

IdentifierInfo * getAsIdentifier() const

Retrieve the identifier stored in this nested name specifier.

static NestedNameSpecifier * GlobalSpecifier(const ASTContext &Context)

Returns the nested name specifier representing the global scope.

bool isInstantiationDependent() const

Whether this nested name specifier involves a template parameter.

NestedNameSpecifier * getPrefix() const

Return the prefix of this nested name specifier.

SpecifierKind

The kind of specifier that completes this nested name specifier.

@ NamespaceAlias

A namespace alias, stored as a NamespaceAliasDecl*.

@ TypeSpec

A type, stored as a Type*.

@ TypeSpecWithTemplate

A type that was preceded by the 'template' keyword, stored as a Type*.

@ Super

Microsoft's '__super' specifier, stored as a CXXRecordDecl* of the class it appeared in.

@ Identifier

An identifier, stored as an IdentifierInfo*.

@ Global

The global specifier '::'. There is no stored value.

@ Namespace

A namespace, stored as a NamespaceDecl*.

NestedNameSpecifierDependence getDependence() const

bool containsUnexpandedParameterPack() const

Whether this nested-name-specifier contains an unexpanded parameter pack (for C++11 variadic template...

NamespaceDecl * getAsNamespace() const

Retrieve the namespace stored in this nested name specifier.

void print(raw_ostream &OS, const PrintingPolicy &Policy, bool ResolveTemplateArguments=false) const

Print this nested name specifier to the given output stream.

NestedNameSpecifier & operator=(const NestedNameSpecifier &)=delete

static NestedNameSpecifier * SuperSpecifier(const ASTContext &Context, CXXRecordDecl *RD)

Returns the nested name specifier representing the __super scope for the given CXXRecordDecl.

const Type * getAsType() const

Retrieve the type stored in this nested name specifier.

Encodes a location in the source.

A trivial tuple used to represent a source range.

SourceLocation getEnd() const

SourceLocation getBegin() const

The streaming interface shared between DiagnosticBuilder and PartialDiagnostic.

void AddTaggedVal(uint64_t V, DiagnosticsEngine::ArgumentKind Kind) const

Base wrapper for a particular "section" of type source info.

The base class of the type hierarchy.

@ Extend

Lifetime-extend along this path.

The JSON file list parser is used to communicate input to InstallAPI.

@ Create

'create' clause, allowed on Compute and Combined constructs, plus 'data', 'enter data',...

const StreamingDiagnostic & operator<<(const StreamingDiagnostic &DB, const ASTContext::SectionInfo &Section)

Insertion operator for diagnostics.

const FunctionProtoType * T

@ Other

Other implicit parameter.

Diagnostic wrappers for TextAPI types for error reporting.

Wraps an identifier and optional source location for the identifier.

Describes how types, statements, expressions, and declarations should be printed.

static bool isEqual(const clang::NestedNameSpecifierLoc &LHS, const clang::NestedNameSpecifierLoc &RHS)

DenseMapInfo< void * > SecondInfo

static unsigned getHashValue(const clang::NestedNameSpecifierLoc &PairVal)

static clang::NestedNameSpecifierLoc getEmptyKey()

static clang::NestedNameSpecifierLoc getTombstoneKey()

DenseMapInfo< clang::NestedNameSpecifier * > FirstInfo


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4