A RetroSearch Logo

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

Search Query:

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

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

13#ifndef LLVM_CLANG_AST_DECLBASE_H 14#define LLVM_CLANG_AST_DECLBASE_H 26#include "llvm/ADT/ArrayRef.h" 27#include "llvm/ADT/PointerIntPair.h" 28#include "llvm/ADT/PointerUnion.h" 29#include "llvm/ADT/iterator.h" 30#include "llvm/ADT/iterator_range.h" 31#include "llvm/Support/Casting.h" 32#include "llvm/Support/Compiler.h" 33#include "llvm/Support/PrettyStackTrace.h" 34#include "llvm/Support/VersionTuple.h" 46class

ASTMutationListener;

50class

ExternalSourceSymbolAttr;

54enum class Linkage

:

unsigned

char;

58class

ObjCContainerDecl;

66class

TemplateParameterList;

67class

TranslationUnitDecl;

68class

UsingDirectiveDecl;

90#define DECL(DERIVED, BASE) DERIVED, 91#define ABSTRACT_DECL(DECL) 92#define DECL_RANGE(BASE, START, END) \ 93 first##BASE = START, last##BASE = END, 94#define LAST_DECL_RANGE(BASE, START, END) \ 95 first##BASE = START, last##BASE = END 96#include "clang/AST/DeclNodes.inc" 272

llvm::PointerUnion<DeclContext*, MultipleDC*> DeclCtx;

274 bool

isInSemaDC()

const

{

return

isa<DeclContext *>(DeclCtx); }

275 bool

isOutOfSemaDC()

const

{

return

isa<MultipleDC *>(DeclCtx); }

277

MultipleDC *getMultipleDC()

const

{

return

cast<MultipleDC *>(DeclCtx); }

279 DeclContext

*getSemanticDC()

const

{

return

cast<DeclContext *>(DeclCtx); }

285

LLVM_PREFERRED_TYPE(

Kind

)

286 unsigned

DeclKind : 7;

289

LLVM_PREFERRED_TYPE(

bool

)

290 unsigned

InvalidDecl : 1;

293

LLVM_PREFERRED_TYPE(

bool

)

294 unsigned

HasAttrs : 1;

298

LLVM_PREFERRED_TYPE(

bool

)

299 unsigned

Implicit : 1;

303

LLVM_PREFERRED_TYPE(

bool

)

310

LLVM_PREFERRED_TYPE(

bool

)

311 unsigned

Referenced : 1;

316

LLVM_PREFERRED_TYPE(

bool

)

317 unsigned

TopLevelDeclInObjCContainer : 1;

320 static bool

StatisticsEnabled;

339

LLVM_PREFERRED_TYPE(

bool

)

360 std

::

size_t

Extra = 0);

363 void

*operator new(

std

::

size_t

Size, const

ASTContext

&Ctx,

367 bool

AccessDeclContextCheck() const;

373 auto

*

D

= cast<Decl>(DC);

374 auto

MOK =

D

->getModuleOwnershipKind();

376

(!

D

->isFromASTFile() ||

D

->hasLocalOwningModuleStorage()))

394

DeclCtx(DC),

Loc

(L), DeclKind(DK), InvalidDecl(

false

), HasAttrs(

false

),

399 if

(StatisticsEnabled)

add

(DK);

403

: DeclKind(DK), InvalidDecl(

false

), HasAttrs(

false

), Implicit(

false

),

408 if

(StatisticsEnabled)

add

(DK);

453 return

getSemanticDC();

454 return

getMultipleDC()->SemanticDC;

497 bool

IgnoreTemplateOrMacroSubstitution);

507

assert(AccessDeclContextCheck());

511

assert(AccessDeclContextCheck());

550 if

(!HasAttrs)

return

;

553

llvm::erase_if(Vec, [](

Attr

*A) {

return isa

<Ts...>(A); });

559 template

<

typename

T>

void dropAttr

() { dropAttrs<T>(); }

561 template

<

typename

T>

563 return

llvm::make_range(specific_attr_begin<T>(), specific_attr_end<T>());

566 template

<

typename

T>

571 template

<

typename

T>

580 template

<

typename

T>

bool hasAttr

()

const

{

605 bool isUsed

(

bool

CheckUsedAttr =

true

)

const

;

632 return

TopLevelDeclInObjCContainer;

636

TopLevelDeclInObjCContainer =

V

;

739

VersionTuple EnclosingVersion = VersionTuple(),

740

StringRef *RealizedPlatform =

nullptr

)

const

;

797 Module

*getOwningModuleSlow()

const

;

809 return

getOwningModuleSlow();

819 "owned local decl but no local module storage"

);

820 return reinterpret_cast<Module

*

const

*

>

(

this

)[-1];

825 "should not have a cached owning module"

);

826 reinterpret_cast<Module

**

>

(

this

)[-1] = M;

878 "no storage available for owning module for this declaration"

);

913 return

getSemanticDC();

914 return

getMultipleDC()->LexicalDC;

998 Decl

*Current =

nullptr

;

1015

assert(Current &&

"Advancing while iterator has reached end"

);

1017 Decl

*Next = Current->getNextRedeclarationImpl();

1018

assert(Next &&

"Should return next redeclaration or itself, never null!"

);

1019

Current = (Next != Starter) ? Next :

nullptr

;

1030 return

x.Current == y.Current;

1034 return

x.Current != y.Current;

1113 return

(DeclKind >= Decl::firstFunction &&

1114

DeclKind <= Decl::lastFunction) ||

1115

DeclKind == FunctionTemplate;

1152 "namespace is not ordinary"

);

1178 "namespace includes neither ordinary nor tag"

);

1182 "namespace includes other than ordinary or tag"

);

1189 if

(PerformFriendInjection ||

1197 if

(PerformFriendInjection ||

1231 "visible non-member operators should be in ordinary namespace"

);

1239 void print

(raw_ostream &Out,

unsigned

Indentation = 0,

1240 bool

PrintInstantiation =

false

)

const

;

1242 unsigned

Indentation = 0,

bool

PrintInstantiation =

false

)

const

;

1245 unsigned

Indentation = 0);

1248 void dump

()

const

;

1253 void dump

(raw_ostream &Out,

bool

Deserialize =

false

,

1257

int64_t

getID

()

const

;

1294 const Decl

*TheDecl;

1297 const char

*Message;

1302

: TheDecl(theDecl),

Loc

(L),

SM

(sm), Message(Msg) {}

1304 void print

(raw_ostream &OS)

const override

;

1316 static constexpr int

NumLowBitsAvailable = 3;

1326 using Decls

= llvm::PointerUnion<NamedDecl*, DeclListNode*>;

1343

assert(Ptr &&

"dereferencing end() iterator"

);

1344 if

(

DeclListNode

*CurNode = dyn_cast<DeclListNode *>(Ptr))

1346 return

cast<NamedDecl *>(Ptr);

1352

assert(!Ptr.isNull() &&

"Advancing empty iterator"

);

1354 if

(

DeclListNode

*CurNode = dyn_cast<DeclListNode *>(Ptr))

1355

Ptr = CurNode->Rest;

1370 Decls

Rest =

nullptr

;

1396 bool empty

()

const

{

return

Result.isNull(); }

1405 for

(

auto

*

D

: *

this

)

1406 if

(

T

*

Decl

= dyn_cast<T>(

D

))

1469

uint64_t DeclKind : 7;

1474

LLVM_PREFERRED_TYPE(

bool

)

1475 mutable

uint64_t ExternalLexicalStorage : 1;

1480

LLVM_PREFERRED_TYPE(

bool

)

1481 mutable

uint64_t ExternalVisibleStorage : 1;

1487

LLVM_PREFERRED_TYPE(

bool

)

1488 mutable

uint64_t NeedToReconcileExternalVisibleStorage : 1;

1492

LLVM_PREFERRED_TYPE(

bool

)

1493 mutable

uint64_t HasLazyLocalLexicalLookups : 1;

1497

LLVM_PREFERRED_TYPE(

bool

)

1498 mutable

uint64_t HasLazyExternalLexicalLookups : 1;

1503

LLVM_PREFERRED_TYPE(

bool

)

1504 mutable

uint64_t UseQualifiedLookup : 1;

1520

LLVM_PREFERRED_TYPE(

bool

)

1521

uint64_t IsInline : 1;

1524

LLVM_PREFERRED_TYPE(

bool

)

1525

uint64_t IsNested : 1;

1542

uint64_t TagDeclKind : 3;

1547

LLVM_PREFERRED_TYPE(

bool

)

1548

uint64_t IsCompleteDefinition : 1;

1551

LLVM_PREFERRED_TYPE(

bool

)

1552

uint64_t IsBeingDefined : 1;

1556

LLVM_PREFERRED_TYPE(

bool

)

1557

uint64_t IsEmbeddedInDeclarator : 1;

1560

LLVM_PREFERRED_TYPE(

bool

)

1561

uint64_t IsFreeStanding : 1;

1567

LLVM_PREFERRED_TYPE(

bool

)

1568

uint64_t MayHaveOutOfDateDef : 1;

1572

LLVM_PREFERRED_TYPE(

bool

)

1573

uint64_t IsCompleteDefinitionRequired : 1;

1577

LLVM_PREFERRED_TYPE(

bool

)

1578

uint64_t IsThisDeclarationADemotedDefinition : 1;

1595

uint64_t NumPositiveBits : 8;

1599

uint64_t NumNegativeBits : 8;

1603

LLVM_PREFERRED_TYPE(

bool

)

1604

uint64_t IsScoped : 1;

1610

LLVM_PREFERRED_TYPE(

bool

)

1611

uint64_t IsScopedUsingClassTag : 1;

1615

LLVM_PREFERRED_TYPE(

bool

)

1616

uint64_t IsFixed : 1;

1619

LLVM_PREFERRED_TYPE(

bool

)

1620

uint64_t HasODRHash : 1;

1638

LLVM_PREFERRED_TYPE(

bool

)

1639

uint64_t HasFlexibleArrayMember : 1;

1642

LLVM_PREFERRED_TYPE(

bool

)

1643

uint64_t AnonymousStructOrUnion : 1;

1647

LLVM_PREFERRED_TYPE(

bool

)

1648

uint64_t HasObjectMember : 1;

1652

LLVM_PREFERRED_TYPE(

bool

)

1653

uint64_t HasVolatileMember : 1;

1659

LLVM_PREFERRED_TYPE(

bool

)

1660 mutable

uint64_t LoadedFieldsFromExternalStorage : 1;

1663

LLVM_PREFERRED_TYPE(

bool

)

1664

uint64_t NonTrivialToPrimitiveDefaultInitialize : 1;

1665

LLVM_PREFERRED_TYPE(

bool

)

1666

uint64_t NonTrivialToPrimitiveCopy : 1;

1667

LLVM_PREFERRED_TYPE(

bool

)

1668

uint64_t NonTrivialToPrimitiveDestroy : 1;

1673

LLVM_PREFERRED_TYPE(

bool

)

1674

uint64_t HasNonTrivialToPrimitiveDefaultInitializeCUnion : 1;

1675

LLVM_PREFERRED_TYPE(

bool

)

1676

uint64_t HasNonTrivialToPrimitiveDestructCUnion : 1;

1677

LLVM_PREFERRED_TYPE(

bool

)

1678

uint64_t HasNonTrivialToPrimitiveCopyCUnion : 1;

1685

LLVM_PREFERRED_TYPE(

bool

)

1686

uint64_t HasUninitializedExplicitInitFields : 1;

1689

LLVM_PREFERRED_TYPE(

bool

)

1690

uint64_t ParamDestroyedInCallee : 1;

1694

uint64_t ArgPassingRestrictions : 2;

1697

LLVM_PREFERRED_TYPE(

bool

)

1698

uint64_t IsRandomized : 1;

1720

uint64_t InitializerKind : 2;

1740

uint64_t SClass : 3;

1741

LLVM_PREFERRED_TYPE(

bool

)

1742

uint64_t IsInline : 1;

1743

LLVM_PREFERRED_TYPE(

bool

)

1744

uint64_t IsInlineSpecified : 1;

1746

LLVM_PREFERRED_TYPE(

bool

)

1747

uint64_t IsVirtualAsWritten : 1;

1748

LLVM_PREFERRED_TYPE(

bool

)

1749

uint64_t IsPureVirtual : 1;

1750

LLVM_PREFERRED_TYPE(

bool

)

1751

uint64_t HasInheritedPrototype : 1;

1752

LLVM_PREFERRED_TYPE(

bool

)

1753

uint64_t HasWrittenPrototype : 1;

1754

LLVM_PREFERRED_TYPE(

bool

)

1755

uint64_t IsDeleted : 1;

1757

LLVM_PREFERRED_TYPE(

bool

)

1758

uint64_t IsTrivial : 1;

1763

LLVM_PREFERRED_TYPE(

bool

)

1764

uint64_t IsTrivialForCall : 1;

1766

LLVM_PREFERRED_TYPE(

bool

)

1767

uint64_t IsDefaulted : 1;

1768

LLVM_PREFERRED_TYPE(

bool

)

1769

uint64_t IsExplicitlyDefaulted : 1;

1770

LLVM_PREFERRED_TYPE(

bool

)

1771

uint64_t HasDefaultedOrDeletedInfo : 1;

1776

LLVM_PREFERRED_TYPE(

bool

)

1777

uint64_t IsIneligibleOrNotSelected : 1;

1779

LLVM_PREFERRED_TYPE(

bool

)

1780

uint64_t HasImplicitReturnZero : 1;

1781

LLVM_PREFERRED_TYPE(

bool

)

1782

uint64_t IsLateTemplateParsed : 1;

1786

uint64_t ConstexprKind : 2;

1787

LLVM_PREFERRED_TYPE(

bool

)

1788

uint64_t BodyContainsImmediateEscalatingExpression : 1;

1790

LLVM_PREFERRED_TYPE(

bool

)

1791

uint64_t InstantiationIsPending : 1;

1794

LLVM_PREFERRED_TYPE(

bool

)

1795

uint64_t UsesSEHTry : 1;

1799

LLVM_PREFERRED_TYPE(

bool

)

1800

uint64_t HasSkippedBody : 1;

1804

LLVM_PREFERRED_TYPE(

bool

)

1805

uint64_t WillHaveBody : 1;

1809

LLVM_PREFERRED_TYPE(

bool

)

1810

uint64_t IsMultiVersion : 1;

1816

uint64_t DeductionCandidateKind : 2;

1819

LLVM_PREFERRED_TYPE(

bool

)

1820

uint64_t HasODRHash : 1;

1823

LLVM_PREFERRED_TYPE(

bool

)

1824

uint64_t UsesFPIntrin : 1;

1828

LLVM_PREFERRED_TYPE(

bool

)

1829

uint64_t FriendConstraintRefersToEnclosingTemplate : 1;

1849

uint64_t NumCtorInitializers : 17;

1850

LLVM_PREFERRED_TYPE(

bool

)

1851

uint64_t IsInheritingConstructor : 1;

1854

LLVM_PREFERRED_TYPE(

bool

)

1855

uint64_t HasTrailingExplicitSpecifier : 1;

1858

LLVM_PREFERRED_TYPE(

bool

)

1859

uint64_t IsSimpleExplicit : 1;

1882

LLVM_PREFERRED_TYPE(

bool

)

1883

uint64_t IsInstance : 1;

1884

LLVM_PREFERRED_TYPE(

bool

)

1885

uint64_t IsVariadic : 1;

1888

LLVM_PREFERRED_TYPE(

bool

)

1889

uint64_t IsPropertyAccessor : 1;

1892

LLVM_PREFERRED_TYPE(

bool

)

1893

uint64_t IsSynthesizedAccessorStub : 1;

1896

LLVM_PREFERRED_TYPE(

bool

)

1897

uint64_t IsDefined : 1;

1900

LLVM_PREFERRED_TYPE(

bool

)

1901

uint64_t IsRedeclaration : 1;

1904

LLVM_PREFERRED_TYPE(

bool

)

1905 mutable

uint64_t HasRedeclaration : 1;

1909

uint64_t DeclImplementation : 2;

1913

uint64_t objcDeclQualifier : 7;

1916

LLVM_PREFERRED_TYPE(

bool

)

1917

uint64_t RelatedResultType : 1;

1922

uint64_t SelLocsKind : 2;

1931

LLVM_PREFERRED_TYPE(

bool

)

1932

uint64_t IsOverriding : 1;

1935

LLVM_PREFERRED_TYPE(

bool

)

1936

uint64_t HasSkippedBody : 1;

1978

LLVM_PREFERRED_TYPE(

bool

)

1979

uint64_t HasBraces : 1;

1994

LLVM_PREFERRED_TYPE(

bool

)

1995

uint64_t IsVariadic : 1;

1996

LLVM_PREFERRED_TYPE(

bool

)

1997

uint64_t CapturesCXXThis : 1;

1998

LLVM_PREFERRED_TYPE(

bool

)

1999

uint64_t BlockMissingReturnType : 1;

2000

LLVM_PREFERRED_TYPE(

bool

)

2001

uint64_t IsConversionFromLambda : 1;

2005

LLVM_PREFERRED_TYPE(

bool

)

2006

uint64_t DoesNotEscape : 1;

2011

LLVM_PREFERRED_TYPE(

bool

)

2012

uint64_t CanAvoidCopyToHeap : 1;

2050 "DeclContextBitfields is larger than 8 bytes!"

);

2052 "NamespaceDeclBitfields is larger than 8 bytes!"

);

2054 "TagDeclBitfields is larger than 8 bytes!"

);

2056 "EnumDeclBitfields is larger than 8 bytes!"

);

2058 "RecordDeclBitfields is larger than 8 bytes!"

);

2060 "OMPDeclareReductionDeclBitfields is larger than 8 bytes!"

);

2062 "FunctionDeclBitfields is larger than 8 bytes!"

);

2064 "CXXConstructorDeclBitfields is larger than 8 bytes!"

);

2066 "ObjCMethodDeclBitfields is larger than 8 bytes!"

);

2068 "ObjCContainerDeclBitfields is larger than 8 bytes!"

);

2070 "LinkageSpecDeclBitfields is larger than 8 bytes!"

);

2072 "BlockDeclBitfields is larger than 8 bytes!"

);

2088 static

std::pair<Decl *, Decl *>

2108 return

cast<Decl>(

this

)->getDeclContext();

2124 return

cast<Decl>(

this

)->getLexicalDeclContext();

2137 return

cast<Decl>(

this

)->getASTContext();

2148 case

Decl::ObjCCategory:

2149 case

Decl::ObjCCategoryImpl:

2150 case

Decl::ObjCImplementation:

2151 case

Decl::ObjCInterface:

2152 case

Decl::ObjCProtocol:

2162 case

Decl::Captured:

2163 case

Decl::ObjCMethod:

2164 case

Decl::TopLevelStmt:

2326 Decl

*Current =

nullptr

;

2344

Current = Current->getNextDeclInContext();

2355 return

x.Current == y.Current;

2359 return

x.Current != y.Current;

2386 template

<

typename

SpecificDecl>

2396 void

SkipToNextDecl() {

2397 while

(*Current && !isa<SpecificDecl>(*Current))

2408

std::iterator_traits<DeclContext::decl_iterator>::difference_type;

2444 return

x.Current == y.Current;

2449 return

x.Current != y.Current;

2462 template

<

typename

SpecificDecl,

bool

(SpecificDecl::*Acceptable)() const>

2472 void

SkipToNextDecl() {

2474

(!isa<SpecificDecl>(*Current) ||

2475

(Acceptable && !(cast<SpecificDecl>(*Current)->*Acceptable)())))

2486

std::iterator_traits<DeclContext::decl_iterator>::difference_type;

2520 return

x.Current == y.Current;

2525 return

x.Current != y.Current;

2655 using ddiag_range

= llvm::iterator_range<DeclContext::ddiag_iterator>;

2669 "should only be called on primary context"

);

2709 return D

&& (

D

->NextInContextAndBits.getPointer() ||

D

==

FirstDecl

||

2729 bool

Deserialize =

false

)

const

;

2739 bool

hasNeedToReconcileExternalVisibleStorage()

const

{

2747 void

setNeedToReconcileExternalVisibleStorage(

bool

Need =

true

)

const

{

2753 bool

hasLazyLocalLexicalLookups()

const

{

2759 void

setHasLazyLocalLexicalLookups(

bool

HasLLLL =

true

)

const

{

2765 bool

hasLazyExternalLexicalLookups()

const

{

2771 void

setHasLazyExternalLexicalLookups(

bool

HasLELL =

true

)

const

{

2775 void

reconcileExternalVisibleStorage()

const

;

2776 bool

LoadLexicalDeclsFromExternalStorage()

const

;

2778

StoredDeclsMap *CreateStoredDeclsMap(ASTContext &

C

)

const

;

2780 void

loadLazyLocalLexicalLookups();

2781 void

buildLookupImpl(DeclContext *DCtx,

bool Internal

);

2782 void

makeDeclVisibleInContextWithFlags(NamedDecl *

D

,

bool Internal

,

2783 bool

Rediscoverable);

2784 void

makeDeclVisibleInContextImpl(NamedDecl *

D

,

bool Internal

);

2788 return getKind

() == TemplateTypeParm ||

getKind

() == NonTypeTemplateParm ||

2789 getKind

() == TemplateTemplateParm;

2793template

<

class

ToTy,

2794 bool

IsKnownSubtype = ::std::is_base_of<DeclContext, ToTy>::value>

2806template

<

class

ToTy>

2809 return static_cast<const

ToTy*

>

(Val);

2813 return static_cast<

ToTy*

>

(Val);

2822template

<

typename

To>

2824 static bool doit

(const ::clang::DeclContext &Val) {

2825 return

To::classofKind(Val.getDeclKind());

2830template

<

class

ToTy>

2831struct

cast_convert_val<ToTy,

2833 static const

ToTy &

doit

(const ::clang::DeclContext &Val) {

2838template

<

class

ToTy>

2845template

<

class

ToTy>

2846struct

cast_convert_val<ToTy,

2848 static const

ToTy *

doit

(const ::clang::DeclContext *Val) {

2849

return ::clang::cast_convert_decl_context<ToTy>::doit(Val);

2853template

<

class

ToTy>

2856

return ::clang::cast_convert_decl_context<ToTy>::doit(Val);

2861template

<

class

FromTy>

2863

static ::clang::DeclContext &

doit

(

const

FromTy &Val) {

2864 return

*FromTy::castToDeclContext(&Val);

2868template

<

class

FromTy>

2870

static ::clang::DeclContext *

doit

(

const

FromTy *Val) {

2871 return

FromTy::castToDeclContext(Val);

2875template

<

class

FromTy>

2877 static

const ::clang::DeclContext &

doit

(

const

FromTy &Val) {

2878 return

*FromTy::castToDeclContext(&Val);

2882template

<

class

FromTy>

2884 static

const ::clang::DeclContext *

doit

(

const

FromTy *Val) {

2885 return

FromTy::castToDeclContext(Val);

Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.

Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.

Defines the clang::LangOptions interface.

Defines the clang::SourceLocation class and associated facilities.

Defines various enumerations that describe declaration and type specifiers.

__PTRDIFF_TYPE__ ptrdiff_t

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

An abstract interface that should be implemented by listeners that want to be notified when an AST en...

Reads an AST files chain containing the contents of a translation unit.

Writes an AST file containing the contents of a translation unit.

Attr - This represents one attribute.

Represents a block literal declaration, which is like an unnamed FunctionDecl.

Represents a C++ constructor within a class.

Represents a C++ deduction guide declaration.

The results of name lookup within a DeclContext.

DeclContextLookupResult(Decls Result)

DeclContextLookupResult()=default

const_iterator begin() const

DeclListNode::iterator iterator

const_iterator end() const

bool isSingleResult() const

Stores the bits used by BlockDecl.

Stores the bits used by CXXConstructorDecl.

Stores the bits used by DeclContext.

Stores the bits used by EnumDecl.

Stores the bits used by FunctionDecl.

Stores the bits used by LinkageSpecDecl.

Stores the bits used by NamespaceDecl.

Stores the bits used by OMPDeclareReductionDecl.

Stores the bits used by ObjCContainerDecl.

Stores the bits used by ObjCMethodDecl.

Stores the bits used by RecordDecl.

Stores the bits used by TagDecl.

all_lookups_iterator - An iterator that provides a view over the results of looking up every possible...

An iterator over the dependent diagnostics in a dependent context.

decl_iterator - Iterates through the declarations stored within this context.

std::ptrdiff_t difference_type

std::forward_iterator_tag iterator_category

decl_iterator operator++(int)

value_type operator->() const

friend bool operator!=(decl_iterator x, decl_iterator y)

friend bool operator==(decl_iterator x, decl_iterator y)

reference operator*() const

decl_iterator & operator++()

Iterates over a filtered subrange of declarations stored in a DeclContext.

std::forward_iterator_tag iterator_category

value_type operator->() const

filtered_decl_iterator(DeclContext::decl_iterator C)

filtered_decl_iterator - Construct a new iterator over a subset of the declarations the range [C,...

friend bool operator==(const filtered_decl_iterator &x, const filtered_decl_iterator &y)

value_type operator*() const

filtered_decl_iterator operator++(int)

friend bool operator!=(const filtered_decl_iterator &x, const filtered_decl_iterator &y)

std::iterator_traits< DeclContext::decl_iterator >::difference_type difference_type

SpecificDecl * value_type

filtered_decl_iterator()=default

filtered_decl_iterator & operator++()

specific_decl_iterator - Iterates over a subrange of declarations stored in a DeclContext,...

specific_decl_iterator()=default

specific_decl_iterator(DeclContext::decl_iterator C)

specific_decl_iterator - Construct a new iterator over a subset of the declarations the range [C,...

value_type operator->() const

friend bool operator==(const specific_decl_iterator &x, const specific_decl_iterator &y)

std::forward_iterator_tag iterator_category

value_type operator*() const

SpecificDecl * value_type

specific_decl_iterator operator++(int)

friend bool operator!=(const specific_decl_iterator &x, const specific_decl_iterator &y)

specific_decl_iterator & operator++()

std::iterator_traits< DeclContext::decl_iterator >::difference_type difference_type

DeclContext - This is used only as base class of specific decl types that can act as declaration cont...

DeclContext * getParent()

getParent - Returns the containing DeclContext.

udir_range using_directives() const

Returns iterator range [First, Last) of UsingDirectiveDecls stored within this context.

bool Equals(const DeclContext *DC) const

Determine whether this declaration context is equivalent to the declaration context DC.

lookup_result::iterator lookup_iterator

bool isRequiresExprBody() const

FunctionDeclBitfields FunctionDeclBits

bool isFileContext() const

void setHasExternalVisibleStorage(bool ES=true) const

State whether this DeclContext has external storage for declarations visible in this context.

void makeDeclVisibleInContext(NamedDecl *D)

Makes a declaration visible within this context.

all_lookups_iterator noload_lookups_begin() const

Iterators over all possible lookups within this context that are currently loaded; don't attempt to r...

void dumpLookups(llvm::raw_ostream &OS, bool DumpDecls=false, bool Deserialize=false) const

static std::pair< Decl *, Decl * > BuildDeclChain(ArrayRef< Decl * > Decls, bool FieldsAlreadyLoaded)

Build up a chain of declarations.

bool isTransparentContext() const

isTransparentContext - Determines whether this context is a "transparent" context,...

Decl * getNonClosureAncestor()

Find the nearest non-closure ancestor of this context, i.e.

bool isObjCContainer() const

ObjCMethodDeclBitfields ObjCMethodDeclBits

TagDeclBitfields TagDeclBits

ASTContext & getParentASTContext() const

lookups_range noload_lookups(bool PreserveInternalState) const

const DeclContext * getParent() const

bool isExternCXXContext() const

Determines whether this context or some of its ancestors is a linkage specification context that spec...

bool isDependentContext() const

Determines whether this context is dependent on a template parameter.

bool InEnclosingNamespaceSetOf(const DeclContext *NS) const

Test if this context is part of the enclosing namespace set of the context NS, as defined in C++0x [n...

const DeclContext * getRedeclContext() const

EnumDeclBitfields EnumDeclBits

CXXConstructorDeclBitfields CXXConstructorDeclBits

static bool classof(const DeclContext *D)

const Decl * getNonClosureAncestor() const

DeclContext * getLexicalParent()

getLexicalParent - Returns the containing lexical DeclContext.

lookup_result lookup(DeclarationName Name) const

lookup - Find the declarations (if any) with the given Name in this context.

@ NumOMPDeclareReductionDeclBits

bool isLookupContext() const

Test whether the context supports looking up names.

const BlockDecl * getInnermostBlockDecl() const

Return this DeclContext if it is a BlockDecl.

bool hasExternalVisibleStorage() const

Whether this DeclContext has external storage containing additional declarations that are visible in ...

const DeclContext * getPrimaryContext() const

ObjCContainerDeclBitfields ObjCContainerDeclBits

const char * getDeclKindName() const

BlockDeclBitfields BlockDeclBits

bool isTranslationUnit() const

void collectAllContexts(SmallVectorImpl< DeclContext * > &Contexts)

Collects all of the declaration contexts that are semantically connected to this declaration context.

DeclContext * getRedeclContext()

getRedeclContext - Retrieve the context in which an entity conflicts with other entities of the same ...

llvm::iterator_range< udir_iterator > udir_range

all_lookups_iterator lookups_end() const

void setMustBuildLookupTable()

Mark that there are external lexical declarations that we need to include in our lookup table (and th...

RecordDeclBitfields RecordDeclBits

Decl * FirstDecl

FirstDecl - The first declaration stored within this declaration context.

decl_iterator noload_decls_begin() const

void addDeclInternal(Decl *D)

Add the declaration D into this context, but suppress searches for external declarations with the sam...

lookups_range lookups() const

const DeclContext * getLookupParent() const

bool shouldUseQualifiedLookup() const

bool containsDeclAndLoad(Decl *D) const

Checks whether a declaration is in this context.

void removeDecl(Decl *D)

Removes a declaration from this context.

void addDecl(Decl *D)

Add the declaration D into this context.

llvm::iterator_range< decl_iterator > decl_range

void dumpDeclContext() const

StoredDeclsMap * buildLookup()

Ensure the lookup structure is fully-built and return it.

decl_iterator decls_end() const

bool hasValidDeclKind() const

bool isStdNamespace() const

ddiag_range ddiags() const

llvm::iterator_adaptor_base< udir_iterator, lookup_iterator, typename lookup_iterator::iterator_category, UsingDirectiveDecl * > udir_iterator_base

lookup_result noload_lookup(DeclarationName Name)

Find the declarations with the given name that are visible within this context; don't attempt to retr...

static bool classof(const Decl *D)

@ NumObjCContainerDeclBits

const DeclContext * getNonTransparentContext() const

const RecordDecl * getOuterLexicalRecordContext() const

bool containsDecl(Decl *D) const

Checks whether a declaration is in this context.

llvm::iterator_range< DeclContext::ddiag_iterator > ddiag_range

bool hasExternalLexicalStorage() const

Whether this DeclContext has external storage containing additional declarations that are lexically i...

void setUseQualifiedLookup(bool use=true) const

DeclContext * getEnclosingNamespaceContext()

Retrieve the nearest enclosing namespace context.

@ NumCXXConstructorDeclBits

Decl * LastDecl

LastDecl - The last declaration stored within this declaration context.

NamespaceDeclBitfields NamespaceDeclBits

all_lookups_iterator lookups_begin() const

Iterators over all possible lookups within this context.

llvm::iterator_range< all_lookups_iterator > lookups_range

decl_range noload_decls() const

noload_decls_begin/end - Iterate over the declarations stored in this context that are currently load...

DeclContext * getPrimaryContext()

getPrimaryContext - There may be many different declarations of the same entity (including forward de...

RecordDecl * getOuterLexicalRecordContext()

Retrieve the outermost lexically enclosing record context.

const DeclContext * getEnclosingNamespaceContext() const

decl_range decls() const

decls_begin/decls_end - Iterate over the declarations stored in this context.

bool isInlineNamespace() const

DeclContextBitfields DeclContextBits

bool isFunctionOrMethod() const

void setHasExternalLexicalStorage(bool ES=true) const

State whether this DeclContext has external storage for declarations lexically in this context.

DeclContext * getLookupParent()

Find the parent context of this context that will be used for unqualified name lookup.

StoredDeclsMap * LookupPtr

Pointer to the data structure used to lookup declarations within this context (or a DependentStoredDe...

bool isExternCContext() const

Determines whether this context or some of its ancestors is a linkage specification context that spec...

all_lookups_iterator noload_lookups_end() const

const LinkageSpecDecl * getExternCContext() const

Retrieve the nearest enclosing C linkage specification context.

LinkageSpecDeclBitfields LinkageSpecDeclBits

decl_iterator noload_decls_end() const

StoredDeclsMap * getLookupPtr() const

Retrieve the internal representation of the lookup structure.

bool Encloses(const DeclContext *DC) const

Determine whether this declaration context encloses the declaration context DC.

void addHiddenDecl(Decl *D)

Add the declaration D to this context without modifying any lookup tables.

void localUncachedLookup(DeclarationName Name, SmallVectorImpl< NamedDecl * > &Results)

A simplistic name lookup mechanism that performs name lookup into this declaration context without co...

OMPDeclareReductionDeclBitfields OMPDeclareReductionDeclBits

bool isDeclInLexicalTraversal(const Decl *D) const

Determine whether the given declaration is stored in the list of declarations lexically within this c...

Decl::Kind getDeclKind() const

DeclContext * getNonTransparentContext()

decl_iterator decls_begin() const

const DeclContext * getLexicalParent() const

std::forward_iterator_tag iterator_category

ptrdiff_t difference_type

reference operator*() const

bool operator==(const iterator &X) const

bool operator!=(const iterator &X) const

A list storing NamedDecls in the lookup tables.

llvm::PointerUnion< NamedDecl *, DeclListNode * > Decls

Iterates through all the redeclarations of the same decl.

friend bool operator!=(redecl_iterator x, redecl_iterator y)

value_type operator->() const

redecl_iterator & operator++()

redecl_iterator operator++(int)

friend bool operator==(redecl_iterator x, redecl_iterator y)

std::ptrdiff_t difference_type

redecl_iterator()=default

reference operator*() const

std::forward_iterator_tag iterator_category

Decl - This represents one declaration (or definition), e.g.

Decl * getPreviousDecl()

Retrieve the previous declaration that declares the same entity as this declaration,...

Decl * getMostRecentDecl()

Retrieve the most recent declaration that declares the same entity as this declaration (which may be ...

const DeclContext * getParentFunctionOrMethod(bool LexicalParent=false) const

If this decl is defined inside a function/method/block it returns the corresponding DeclContext,...

bool isInStdNamespace() const

unsigned CacheValidAndLinkage

If 0, we have not computed the linkage of this declaration.

bool isInCurrentModuleUnit() const

Whether this declaration comes from the same module unit being compiled.

SourceLocation getEndLoc() const LLVM_READONLY

bool isModulePrivate() const

Whether this declaration was marked as being private to the module in which it was defined.

TemplateDecl * getDescribedTemplate() const

If this is a declaration that describes some template, this method returns that template declaration.

bool isTemplateDecl() const

returns true if this declaration is a template

Module * getTopLevelOwningNamedModule() const

Get the top level owning named module that owns this declaration if any.

FriendObjectKind getFriendObjectKind() const

Determines whether this declaration is the object of a friend declaration and, if so,...

bool isFunctionOrFunctionTemplate() const

Whether this declaration is a function or function template.

bool isFromGlobalModule() const

Whether this declaration comes from global module.

ASTContext & getASTContext() const LLVM_READONLY

void setOwningModuleID(unsigned ID)

Set the owning module ID.

attr_iterator attr_end() const

bool isImplicit() const

isImplicit - Indicates whether the declaration was implicitly generated by the implementation.

void setAttrs(const AttrVec &Attrs)

bool isUnavailable(std::string *Message=nullptr) const

Determine whether this declaration is marked 'unavailable'.

bool hasLocalOwningModuleStorage() const

const Decl * getPreviousDecl() const

Retrieve the previous declaration that declares the same entity as this declaration,...

bool isFunctionPointerType() const

bool isInNamedModule() const

Whether this declaration comes from a named module.

const TranslationUnitDecl * getTranslationUnitDecl() const

ExternalSourceSymbolAttr * getExternalSourceSymbolAttr() const

Looks on this and related declarations for an applicable external source symbol attribute.

void setFromASTFile()

Set the FromASTFile flag.

void setLocalExternDecl()

Changes the namespace of this declaration to reflect that it's a function-local extern declaration.

Decl(Kind DK, DeclContext *DC, SourceLocation L)

virtual bool isOutOfLine() const

Determine whether this declaration is declared out of line (outside its semantic context).

virtual Decl * getPreviousDeclImpl()

Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.

Decl(Kind DK, EmptyShell Empty)

llvm::iterator_range< redecl_iterator > redecl_range

const Decl * getCanonicalDecl() const

bool isWeakImported() const

Determine whether this is a weak-imported symbol.

ModuleOwnershipKind getModuleOwnershipKind() const

Get the kind of module ownership for this declaration.

bool isParameterPack() const

Whether this declaration is a parameter pack.

ASTMutationListener * getASTMutationListener() const

bool hasCachedLinkage() const

unsigned getMaxAlignment() const

getMaxAlignment - return the maximum alignment specified by attributes on this decl,...

AvailabilityResult getAvailability(std::string *Message=nullptr, VersionTuple EnclosingVersion=VersionTuple(), StringRef *RealizedPlatform=nullptr) const

Determine the availability of the given declaration.

void setInvalidDecl(bool Invalid=true)

setInvalidDecl - Indicates the Decl had a semantic error.

bool isUnconditionallyVisible() const

Determine whether this declaration is definitely visible to name lookup, independent of whether the o...

DeclContext * getParentFunctionOrMethod(bool LexicalParent=false)

Kind

Lists the kind of concrete classes of Decl.

void clearIdentifierNamespace()

Clears the namespace of this declaration.

AttrVec::const_iterator attr_iterator

static unsigned getIdentifierNamespaceForKind(Kind DK)

void setTopLevelDeclInObjCContainer(bool V=true)

virtual Stmt * getBody() const

getBody - If this Decl represents a declaration for a body of code, such as a function or method defi...

void markUsed(ASTContext &C)

Mark the declaration used, in the sense of odr-use.

bool isInIdentifierNamespace(unsigned NS) const

bool isFileContextDecl() const

static Decl * castFromDeclContext(const DeclContext *)

@ FOK_Undeclared

A friend of a previously-undeclared entity.

@ FOK_None

Not a friend object.

@ FOK_Declared

A friend of a previously-declared entity.

Decl * getNextDeclInContext()

bool isInvisibleOutsideTheOwningModule() const

bool isTemplated() const

Determine whether this declaration is a templated entity (whether it is.

bool isInExportDeclContext() const

Whether this declaration was exported in a lexical context.

SourceLocation getBodyRBrace() const

getBodyRBrace - Gets the right brace of the body, if a body exists.

static bool isTagIdentifierNamespace(unsigned NS)

bool isReferenced() const

Whether any declaration of this entity was referenced.

const FunctionType * getFunctionType(bool BlocksToo=true) const

Looks through the Decl's underlying type to extract a FunctionType when possible.

bool isCanonicalDecl() const

Whether this particular Decl is a canonical one.

bool isInAnotherModuleUnit() const

Whether this declaration comes from another module unit.

llvm::PointerIntPair< Decl *, 3, ModuleOwnershipKind > NextInContextAndBits

The next declaration within the same lexical DeclContext.

Module * getOwningModule() const

Get the module that owns this declaration (for visibility purposes).

unsigned getTemplateDepth() const

Determine the number of levels of template parameter surrounding this declaration.

bool isFirstDecl() const

True if this is the first declaration in its redeclaration chain.

bool isFromExplicitGlobalModule() const

Whether this declaration comes from explicit global module.

FunctionDecl * getAsFunction() LLVM_READONLY

Returns the function itself, or the templated function if this is a function template.

Module * getImportedOwningModule() const

Get the imported owning module, if this decl is from an imported (non-local) module.

bool canBeWeakImported(bool &IsDefinition) const

Determines whether this symbol can be weak-imported, e.g., whether it would be well-formed to add the...

static DeclContext * castToDeclContext(const Decl *)

const DeclContext * getDeclContext() const

ObjCDeclQualifier

ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declaration...

@ OBJC_TQ_CSNullability

The nullability qualifier is set when the nullability of the result or parameter was expressed via a ...

const TemplateParameterList * getDescribedTemplateParams() const

If this is a declaration that describes some template or partial specialization, this returns the cor...

void setObjectOfFriendDecl(bool PerformFriendInjection=false)

Changes the namespace of this declaration to reflect that it's the object of a friend declaration.

bool isFromASTFile() const

Determine whether this declaration came from an AST file (such as a precompiled header or module) rat...

attr_iterator attr_begin() const

bool isInLocalScopeForInstantiation() const

Determine whether a substitution into this declaration would occur as part of a substitution into a d...

const Attr * getDefiningAttr() const

Return this declaration's defining attribute if it has one.

Linkage getCachedLinkage() const

bool isTemplateParameter() const

isTemplateParameter - Determines whether this declaration is a template parameter.

DeclContext * getNonTransparentDeclContext()

Return the non transparent context.

virtual bool hasBody() const

Returns true if this Decl represents a declaration for a body of code, such as a function or method d...

Decl * getNonClosureContext()

Find the innermost non-closure ancestor of this declaration, walking up through blocks,...

bool isInvalidDecl() const

unsigned getIdentifierNamespace() const

unsigned FromASTFile

Whether this declaration was loaded from an AST file.

const Decl * getMostRecentDecl() const

Retrieve the most recent declaration that declares the same entity as this declaration (which may be ...

virtual Decl * getNextRedeclarationImpl()

Returns the next redeclaration or itself if this is the only decl.

Decl & operator=(Decl &&)=delete

bool hasDefiningAttr() const

Return true if this declaration has an attribute which acts as definition of the entity,...

bool isLocalExternDecl() const

Determine whether this is a block-scope declaration with linkage.

llvm::iterator_range< specific_attr_iterator< T > > specific_attrs() const

friend class CXXClassMemberWrapper

void setAccess(AccessSpecifier AS)

SourceLocation getLocation() const

redecl_iterator redecls_end() const

const char * getDeclKindName() const

IdentifierNamespace

IdentifierNamespace - The different namespaces in which declarations may appear.

@ IDNS_NonMemberOperator

This declaration is a C++ operator declared in a non-class context.

@ IDNS_TagFriend

This declaration is a friend class.

@ IDNS_Ordinary

Ordinary names.

@ IDNS_Type

Types, declared with 'struct foo', typedefs, etc.

@ IDNS_OMPReduction

This declaration is an OpenMP user defined reduction construction.

@ IDNS_Label

Labels, declared with 'x:' and referenced with 'goto x'.

@ IDNS_Member

Members, declared with object declarations within tag definitions.

@ IDNS_OMPMapper

This declaration is an OpenMP user defined mapper.

@ IDNS_ObjCProtocol

Objective C @protocol.

@ IDNS_Namespace

Namespaces, declared with 'namespace foo {}'.

@ IDNS_OrdinaryFriend

This declaration is a friend function.

@ IDNS_Using

This declaration is a using declaration.

@ IDNS_LocalExtern

This declaration is a function-local extern declaration of a variable or function.

@ IDNS_Tag

Tags, declared with 'struct foo;' and referenced with 'struct foo'.

bool isDeprecated(std::string *Message=nullptr) const

Determine whether this declaration is marked 'deprecated'.

AccessSpecifier getAccessUnsafe() const

Retrieve the access specifier for this declaration, even though it may not yet have been properly set...

bool isTemplateParameterPack() const

isTemplateParameter - Determines whether this declaration is a template parameter pack.

void setLocalOwningModule(Module *M)

const DeclContext * getNonTransparentDeclContext() const

void setImplicit(bool I=true)

void setReferenced(bool R=true)

const DeclContext * getLexicalDeclContext() const

static void printGroup(Decl **Begin, unsigned NumDecls, raw_ostream &Out, const PrintingPolicy &Policy, unsigned Indentation=0)

bool isThisDeclarationReferenced() const

Whether this declaration was referenced.

redecl_range redecls() const

Returns an iterator range for all the redeclarations of the same decl.

void setIsUsed()

Set whether the declaration is used, in the sense of odr-use.

unsigned Access

Access - Used by C++ decls for the access specifier.

bool isTopLevelDeclInObjCContainer() const

Whether this declaration is a top-level declaration (function, global variable, etc....

void setLocation(SourceLocation L)

bool isUsed(bool CheckUsedAttr=true) const

Whether any (re-)declaration of the entity was used, meaning that a definition is required.

bool isDefinedOutsideFunctionOrMethod() const

isDefinedOutsideFunctionOrMethod - This predicate returns true if this scoped decl is defined outside...

DeclContext * getDeclContext()

AccessSpecifier getAccess() const

const Decl * getNextDeclInContext() const

bool isInAnonymousNamespace() const

SourceLocation getBeginLoc() const LLVM_READONLY

redecl_iterator redecls_begin() const

static void EnableStatistics()

TranslationUnitDecl * getTranslationUnitDecl()

VersionTuple getVersionIntroduced() const

Retrieve the version of the target platform in which this declaration was introduced.

specific_attr_iterator< T > specific_attr_end() const

virtual Decl * getMostRecentDeclImpl()

Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chai...

bool hasOwningModule() const

Is this declaration owned by some module?

Decl(const Decl &)=delete

void setCachedLinkage(Linkage L) const

void setModulePrivate()

Specify that this declaration was marked as being private to the module in which it was defined.

bool isFromHeaderUnit() const

Whether this declaration comes from a header unit.

llvm::iterator_range< attr_iterator > attr_range

specific_attr_iterator< T > specific_attr_begin() const

void updateOutOfDate(IdentifierInfo &II) const

Update a potentially out-of-date declaration.

void print(raw_ostream &Out, unsigned Indentation=0, bool PrintInstantiation=false) const

static bool isFlexibleArrayMemberLike(ASTContext &Context, const Decl *D, QualType Ty, LangOptions::StrictFlexArraysLevelKind StrictFlexArraysLevel, bool IgnoreTemplateOrMacroSubstitution)

Whether it resembles a flexible array member.

void setDeclContext(DeclContext *DC)

setDeclContext - Set both the semantic and lexical DeclContext to DC.

Module * getOwningModuleForLinkage() const

Get the module that owns this declaration for linkage purposes.

bool hasTagIdentifierNamespace() const

DeclContext * getLexicalDeclContext()

getLexicalDeclContext - The declaration context where this Decl was lexically declared (LexicalDC).

void setNonMemberOperator()

Specifies that this declaration is a C++ overloaded non-member.

void setLexicalDeclContext(DeclContext *DC)

virtual Decl * getCanonicalDecl()

Retrieves the "canonical" declaration of the given declaration.

ModuleOwnershipKind

The kind of ownership a declaration has, for visibility purposes.

@ VisibleWhenImported

This declaration has an owning module, and is visible when that module is imported.

@ Unowned

This declaration is not owned by a module.

@ ReachableWhenImported

This declaration has an owning module, and is visible to lookups that occurs within that module.

@ ModulePrivate

This declaration has an owning module, but is only visible to lookups that occur within that module.

@ Visible

This declaration has an owning module, but is globally visible (typically because its owning module i...

void setModuleOwnershipKind(ModuleOwnershipKind MOK)

Set whether this declaration is hidden from name lookup.

Module * getLocalOwningModule() const

Get the local owning module, if known.

const LangOptions & getLangOpts() const LLVM_READONLY

Helper to get the language options from the ASTContext.

virtual SourceRange getSourceRange() const LLVM_READONLY

Source range that this declaration covers.

GlobalDeclID getGlobalID() const

Retrieve the global declaration ID associated with this declaration, which specifies where this Decl ...

unsigned getOwningModuleID() const

Retrieve the global ID of the module that owns this particular declaration.

static bool classofKind(Kind K)

bool shouldEmitInExternalSource() const

Whether the definition of the declaration should be emitted in external sources.

Decl & operator=(const Decl &)=delete

void setVisibleDespiteOwningModule()

Set that this declaration is globally visible, even if it came from a module that is not visible.

const Decl * getNonClosureContext() const

The name of a declaration.

A dependently-generated diagnostic.

Abstract interface for external sources of AST nodes.

Represents a function declaration or definition.

FunctionType - C99 6.7.5.3 - Function Declarators.

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

StrictFlexArraysLevelKind

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

Represents a linkage specification.

Describes a module or submodule.

This represents a decl that may have a name.

Represent a C++ namespace.

This represents '#pragma omp declare reduction ...' directive.

ObjCContainerDecl - Represents a container for method declarations.

ObjCMethodDecl - Represents an instance or class method declaration.

PrettyStackTraceDecl - If a crash occurs, indicate that it happened when doing something to a specifi...

void print(raw_ostream &OS) const override

PrettyStackTraceDecl(const Decl *theDecl, SourceLocation L, SourceManager &sm, const char *Msg)

A (possibly-)qualified type.

Represents a struct/union/class.

Provides common interface for the Decls that can be redeclared.

Encodes a location in the source.

This class handles loading and caching of source files into memory.

A trivial tuple used to represent a source range.

SourceLocation getEnd() const

SourceLocation getBegin() const

Stmt - This represents one statement.

An array of decls optimized for the common case of only containing one entry.

Represents the declaration of a struct/union/class/enum.

The base class of all kinds of template declarations (e.g., class, function, etc.).

Stores a list of template parameters for a TemplateDecl and its derived classes.

The top declaration context.

Represents C++ using-directive.

specific_attr_iterator - Iterates over a subrange of an AttrVec, only providing attributes that are o...

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

ASTDumpOutputFormat

Used to specify the format for printing AST dump information.

bool isa(CodeGen::Address addr)

SelectorLocationsKind

Whether all locations of the selector identifiers are in a "standard" position.

ConstexprSpecKind

Define the kind of constexpr specifier.

LinkageSpecLanguageIDs

Represents the language in a linkage specification.

OMPDeclareReductionInitKind

StorageClass

Storage classes.

@ ObjCMethodFamilyBitWidth

ObjCMethodFamily

A family of Objective-C methods.

Linkage

Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have.

@ Internal

Internal linkage, which indicates that the entity can be referred to from within the translation unit...

@ Module

Module linkage, which indicates that the entity can be referred to from other translation units withi...

Language

The language for the input, used to select and validate the language standard and possible actions.

TagTypeKind

The kind of a tag type.

AvailabilityResult

Captures the result of checking the availability of a declaration.

ObjCImplementationControl

RecordArgPassingKind

Enum that represents the different ways arguments are passed to and returned from function calls.

const FunctionProtoType * T

DeductionCandidate

Only used by CXXDeductionGuideDecl.

bool declaresSameEntity(const Decl *D1, const Decl *D2)

Determine whether two declarations declare the same entity.

AccessSpecifier

A C++ access specifier (public, private, protected), plus the special value "none" which means differ...

Diagnostic wrappers for TextAPI types for error reporting.

UsingDirectiveDecl * operator*() const

udir_iterator(lookup_iterator I)

A placeholder type used to construct an empty shell of a decl-derived type that will be filled in lat...

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

static ToTy * doit(DeclContext *Val)

static const ToTy * doit(const DeclContext *Val)

static const ToTy * doit(const DeclContext *Val)

static ToTy * doit(DeclContext *Val)

static void * getAsVoidPointer(::clang::NamedDecl *P)

static inline ::clang::NamedDecl * getFromVoidPointer(void *P)

static ToTy & doit(::clang::DeclContext &Val)

static ToTy * doit(::clang::DeclContext *Val)

static const ToTy & doit(const ::clang::DeclContext &Val)

static const ToTy * doit(const ::clang::DeclContext *Val)

::clang::DeclContext & doit(const FromTy &Val)

::clang::DeclContext * doit(const FromTy *Val)

static const ::clang::DeclContext & doit(const FromTy &Val)

static const ::clang::DeclContext * doit(const FromTy *Val)

static bool doit(const ::clang::DeclContext &Val)


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