clang: include/clang/AST/StmtIterator.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_CLANG_AST_STMTITERATOR_H
14#define LLVM_CLANG_AST_STMTITERATOR_H
15
16#include
17#include
18#include
19#include
20
22
24class Stmt;
25class VariableArrayType;
26
28protected:
29 enum {
35
36 union {
39 };
42
47
50 }
51
54 }
55
58 }
59
62 }
63
67 }
68
69 void NextDecl(bool ImmediateAdvance = true);
72
74};
75
76template <typename DERIVED, typename REFERENCE>
78protected:
80
81public:
87
92
98 else
100
101 return static_cast<DERIVED&>(*this);
102 }
103
105 DERIVED tmp = static_cast<DERIVED&>(*this);
107 return tmp;
108 }
109
110 friend bool operator==(const DERIVED &LHS, const DERIVED &RHS) {
111 return LHS.stmt == RHS.stmt && LHS.DGI == RHS.DGI &&
112 LHS.RawVAPtr == RHS.RawVAPtr;
113 }
114
115 friend bool operator!=(const DERIVED &LHS, const DERIVED &RHS) {
116 return !(LHS == RHS);
117 }
118
121 }
122
124};
125
126struct ConstStmtIterator;
127
135
136private:
139
142};
143
145 const Stmt*> {
149
152 const_cast<Stmt **>(S)) {}
153};
154
156 return RHS;
157}
158
159}
160
161#endif
__device__ __2f16 float __ockl_bool s
Decl - This represents one declaration (or definition), e.g.
void NextDecl(bool ImmediateAdvance=true)
void setVAPtr(const VariableArrayType *P)
Stmt *& GetDeclExpr() const
const VariableArrayType * getVAPtr() const
bool inSizeOfTypeVA() const
StmtIteratorBase(Stmt **s)
friend bool operator!=(const DERIVED &LHS, const DERIVED &RHS)
REFERENCE operator*() const
StmtIteratorImpl(Stmt **s)
StmtIteratorImpl(const VariableArrayType *t)
REFERENCE operator->() const
std::forward_iterator_tag iterator_category
StmtIteratorImpl(const StmtIteratorBase &RHS)
std::ptrdiff_t difference_type
friend bool operator==(const DERIVED &LHS, const DERIVED &RHS)
StmtIteratorImpl(Decl **dgi, Decl **dge)
StmtIteratorImpl()=default
Stmt - This represents one statement.
Represents a C array with a specified size that is not an integer-constant-expression.
@ Decl
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
The JSON file list parser is used to communicate input to InstallAPI.
StmtIterator cast_away_const(const ConstStmtIterator &RHS)
__UINTPTR_TYPE__ uintptr_t
An unsigned integer type with the property that any valid pointer to void can be converted to this ty...
ConstStmtIterator(const StmtIterator &RHS)
ConstStmtIterator(Stmt *const *S)
ConstStmtIterator()=default
StmtIterator(Decl **dgi, Decl **dge)
StmtIterator(const VariableArrayType *t)
friend StmtIterator cast_away_const(const ConstStmtIterator &RHS)