| bool |
hasInitStorage () const |
|
True if this IfStmt has the storage for an init statement. |
| bool |
hasVarStorage () const |
|
True if this IfStmt has storage for a variable declaration. |
| bool |
hasElseStorage () const |
|
True if this IfStmt has storage for an else statement. |
| Expr * |
getCond () |
| const Expr * |
getCond () const |
| void |
setCond (Expr *Cond) |
| Stmt * |
getThen () |
| const Stmt * |
getThen () const |
| void |
setThen (Stmt *Then) |
| Stmt * |
getElse () |
| const Stmt * |
getElse () const |
| void |
setElse (Stmt *Else) |
| VarDecl * |
getConditionVariable () |
|
Retrieve the variable declared in this "if" statement, if any. |
| const VarDecl * |
getConditionVariable () const |
| void |
setConditionVariable (const ASTContext &Ctx, VarDecl *V) |
|
Set the condition variable for this if statement. |
| DeclStmt * |
getConditionVariableDeclStmt () |
|
If this IfStmt has a condition variable, return the faux DeclStmt associated with the creation of that condition variable. |
| const DeclStmt * |
getConditionVariableDeclStmt () const |
| void |
setConditionVariableDeclStmt (DeclStmt *CondVar) |
| Stmt * |
getInit () |
| const Stmt * |
getInit () const |
| void |
setInit (Stmt *Init) |
| SourceLocation |
getIfLoc () const |
| void |
setIfLoc (SourceLocation IfLoc) |
| SourceLocation |
getElseLoc () const |
| void |
setElseLoc (SourceLocation ElseLoc) |
| bool |
isConsteval () const |
| bool |
isNonNegatedConsteval () const |
| bool |
isNegatedConsteval () const |
| bool |
isConstexpr () const |
| void |
setStatementKind (IfStatementKind Kind) |
| IfStatementKind |
getStatementKind () const |
| std::optional< const Stmt * > |
getNondiscardedCase (const ASTContext &Ctx) const |
|
If this is an 'if constexpr', determine which substatement will be taken. |
| std::optional< Stmt * > |
getNondiscardedCase (const ASTContext &Ctx) |
| bool |
isObjCAvailabilityCheck () const |
| SourceLocation |
getBeginLoc () const |
| SourceLocation |
getEndLoc () const LLVM_READONLY |
| SourceLocation |
getLParenLoc () const |
| void |
setLParenLoc (SourceLocation Loc) |
| SourceLocation |
getRParenLoc () const |
| void |
setRParenLoc (SourceLocation Loc) |
| child_range |
children () |
| const_child_range |
children () const |
| Public Member Functions inherited from clang::Stmt |
|
| void * |
operator new (size_t bytes, const ASTContext &C, unsigned alignment=8) |
| void * |
operator new (size_t bytes, const ASTContext *C, unsigned alignment=8) |
| void * |
operator new (size_t bytes, void *mem) noexcept |
| void |
operator delete (void *, const ASTContext &, unsigned) noexcept |
| void |
operator delete (void *, const ASTContext *, unsigned) noexcept |
| void |
operator delete (void *, size_t) noexcept |
| void |
operator delete (void *, void *) noexcept |
|
Stmt ()=delete |
|
Stmt (const Stmt &)=delete |
|
Stmt (Stmt &&)=delete |
| Stmt & |
operator= (const Stmt &)=delete |
| Stmt & |
operator= (Stmt &&)=delete |
|
Stmt (StmtClass SC) |
| StmtClass |
getStmtClass () const |
| const char * |
getStmtClassName () const |
| SourceRange |
getSourceRange () const LLVM_READONLY |
|
SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. |
| SourceLocation |
getBeginLoc () const LLVM_READONLY |
| SourceLocation |
getEndLoc () const LLVM_READONLY |
| void |
dump () const |
|
Dumps the specified AST fragment and all subtrees to llvm::errs(). |
| void |
dump (raw_ostream &OS, const ASTContext &Context) const |
| int64_t |
getID (const ASTContext &Context) const |
| void |
dumpColor () const |
|
dumpColor - same as dump(), but forces color highlighting. |
| void |
dumpPretty (const ASTContext &Context) const |
|
dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax. |
| void |
printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const |
| void |
printPrettyControlled (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0, StringRef NewlineSymbol="\n", const ASTContext *Context=nullptr) const |
| void |
printJson (raw_ostream &Out, PrinterHelper *Helper, const PrintingPolicy &Policy, bool AddQuotes) const |
|
Pretty-prints in JSON format. |
| void |
viewAST () const |
|
viewAST - Visualize an AST rooted at this Stmt* using GraphViz. |
| Stmt * |
IgnoreContainers (bool IgnoreCaptured=false) |
|
Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true. |
| const Stmt * |
IgnoreContainers (bool IgnoreCaptured=false) const |
| const Stmt * |
stripLabelLikeStatements () const |
|
Strip off all label-like statements. |
| Stmt * |
stripLabelLikeStatements () |
| child_range |
children () |
| const_child_range |
children () const |
| child_iterator |
child_begin () |
| child_iterator |
child_end () |
| const_child_iterator |
child_begin () const |
| const_child_iterator |
child_end () const |
| void |
Profile (llvm::FoldingSetNodeID &ID, const ASTContext &Context, bool Canonical, bool ProfileLambdaExpr=false) const |
|
Produce a unique representation of the given statement. |
| void |
ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const |
|
Calculate a unique representation for a statement that is stable across compiler invocations. |