clang: clang::Stmt Class Reference (original) (raw)
Stmt - This represents one statement. More...
#include "[clang/AST/Stmt.h](Stmt%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| enum | StmtClass { NoStmtClass = 0 } |
| enum | Likelihood { LH_Unlikely = -1 , LH_None, LH_Likely } |
| The likelihood of a branch being taken. More... | |
| using | child_iterator = StmtIterator |
| Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpressions of an AST node. | |
| using | const_child_iterator = ConstStmtIterator |
| using | child_range = llvm::iterator_range<child_iterator> |
| using | const_child_range = llvm::iterator_range<const_child_iterator> |
| Public Member Functions | |
|---|---|
| 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. |
| Static Public Member Functions | |
|---|---|
| static void | addStmtClass (const StmtClass s) |
| static void | EnableStatistics () |
| static void | PrintStats () |
| static Likelihood | getLikelihood (ArrayRef< const Attr * > Attrs) |
| static Likelihood | getLikelihood (const Stmt *S) |
| static const Attr * | getLikelihoodAttr (const Stmt *S) |
| static Likelihood | getLikelihood (const Stmt *Then, const Stmt *Else) |
| static std::tuple< bool, const Attr *, const Attr * > | determineLikelihoodConflict (const Stmt *Then, const Stmt *Else) |
| Protected Types | |
|---|---|
| enum | { NumExprBits = NumStmtBits + 5 + llvm::BitWidth } |
| enum | { NumCallExprBits = 25 } |
| enum | { NumOverloadExprBits = NumExprBits + 1 } |
| template<typename T> | |
| using | ConstCastIterator = CastIterator<T, const T *const, const Stmt *const> |
| Const iterator for iterating over Stmt * arrays that contain only T *. | |
| using | ExprIterator = CastIterator<Expr> |
| using | ConstExprIterator = ConstCastIterator<Expr> |
| Protected Member Functions | |
|---|---|
| void * | operator new (size_t bytes) noexcept |
| void | operator delete (void *data) noexcept |
| Stmt (StmtClass SC, EmptyShell) | |
| Construct an empty statement. |
| Friends | |
|---|---|
| class | ASTStmtReader |
| class | ASTStmtWriter |
Stmt - This represents one statement.
Definition at line 85 of file Stmt.h.
◆ child_iterator
Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpressions of an AST node.
This permits easy iteration over all nodes in the AST.
Definition at line 1569 of file Stmt.h.
◆ child_range
using clang::Stmt::child_range = llvm::iterator_range<child_iterator>
◆ const_child_iterator
◆ const_child_range
using clang::Stmt::const_child_range = llvm::iterator_range<const_child_iterator>
◆ ConstCastIterator
Const iterator for iterating over Stmt * arrays that contain only T *.
Definition at line 1454 of file Stmt.h.
◆ ConstExprIterator
◆ ExprIterator
◆ anonymous enum
| Enumerator |
|---|
| NumCallExprBits |
Definition at line 581 of file Stmt.h.
◆ anonymous enum
| Enumerator |
|---|
| NumExprBits |
Definition at line 366 of file Stmt.h.
◆ anonymous enum
| Enumerator |
|---|
| NumOverloadExprBits |
Definition at line 1109 of file Stmt.h.
◆ Likelihood
The likelihood of a branch being taken.
| Enumerator | |
|---|---|
| LH_Unlikely | Branch has the [[unlikely]] attribute. |
| LH_None | No attribute set or branches of the IfStmt have the same attribute. |
| LH_Likely | Branch has the [[likely]] attribute. |
Definition at line 1426 of file Stmt.h.
◆ StmtClass
| Enumerator |
|---|
| NoStmtClass |
Definition at line 87 of file Stmt.h.
◆ Stmt() [1/5]
Construct an empty statement.
Definition at line 1465 of file Stmt.h.
References Stmt().
Referenced by clang::AsmStmt::AsmStmt(), clang::AsmStmt::AsmStmt(), clang::CoroutineBodyStmt::ASTReader, clang::CapturedStmt::ASTStmtReader, clang::CompoundStmt::ASTStmtReader, clang::CXXForRangeStmt::ASTStmtReader, clang::DeferStmt::ASTStmtReader, clang::SEHExceptStmt::ASTStmtReader, clang::SEHFinallyStmt::ASTStmtReader, clang::SEHTryStmt::ASTStmtReader, clang::SYCLKernelCallStmt::ASTStmtWriter, clang::CompoundStmt::body_back(), clang::CompoundStmt::body_back(), clang::CompoundStmt::body_front(), clang::CompoundStmt::body_front(), children(), clang::AsmStmt::classof(), clang::CapturedStmt::classof(), clang::CompoundStmt::classof(), clang::CoreturnStmt::classof(), clang::CoroutineBodyStmt::classof(), clang::CXXCatchStmt::classof(), clang::CXXForRangeStmt::classof(), clang::CXXTryStmt::classof(), clang::DeclStmt::classof(), clang::DeferStmt::classof(), clang::DoStmt::classof(), clang::ForStmt::classof(), clang::GotoStmt::classof(), clang::IfStmt::classof(), clang::IndirectGotoStmt::classof(), clang::LoopControlStmt::classof(), clang::MSDependentExistsStmt::classof(), clang::NullStmt::classof(), clang::ObjCAtCatchStmt::classof(), clang::ObjCAtFinallyStmt::classof(), clang::ObjCAtSynchronizedStmt::classof(), clang::ObjCAtThrowStmt::classof(), clang::ObjCAtTryStmt::classof(), clang::ObjCAutoreleasePoolStmt::classof(), clang::ObjCForCollectionStmt::classof(), clang::OpenACCConstructStmt::classof(), clang::ReturnStmt::classof(), clang::SEHExceptStmt::classof(), clang::SEHFinallyStmt::classof(), clang::SEHLeaveStmt::classof(), clang::SEHTryStmt::classof(), clang::SwitchCase::classof(), clang::SwitchStmt::classof(), clang::SYCLKernelCallStmt::classof(), clang::WhileStmt::classof(), clang::CompoundStmt::CompoundStmt(), clang::CoreturnStmt::CoreturnStmt(), clang::CapturedStmt::Create(), clang::CoroutineBodyStmt::Create(), clang::DeferStmt::Create(), clang::IfStmt::Create(), clang::ObjCAtTryStmt::Create(), clang::SEHExceptStmt::Create(), clang::SEHFinallyStmt::Create(), clang::SEHTryStmt::Create(), clang::SwitchStmt::Create(), clang::WhileStmt::Create(), clang::CapturedStmt::CreateDeserialized(), clang::CXXCatchStmt::CXXCatchStmt(), clang::CXXCatchStmt::CXXCatchStmt(), clang::CXXForRangeStmt::CXXForRangeStmt(), clang::CXXForRangeStmt::CXXForRangeStmt(), clang::DeclStmt::DeclStmt(), clang::DeclStmt::DeclStmt(), determineLikelihoodConflict(), clang::DoStmt::DoStmt(), clang::DoStmt::DoStmt(), clang::ForStmt::ForStmt(), clang::ForStmt::ForStmt(), clang::CXXForRangeStmt::getBody(), clang::CXXForRangeStmt::getBody(), clang::DeferStmt::getBody(), clang::DeferStmt::getBody(), clang::DoStmt::getBody(), clang::DoStmt::getBody(), clang::ForStmt::getBody(), clang::ForStmt::getBody(), clang::ObjCForCollectionStmt::getBody(), clang::ObjCForCollectionStmt::getBody(), clang::SwitchStmt::getBody(), clang::SwitchStmt::getBody(), clang::WhileStmt::getBody(), clang::WhileStmt::getBody(), clang::CapturedStmt::getCapturedStmt(), clang::CapturedStmt::getCapturedStmt(), clang::ObjCAtCatchStmt::getCatchBody(), clang::ObjCAtCatchStmt::getCatchBody(), clang::ObjCForCollectionStmt::getElement(), clang::ObjCForCollectionStmt::getElement(), clang::IfStmt::getElse(), clang::IfStmt::getElse(), clang::SwitchStmt::getEndLoc(), clang::CoroutineBodyStmt::getExceptionHandler(), clang::CoroutineBodyStmt::getFallthroughHandler(), clang::ObjCAtFinallyStmt::getFinallyBody(), clang::ObjCAtFinallyStmt::getFinallyBody(), clang::CoroutineBodyStmt::getFinalSuspendStmt(), clang::SEHTryStmt::getHandler(), clang::CXXCatchStmt::getHandlerBlock(), getID(), clang::CXXForRangeStmt::getInit(), clang::CXXForRangeStmt::getInit(), clang::ForStmt::getInit(), clang::ForStmt::getInit(), clang::IfStmt::getInit(), clang::IfStmt::getInit(), clang::SwitchStmt::getInit(), clang::SwitchStmt::getInit(), clang::CoroutineBodyStmt::getInitSuspendStmt(), getLikelihood(), getLikelihood(), getLikelihoodAttr(), clang::LoopControlStmt::getNamedLoopOrSwitch(), clang::CoroutineBodyStmt::getPromiseDeclStmt(), clang::CoroutineBodyStmt::getResultDecl(), clang::CoroutineBodyStmt::getReturnStmt(), clang::CoroutineBodyStmt::getReturnStmtOnAllocFailure(), clang::ObjCAutoreleasePoolStmt::getSubStmt(), clang::ObjCAutoreleasePoolStmt::getSubStmt(), clang::SwitchCase::getSubStmt(), clang::SwitchCase::getSubStmt(), clang::IfStmt::getThen(), clang::IfStmt::getThen(), clang::ObjCAtTryStmt::getTryBody(), clang::ObjCAtTryStmt::getTryBody(), clang::GotoStmt::GotoStmt(), clang::GotoStmt::GotoStmt(), IgnoreContainers(), IgnoreContainers(), clang::IndirectGotoStmt::IndirectGotoStmt(), clang::IndirectGotoStmt::IndirectGotoStmt(), clang::LoopControlStmt::LoopControlStmt(), clang::LoopControlStmt::LoopControlStmt(), clang::MSDependentExistsStmt::MSDependentExistsStmt(), clang::NullStmt::NullStmt(), clang::NullStmt::NullStmt(), clang::ObjCAtCatchStmt::ObjCAtCatchStmt(), clang::ObjCAtCatchStmt::ObjCAtCatchStmt(), clang::ObjCAtFinallyStmt::ObjCAtFinallyStmt(), clang::ObjCAtFinallyStmt::ObjCAtFinallyStmt(), clang::ObjCAtSynchronizedStmt::ObjCAtSynchronizedStmt(), clang::ObjCAtSynchronizedStmt::ObjCAtSynchronizedStmt(), clang::ObjCAtThrowStmt::ObjCAtThrowStmt(), clang::ObjCAtThrowStmt::ObjCAtThrowStmt(), clang::ObjCAutoreleasePoolStmt::ObjCAutoreleasePoolStmt(), clang::ObjCAutoreleasePoolStmt::ObjCAutoreleasePoolStmt(), clang::ObjCForCollectionStmt::ObjCForCollectionStmt(), clang::ObjCForCollectionStmt::ObjCForCollectionStmt(), clang::OpenACCConstructStmt::OpenACCConstructStmt(), operator=(), operator=(), printPretty(), printPrettyControlled(), clang::SEHLeaveStmt::SEHLeaveStmt(), clang::SEHLeaveStmt::SEHLeaveStmt(), clang::CXXForRangeStmt::setBeginStmt(), clang::CXXForRangeStmt::setBody(), clang::DeferStmt::setBody(), clang::DoStmt::setBody(), clang::ForStmt::setBody(), clang::ObjCForCollectionStmt::setBody(), clang::SwitchStmt::setBody(), clang::SwitchStmt::setBody(), clang::WhileStmt::setBody(), clang::ObjCAtCatchStmt::setCatchBody(), clang::ObjCForCollectionStmt::setCollection(), clang::CXXForRangeStmt::setCond(), clang::DoStmt::setCond(), clang::ForStmt::setCond(), clang::IfStmt::setCond(), clang::SwitchStmt::setCond(), clang::WhileStmt::setCond(), clang::ObjCForCollectionStmt::setElement(), clang::IfStmt::setElse(), clang::CXXForRangeStmt::setEndStmt(), clang::ObjCAtFinallyStmt::setFinallyBody(), clang::ObjCAtTryStmt::setFinallyStmt(), clang::CXXForRangeStmt::setInc(), clang::ForStmt::setInc(), clang::CXXForRangeStmt::setInit(), clang::ForStmt::setInit(), clang::IfStmt::setInit(), clang::SwitchStmt::setInit(), clang::CXXForRangeStmt::setLoopVarStmt(), clang::CXXForRangeStmt::setRangeInit(), clang::CXXForRangeStmt::setRangeStmt(), clang::ReturnStmt::setRetValue(), clang::ObjCAutoreleasePoolStmt::setSubStmt(), clang::ObjCAtSynchronizedStmt::setSynchBody(), clang::ObjCAtSynchronizedStmt::setSynchExpr(), clang::IndirectGotoStmt::setTarget(), clang::IfStmt::setThen(), clang::ObjCAtThrowStmt::setThrowExpr(), clang::ObjCAtTryStmt::setTryBody(), Stmt(), Stmt(), Stmt(), stripLabelLikeStatements(), stripLabelLikeStatements(), clang::SwitchCase::SwitchCase(), clang::SwitchCase::SwitchCase(), clang::SYCLKernelCallStmt::SYCLKernelCallStmt(), and clang::SYCLKernelCallStmt::SYCLKernelCallStmt().
◆ Stmt() [2/5]
| clang::Stmt::Stmt ( ) | delete |
|---|
◆ Stmt() [3/5]
| clang::Stmt::Stmt ( const Stmt & ) | delete |
|---|
◆ Stmt() [4/5]
| clang::Stmt::Stmt ( Stmt && ) | delete |
|---|
◆ Stmt() [5/5]
| clang::Stmt::Stmt ( StmtClass SC) | inline |
|---|
◆ addStmtClass()
| void Stmt::addStmtClass ( const StmtClass s) | static |
|---|
◆ child_begin() [1/2]
| child_iterator clang::Stmt::child_begin ( ) | inline |
|---|
◆ child_begin() [2/2]
| const_child_iterator clang::Stmt::child_begin ( ) const | inline |
|---|
◆ child_end() [1/2]
| child_iterator clang::Stmt::child_end ( ) | inline |
|---|
◆ child_end() [2/2]
| const_child_iterator clang::Stmt::child_end ( ) const | inline |
|---|
◆ children() [1/2]
| Stmt::child_range Stmt::children | ( | ) |
|---|
Definition at line 299 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnFinishFunctionBody(), clang::SemaOpenMP::ActOnOpenMPRegionEnd(), AnalyzeImplicitConversions(), BuildParentMap(), clang::canSubStmtsThrow(), CheckConstexprFunctionBody(), CheckConstexprFunctionStmt(), CheckNakedParmReference(), checkNoThrow(), child_begin(), child_begin(), child_end(), child_end(), children(), clang::CodeGen::CodeGenFunction::containsBreak(), clang::ento::containsBuiltinOffsetOf(), clang::ento::containsEnum(), clang::CodeGen::CodeGenFunction::ContainsLabel(), clang::ento::containsMacro(), clang::ento::containsStaticLocal(), clang::ento::containsStmt(), FindBlockDeclRefExpr(), clang::LexicallyOrderedRecursiveASTVisitor< Derived >::getStmtChildren(), clang::RecursiveASTVisitor< RecursiveSymbolVisitor< T > >::getStmtChildren(), hasOrderedDirective(), clang::Expr::HasSideEffects(), isCapturedBy(), isCapturedBy(), isSimdSupportedByOpenMPIRBuilder(), IsStructurallyEquivalent(), clang::CodeGen::CodeGenFunction::mightAddDeclToScope(), clang::ento::retaincountchecker::RetainCountChecker::processObjCLiterals(), saveHash(), Scan(), clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(), SearchForReturnInStmt(), seenBefore(), StmtCanThrow(), GlobalDeclRefChecker::VisitExpr(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), clang::EnsureFunctionVisitor::VisitStmt(), and clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitStmt().
◆ children() [2/2]
| const_child_range clang::Stmt::children ( ) const | inline |
|---|
◆ determineLikelihoodConflict()
| std::tuple< bool, const Attr *, const Attr * > Stmt::determineLikelihoodConflict ( const Stmt * Then, const Stmt * Else ) | static |
|---|
◆ dump() [1/2]
| LLVM_DUMP_METHOD void Stmt::dump | ( | ) | const |
|---|
◆ dump() [2/2]
| LLVM_DUMP_METHOD void Stmt::dump | ( | raw_ostream & | OS, |
|---|---|---|---|
| const ASTContext & | Context ) const |
◆ dumpColor()
| LLVM_DUMP_METHOD void Stmt::dumpColor | ( | ) | const |
|---|
◆ dumpPretty()
| void Stmt::dumpPretty | ( | const ASTContext & | Context | ) | const |
|---|
dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.
Definition at line 2945 of file StmtPrinter.cpp.
References printPretty().
◆ EnableStatistics()
| void Stmt::EnableStatistics ( ) | static |
|---|
◆ getBeginLoc()
Definition at line 350 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnArraySubscriptExpr(), clang::SemaOpenACC::ActOnAssociatedStmt(), clang::Sema::ActOnCondition(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnGCCAsmStmtString(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnLabelStmt(), clang::Sema::ActOnMSAsmStmt(), clang::Sema::ActOnNoexceptSpec(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::SemaOpenMP::ActOnOpenMPDispatchDirective(), clang::SemaOpenMP::ActOnOpenMPDistScheduleClause(), clang::SemaOpenMP::ActOnOpenMPErrorDirective(), clang::SemaOpenMP::ActOnOpenMPFuseDirective(), clang::SemaOpenMP::ActOnOpenMPInterchangeDirective(), clang::SemaOpenMP::ActOnOpenMPLinearClause(), clang::SemaOpenMP::ActOnOpenMPMessageClause(), clang::SemaOpenMP::ActOnOpenMPPermutationClause(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPScheduleClause(), clang::SemaOpenMP::ActOnOpenMPStripeDirective(), clang::SemaOpenMP::ActOnOpenMPTargetDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::SemaOpenMP::ActOnOpenMPUnrollDirective(), clang::SemaHLSL::ActOnOutParamExpr(), clang::Sema::ActOnPackIndexingExpr(), clang::SemaOpenACC::ActOnRoutineName(), clang::Sema::ActOnStmtExprResult(), clang::Sema::ActOnWhileStmt(), clang::Sema::AddAllocAlignAttr(), clang::Sema::AddConversionCandidate(), clang::SemaObjC::adornBoolConversionDiagWithTernaryFixit(), clang::GCCAsmStmt::AnalyzeAsmString(), AnalyzeAssignment(), AnalyzeBitFieldAssignment(), AnalyzeImplicitConversions(), clang::Sema::BoundsSafetyCheckUseOfCountAttrPtr(), clang::Sema::BuildArrayType(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), buildCaptureDecl(), BuildConvertedConstantExpression(), clang::Sema::BuildCXXAssumeExpr(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildCXXTypeConstructExpr(), clang::SemaObjC::BuildInstanceMessage(), BuildNonArrayForRange(), clang::Sema::BuildPackIndexingExpr(), clang::Sema::BuildPackIndexingType(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildStaticAssertDeclaration(), clang::Sema::BuildVAArgExpr(), BuiltinAnnotation(), BuiltinBswapg(), BuiltinCountZeroBitsGeneric(), BuiltinDumpStruct(), clang::Sema::BuiltinElementwiseTernaryMath(), BuiltinMaskedGather(), BuiltinMaskedScatter(), BuiltinMaskedStore(), BuiltinOverflow(), BuiltinPopcountg(), clang::SemaPPC::BuiltinPPCMMACall(), clang::Sema::BuiltinShuffleVector(), clang::Sema::BuiltinVectorMath(), clang::SemaPPC::BuiltinVSX(), clang::SemaWasm::BuiltinWasmRefIsNullExtern(), clang::SemaWasm::BuiltinWasmTableCopy(), clang::SemaWasm::BuiltinWasmTableFill(), clang::SemaWasm::BuiltinWasmTableGrow(), clang::SemaWasm::BuiltinWasmTestFunctionPointerSignature(), clang::Sema::canCalleeThrow(), clang::Sema::CanPerformCopyInitialization(), CastForMoving(), castForMoving(), clang::Sema::CheckAddressOfOperand(), CheckAllArgsHaveSameType(), clang::CheckAllArgsHaveSameType(), CheckAllArgTypesAreCorrect(), clang::CheckAllArgTypesAreCorrect(), CheckAnyScalarOrVector(), CheckArgTypeMatches(), checkArithmeticOrEnumeralThreeWayCompare(), clang::SemaARM::CheckARMCoprocessorImmediate(), CheckArrayDesignatorExpr(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckAssignmentOperands(), clang::SemaBPF::CheckBPFBuiltinFunctionCall(), clang::SemaOpenCL::checkBuiltinEnqueueKernel(), clang::SemaHLSL::CheckBuiltinFunctionCall(), clang::SemaX86::CheckBuiltinFunctionCall(), clang::SemaOpenCL::checkBuiltinKernelWorkGroupSize(), clang::SemaOpenCL::checkBuiltinNDRangeAndBlock(), checkBuiltinVectorMathArgTypes(), clang::SemaOpenACC::CheckCollapseLoopCount(), clang::checkCollectionLiteralElement(), clang::Sema::CheckConditionalOperands(), CheckConstexprFunctionBody(), CheckConstexprFunctionStmt(), clang::SemaObjC::CheckConversionToObjCLiteral(), clang::SemaAMDGPU::checkCoopAtomicFunctionCall(), clang::Sema::CheckCountedByAttrOnField(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), CheckEvalInICE(), CheckExpectedBitWidth(), checkExprMemoryConstraintCompat(), CheckFallThroughForBody(), CheckFoldOperand(), checkFormatStringExpr(), clang::Sema::CheckFunctionDeclaration(), clang::checkGenericCastToPtr(), CheckICE(), clang::SemaObjC::CheckImplementationIvars(), CheckMaskedBuiltinArgs(), CheckMoveOnConstruction(), CheckNakedParmReference(), clang::SemaARM::CheckNeonBuiltinFunctionCall(), CheckNonTypeTemplatePartialSpecializationArgs(), clang::SemaObjC::CheckObjCBridgeRelatedConversions(), CheckObjCCollectionLiteralElement(), clang::SemaObjC::CheckObjCString(), clang::checkOpenCLEnqueueIntType(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), checkOpenMPIterationSpace(), checkOpenMPLoop(), checkParamIsIntegerType(), clang::checkPipeArg(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::CheckPointerToMemberOperands(), clang::SemaPPC::CheckPPCBuiltinFunctionCall(), checkRecursiveFunction(), clang::SemaOpenACC::CheckReductionVarType(), CheckResourceHandle(), CheckScalarOrVector(), checkSectionsDirective(), clang::Sema::CheckSingleAssignmentConstraints(), clang::SemaSPIRV::CheckSPIRVBuiltinFunctionCall(), CheckStmtInlineAttr(), CheckStringInit(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::checkStringLiteralArgumentAttr(), clang::SemaSystemZ::CheckSystemZBuiltinFunctionCall(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), checkThreeWayNarrowingConversion(), clang::SemaOpenACC::CheckTileSizeExpr(), clang::Sema::checkVariadicArgument(), CheckVectorSelect(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), CheckWaveActive(), CompareFormatSpecifiers(), clang::Sema::ConstantFoldAttrArgs(), clang::ento::containsMacro(), ConvertForConditional(), clang::Sema::ConvertMemberDefaultInitExpression(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinMatrixSubscriptExpr(), clang::SemaOpenACC::CreateFirstPrivateInitRecipe(), CreateIfFixit(), clang::Sema::CreateLaunchBoundsAttr(), createOverloadsForFixedParams(), clang::SemaOpenACC::CreatePrivateInitRecipe(), clang::SemaOpenACC::CreateReductionInitRecipe(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAssignmentAsCondition(), DiagnoseBitwisePrecedence(), DiagnoseCastQual(), clang::Sema::DiagnoseCommaOperator(), DiagnoseConditionalPrecedence(), clang::Sema::DiagnoseEmptyLoopBody(), clang::Sema::DiagnoseImmediateEscalatingReason(), DiagnoseIndirectOrAsmJumpStmt(), DiagnoseIntInBoolContext(), DiagnoseLabelFollowedByDecl(), diagnoseLogicalNotOnLHSofCheck(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), DiagnoseNarrowingInInitList(), diagnoseNoViableConversion(), diagnoseObjCLiteralComparison(), diagnoseRepeatedUseOfWeak(), DiagnoseShiftCompare(), diagnoseStringPlusChar(), diagnoseStringPlusInt(), DiagnoseSwitchLabelsFallthrough(), diagnoseTautologicalComparison(), clang::Sema::DiagnoseTypeTraitDetails(), clang::Sema::DiagnoseUnexpandedParameterPack(), DiagnoseUninitializedConstPtrUse(), DiagnoseUninitializedConstRefUse(), diagnoseWellFormedUnsatisfiedConstraintExpr(), clang::Sema::diagnoseZeroToNullptrConversion(), DiagUninitUse(), emitAndFixInvalidAsmCastLValue(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CIRGen::CIRGenModule::emitGlobalOpenACCDeclareDataOperands(), clang::SemaHLSL::emitLogicalOperatorFixIt(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CIRGen::CIRGenFunction::emitOpenACCIntExpr(), emitOutlinedFunctionPrologue(), clang::CodeGen::CodeGenFunction::EmitStopPoint(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), clang::Expr::EvaluateAsConstantExpr(), clang::Sema::EvaluateConvertedConstantExpression(), EvaluateStmt(), evaluateVarDeclInit(), clang::Sema::GatherArgumentsForCall(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCapturedStmtFunction(), getAndVerifyMatrixDimension(), clang::ArraySectionExpr::getBeginLoc(), clang::ArraySubscriptExpr::getBeginLoc(), clang::BinaryConditionalOperator::getBeginLoc(), clang::BinaryOperator::getBeginLoc(), clang::CallExpr::getBeginLoc(), clang::CapturedStmt::getBeginLoc(), clang::ConditionalOperator::getBeginLoc(), clang::CXXFoldExpr::getBeginLoc(), clang::CXXRewrittenBinaryOperator::getBeginLoc(), clang::DesignatedInitUpdateExpr::getBeginLoc(), clang::ExtVectorElementExpr::getBeginLoc(), clang::ImplicitCastExpr::getBeginLoc(), clang::MaterializeTemporaryExpr::getBeginLoc(), clang::MatrixSubscriptExpr::getBeginLoc(), clang::MemberExpr::getBeginLoc(), clang::MSPropertySubscriptExpr::getBeginLoc(), clang::ObjCIsaExpr::getBeginLoc(), clang::ObjCIvarRefExpr::getBeginLoc(), clang::ObjCPropertyRefExpr::getBeginLoc(), clang::PseudoObjectExpr::getBeginLoc(), clang::StmtSequence::getBeginLoc(), clang::UserDefinedLiteral::getBeginLoc(), getClobberConflictLocation(), clang::getExprText(), DerefSimplePtrArithFixableGadget::getFixits(), UUCAddAssignGadget::getFixits(), clang::ento::PathSensitiveBugReport::getLocation(), clang::CIRGen::CIRGenFunction::getOpenACCDataOperandInfo(), clang::CIRGen::OpenACCRecipeBuilder< RecipeTy >::getOrCreateRecipe(), clang::CXXRewrittenBinaryOperator::getSourceRange(), GetUnreachableLoc(), clang::ento::PathDiagnosticLocation::getValidSourceLocation(), GetVTablePointer(), handleAlwaysInlineAttr(), handleAtomicAttr(), handleDiagnoseAsBuiltinAttr(), handleDiagnoseIfAttr(), handleFallThroughAttr(), handleHLSLLoopHintAttr(), handleLoopHintAttr(), handleNoConvergentAttr(), handleNoInlineAttr(), handleNoMergeAttr(), handlePassObjectSizeAttr(), handlePatchableFunctionEntryAttr(), clang::SemaHLSL::handleVectorBinOpConversion(), ignoreUnsafeBufferInContainer(), ignoreUnsafeLibcCall(), clang::Sema::ImpCastExprToType(), clang::AnalysisDeclContext::isBodyAutosynthesizedFromModelFile(), IsEnumConstOrFromMacro(), isExpandedFromConfigurationMacro(), IsInitializerListConstructorConversion(), clang::Sema::IsIntegralPromotion(), clang::Sema::IsMemberPointerConversion(), isNullPointerValueTemplateArgument(), clang::Sema::IsPointerConversion(), clang::Expr::isUnusedResultAWarning(), IsUserDefinedConversion(), isValidDeadStmt(), IsVectorConversion(), MatchTemplateParameterKind(), maybeDiagnoseAssignmentToFunction(), clang::Sema::MaybeEmitAmbiguousAtomicConstraintsDiagnostic(), notInSafeBufferOptOut(), clang::Parser::ParseConstraintLogicalAndExpression(), clang::ento::ConditionBRVisitor::patternMatch(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::PrepareBuiltinElementwiseMathOneArgCall(), clang::ProgramPoint::printJson(), clang::processConstant32BitIntArgument(), clang::ento::ExprEngine::ProcessLoopExit(), clang::ento::ExprEngine::ProcessStmt(), ProcessStmtAttribute(), removePunyEdges(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), rewriteToArrayLiteral(), rewriteToDictionaryLiteral(), clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(), clang::CodeGen::CodeGenFunction::startOutlinedSEHHelper(), clang::Sema::SubstDefaultArgument(), clang::Sema::TemplateParameterListsAreEqual(), clang::SemaHLSL::transformInitList(), TryClassUnification(), clang::Sema::tryConvertExprToType(), TryCopyInitialization(), TryImplicitConversion(), TryLValueToRValueCast(), TryOrBuildParenListInitialization(), TryUserDefinedConversion(), clang::Sema::VerifyIntegerConstantExpression(), clang::ento::ExprEngine::Visit(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTNodeImporter::VisitExpr(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode(), and clang::ASTNodeImporter::VisitStmt().
◆ getEndLoc()
Definition at line 362 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnCondition(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnLambdaExpr(), clang::SemaOpenMP::ActOnOpenMPFuseDirective(), clang::SemaOpenMP::ActOnOpenMPInterchangeDirective(), clang::SemaOpenMP::ActOnOpenMPPermutationClause(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPStripeDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::SemaOpenMP::ActOnOpenMPUnrollDirective(), clang::Sema::ActOnParamDefaultArgumentError(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::SemaObjC::adornBoolConversionDiagWithTernaryFixit(), clang::GCCAsmStmt::AnalyzeAsmString(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildReturnStmt(), BuiltinDumpStruct(), BuiltinMaskedScatter(), BuiltinMaskedStore(), clang::Sema::BuiltinShuffleVector(), clang::SemaPPC::BuiltinVSX(), CheckAllArgsHaveSameType(), clang::CheckAllArgsHaveSameType(), CheckFallThroughForBody(), CheckFoldOperand(), clang::Sema::CheckLogicalOperands(), clang::SemaObjC::CheckObjCBridgeRelatedConversions(), clang::Sema::CheckPointerToMemberOperands(), clang::SemaSPIRV::CheckSPIRVBuiltinFunctionCall(), clang::ento::containsMacro(), clang::Sema::ConvertMemberDefaultInitExpression(), clang::Sema::CreateBuiltinBinOp(), clang::SemaOpenACC::CreateFirstPrivateInitRecipe(), CreateIfFixit(), clang::ento::CXXDestructorCall::CXXDestructorCall(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), DiagnoseBitwisePrecedence(), clang::Sema::DiagnoseCommaOperator(), DiagnoseConditionalPrecedence(), DiagnoseDirectIsaAccess(), DiagnoseIntInBoolContext(), diagnoseLogicalNotOnLHSofCheck(), DiagnoseNarrowingInInitList(), diagnoseNoViableConversion(), diagnoseObjCLiteralComparison(), clang::Sema::DiagnoseSentinelCalls(), DiagnoseShiftCompare(), diagnoseStringPlusChar(), diagnoseStringPlusInt(), clang::SemaHLSL::emitLogicalOperatorFixIt(), clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), clang::CodeGen::CodeGenFunction::GenerateSEHFilterFunction(), clang::CodeGen::CodeGenFunction::GenerateSEHFinallyFunction(), clang::ObjCIsaExpr::getBaseLocEnd(), clang::BinaryConditionalOperator::getEndLoc(), clang::BinaryOperator::getEndLoc(), clang::BlockExpr::getEndLoc(), clang::CapturedStmt::getEndLoc(), clang::CaseStmt::getEndLoc(), clang::ConditionalOperator::getEndLoc(), clang::CoreturnStmt::getEndLoc(), clang::CoroutineSuspendExpr::getEndLoc(), clang::CStyleCastExpr::getEndLoc(), clang::CXXConstructExpr::getEndLoc(), clang::CXXFoldExpr::getEndLoc(), clang::CXXFunctionalCastExpr::getEndLoc(), clang::CXXRewrittenBinaryOperator::getEndLoc(), clang::CXXTemporaryObjectExpr::getEndLoc(), clang::CXXThrowExpr::getEndLoc(), clang::DependentCoawaitExpr::getEndLoc(), clang::DesignatedInitExpr::getEndLoc(), clang::DesignatedInitUpdateExpr::getEndLoc(), clang::ForStmt::getEndLoc(), clang::IfStmt::getEndLoc(), clang::ImplicitCastExpr::getEndLoc(), clang::MaterializeTemporaryExpr::getEndLoc(), clang::MemberExpr::getEndLoc(), clang::ObjCAtTryStmt::getEndLoc(), clang::ObjCBridgedCastExpr::getEndLoc(), clang::OMPArrayShapingExpr::getEndLoc(), clang::PseudoObjectExpr::getEndLoc(), clang::StmtSequence::getEndLoc(), clang::SwitchStmt::getEndLoc(), clang::WhileStmt::getEndLoc(), clang::CIRGen::OpenACCRecipeBuilder< RecipeTy >::getOrCreateRecipe(), clang::CXXRewrittenBinaryOperator::getSourceRange(), clang::FieldDecl::getSourceRange(), clang::ento::PathDiagnosticLocation::getValidSourceLocation(), isNullPointerValueTemplateArgument(), clang::Expr::isUnusedResultAWarning(), clang::Parser::ParseConstraintLogicalAndExpression(), clang::ento::ConditionBRVisitor::patternMatch(), rewriteToArrayLiteral(), rewriteToDictionaryLiteral(), clang::consumed::ConsumedAnalyzer::run(), clang::FunctionDecl::setBody(), clang::Declarator::setTrailingRequiresClause(), TryOrBuildParenListInitialization(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), WalkUpFromCallExpr(), and WalkUpFromCXXOperatorCallExpr().
◆ getID()
| int64_t Stmt::getID | ( | const ASTContext & | Context | ) | const |
|---|
◆ getLikelihood() [1/3]
◆ getLikelihood() [2/3]
| Stmt::Likelihood Stmt::getLikelihood ( const Stmt * S) | static |
|---|
Returns
the likelihood of a statement.
Definition at line 167 of file Stmt.cpp.
References Stmt().
◆ getLikelihood() [3/3]
| Stmt::Likelihood Stmt::getLikelihood ( const Stmt * Then, const Stmt * Else ) | static |
|---|
Returns
the likelihood of the 'then' branch of an 'if' statement. The 'else' branch is required to determine whether both branches specify the same likelihood, which affects the result.
Definition at line 175 of file Stmt.cpp.
References getLikelihood(), LH_Likely, LH_None, LH_Unlikely, and Stmt().
◆ getLikelihoodAttr()
| const Attr * Stmt::getLikelihoodAttr ( const Stmt * S) | static |
|---|
◆ getSourceRange()
SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager.
We assume AST clients will have a pointer to the respective SourceManager.
Definition at line 338 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXFoldExpr(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnEffectExpression(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::SemaOpenACC::ActOnIntExpr(), clang::Sema::ActOnMSAsmStmt(), clang::SemaObjC::ActOnObjCAtSynchronizedOperand(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::SemaOpenMP::ActOnOpenMPAllocateDirective(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::SemaOpenMP::ActOnOpenMPDepobjClause(), clang::SemaOpenMP::ActOnOpenMPDetachClause(), clang::SemaOpenMP::ActOnOpenMPDeviceNum(), clang::SemaOpenMP::ActOnOpenMPDistScheduleClause(), clang::SemaOpenMP::ActOnOpenMPHasDeviceAddrClause(), clang::SemaOpenMP::ActOnOpenMPIsDevicePtrClause(), clang::SemaOpenMP::ActOnOpenMPScheduleClause(), clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::Sema::ActOnParamDefaultArgument(), clang::Sema::ActOnStartLinkageSpecification(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::AddAlignedAttr(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddAssumeAlignedAttr(), addFixitForObjCARCConversion(), clang::interp::AddSubMulHelper(), AnalyzeBitFieldAssignment(), AnalyzeComparison(), AnalyzeImplicitConversions(), applyCocoaAPICheck(), clang::Sema::BoundsSafetyCheckUseOfCountAttrPtr(), BuildAddressSpaceIndex(), clang::Sema::BuildArrayType(), clang::Sema::BuildAsTypeExpr(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), buildCoawaitCalls(), clang::Sema::BuildCompoundLiteralExpr(), BuildConvertedConstantExpression(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildExtVectorType(), clang::SemaObjC::BuildInstanceMessage(), clang::Sema::BuildMatrixType(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildNestedRequirement(), clang::SemaObjC::BuildObjCAtThrowStmt(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCBridgedCast(), clang::SemaObjC::BuildObjCNumericLiteral(), clang::SemaObjC::BuildObjCStringLiteral(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildStaticAssertDeclaration(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::BuildVectorType(), BuiltinAnnotation(), clang::SemaARM::BuiltinARMMemoryTaggingCall(), clang::SemaARM::BuiltinARMSpecialReg(), BuiltinCallWithStaticChain(), clang::Sema::BuiltinConstantArg(), clang::Sema::BuiltinConstantArgMultiple(), clang::Sema::BuiltinConstantArgPower2(), clang::Sema::BuiltinConstantArgRange(), clang::Sema::BuiltinConstantArgShiftedByte(), clang::Sema::BuiltinConstantArgShiftedByteOrXXFF(), BuiltinCpu(), BuiltinFunctionStart(), BuiltinInvoke(), BuiltinLaunder(), BuiltinMSVCAnnotation(), BuiltinOverflow(), clang::Sema::BuiltinShuffleVector(), clang::SemaWasm::BuiltinWasmRefIsNullExtern(), clang::SemaWasm::BuiltinWasmTableCopy(), clang::SemaWasm::BuiltinWasmTableFill(), clang::SemaWasm::BuiltinWasmTableGrow(), clang::SemaWasm::BuiltinWasmTestFunctionPointerSignature(), clang::interp::CallPtr(), clang::interp::CallVirt(), CastForMoving(), castForMoving(), clang::Sema::CheckAddressOfMemberAccess(), clang::Sema::CheckAddressOfOperand(), CheckAlignOfExpr(), checkAllocateClauses(), clang::SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall(), clang::checkAMDGPUMaxNumWorkGroupsArguments(), checkArithmeticBinOpPointerOperands(), checkArithmeticNull(), checkArithmeticOnObjCPointer(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), clang::SemaARM::CheckARMCoprocessorImmediate(), clang::checkArmStreamingBuiltin(), CheckArrayDesignatorExpr(), clang::CheckAssignmentToCountAttrPtrWithIncompletePointeeTy(), clang::interp::CheckBitCast(), CheckBitcastType(), clang::Sema::CheckBooleanCondition(), CheckBoolSelect(), clang::SemaBPF::CheckBPFBuiltinFunctionCall(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::SemaX86::CheckBuiltinGatherScatterScale(), clang::SemaX86::CheckBuiltinRoundingOrSAE(), clang::SemaOpenCL::checkBuiltinRWPipe(), CheckBuiltinTargetInSupported(), CheckBuiltinTargetNotInUnsupported(), clang::SemaX86::CheckBuiltinTileDuplicate(), checkBuiltinVectorMathMixedEnums(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckCastAlign(), clang::checkCollectionLiteralElement(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompleteVariableDeclaration(), checkConditionalBlockPointerCompatibility(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), clang::Sema::checkConstantPointerAuthKey(), clang::Sema::CheckConstraintExpression(), clang::Sema::CheckConstraintSatisfaction(), clang::SemaAMDGPU::checkCoopAtomicFunctionCall(), clang::Sema::CheckCountedByAttrOnField(), CheckCXX98CompatAccessibleCopy(), clang::Sema::CheckCXXThrowOperand(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), CheckedIntArithmetic(), clang::Sema::checkEnumArithmeticConversions(), clang::Sema::CheckEnumConstant(), checkEnumTypesInSwitchStmt(), clang::Sema::CheckExceptionSpecCompatibility(), checkExprMemoryConstraintCompat(), clang::Sema::CheckFloatComparison(), CheckFoldOperand(), clang::Sema::CheckForConstantInitializer(), CheckFormatString(), CheckForModifiableLvalue(), clang::Sema::CheckFunctionCall(), clang::Sema::checkFunctionOrMethodParameterIndex(), clang::SemaARM::CheckImmediateArg(), clang::Sema::CheckImplicitConversion(), CheckIncrementDecrementOperand(), checkIndirectCopyRestoreSource(), CheckIndirectionOperand(), CheckKeyForObjCARCConversion(), clang::SemaRISCV::CheckLMUL(), clang::Sema::CheckLogicalOperands(), checkMapClauseExpressionBase(), checkMapConflicts(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMemberOperatorAccess(), clang::SemaObjC::CheckMessageArgumentTypes(), clang::SemaAMDGPU::checkMovDPPFunctionCall(), clang::SemaARM::CheckNeonBuiltinFunctionCall(), clang::interp::CheckNewDeleteForms(), CheckNonNullArgument(), CheckObjCCollectionLiteralElement(), clang::SemaObjC::CheckObjCForCollectionOperand(), checkObjCPointerIntrospection(), clang::SemaObjC::CheckObjCString(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), checkOpenMPIterationSpace(), checkOpenMPLoop(), clang::Sema::CheckPackExpansion(), clang::checkPipeArg(), clang::checkPipePacketType(), checkPointerAuthEnabled(), checkPointerAuthValue(), clang::Sema::CheckPointerConversion(), checkPointerIntegerMismatch(), clang::Sema::CheckPointerToMemberOperands(), clang::SemaPPC::CheckPPCBuiltinFunctionCall(), checkPreviousOMPAllocateAttribute(), clang::Sema::CheckRegparmAttr(), checkSimdlenSafelenSpecified(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckSizelessVectorOperands(), checkSizelessVectorShift(), clang::SemaARM::CheckSMEBuiltinFunctionCall(), clang::Sema::CheckStaticArrayArgument(), CheckStringInit(), clang::Sema::CheckSubtractionOperands(), clang::SemaSystemZ::CheckSystemZBuiltinFunctionCall(), CheckTautologicalComparison(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), clang::Sema::CheckTemplateIdType(), clang::Sema::CheckTypenameType(), clang::Sema::checkUInt32Argument(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), CheckUnicodeArithmeticConversions(), clang::Sema::CheckUnresolvedLookupAccess(), clang::Sema::CheckUnresolvedMemberAccess(), checkUnsafeAssignLiteral(), checkUnsafeAssignObject(), clang::Sema::checkUnsafeExprAssigns(), clang::Sema::CheckUseOfCXXMethodAsAddressOfOperand(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVectorOperands(), CheckVectorSelect(), checkVectorShift(), clang::CheckWasmBuiltinArgIsInteger(), clang::CheckWasmBuiltinArgIsTable(), CompareFormatSpecifiers(), clang::Sema::ConvertVectorExpr(), CopyObject(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::CreateLaunchBoundsAttr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::SemaOpenACC::CreateReductionInitRecipe(), createReferenceTemporary(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::deduceVarTypeFromInitializer(), clang::InitializationSequence::Diagnose(), diagnoseAddressOfInvalidType(), clang::Sema::DiagnoseAlwaysNonNullPointer(), diagnoseAmbiguousConversion(), diagnoseArithmeticOnTwoFunctionPointers(), diagnoseArithmeticOnTwoVoidPointers(), clang::Sema::DiagnoseAssignmentAsCondition(), clang::Sema::DiagnoseAssignmentResult(), diagnoseBadCast(), DiagnoseBadConversion(), DiagnoseBadDivideOrRemainderValues(), DiagnoseBadFunctionCast(), DiagnoseBadShiftValues(), DiagnoseCastOfObjCSEL(), clang::Sema::DiagnoseCommaOperator(), clang::Sema::DiagnoseConditionalForNull(), DiagnoseConstAssignment(), diagnoseDistinctPointerComparison(), DiagnoseDivisionSizeofPointerOrArray(), clang::Sema::DiagnoseEqualityWithExtraParens(), DiagnoseFailedExplicitSpec(), DiagnoseFloatingImpCast(), diagnoseFunctionPointerToVoidComparison(), clang::Sema::DiagnoseImmediateEscalatingReason(), DiagnoseImpCast(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), DiagnoseNarrowingInInitList(), DiagnoseNullConversion(), diagnosePointerIncompatibility(), DiagnoseRecursiveConstFields(), diagnoseRepeatedUseOfWeak(), clang::diagnoseRetainCycle(), DiagnoseSelfAssignment(), clang::Sema::DiagnoseSelfMove(), DiagnoseShiftCompare(), diagnoseTautologicalComparison(), DiagnoseUninitializedConstPtrUse(), DiagnoseUninitializedConstRefUse(), diagnoseUnknownAnyExpr(), DiagnoseUnusedComparison(), diagnoseWellFormedUnsatisfiedConstraintExpr(), clang::Sema::diagnoseZeroToNullptrConversion(), DiagRecursiveConstraintEval(), DiagUninitUse(), clang::interp::DoBitCastPtr(), doRewriteToUTF8StringBoxedExpressionHelper(), clang::CIRGen::ConstantEmitter::emitAbstract(), clang::CIRGen::CIRGenFunction::emitAggExprToLValue(), emitAndFixInvalidAsmCastLValue(), clang::CIRGen::CIRGenFunction::emitAnyExpr(), clang::CIRGen::CIRGenFunction::emitAnyExprToTemp(), clang::CIRGen::CIRGenFunction::emitArraySubscriptExpr(), clang::CIRGen::CIRGenFunction::emitArrayToPointerDecay(), emitAtomicCmpXchg(), emitAtomicCmpXchgFailureSet(), clang::CIRGen::CIRGenFunction::emitAtomicExpr(), clang::CIRGen::CIRGenFunction::emitAtomicInit(), clang::CIRGen::CIRGenFunction::emitAutoVarInit(), clang::CIRGen::CIRGenFunction::emitBinaryOperatorLValue(), emitBody(), emitBug(), emitBuiltinAlloca(), emitBuiltinBitOp(), clang::CIRGen::CIRGenFunction::emitBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitBuiltinObjectSize(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCallArg(), clang::CIRGen::CIRGenFunction::emitCallExpr(), clang::CIRGen::CIRGenFunction::emitCallExprLValue(), clang::CIRGen::CIRGenFunction::emitCastLValue(), clang::CIRGen::CIRGenFunction::emitCheckedArgForAssume(), clang::CIRGen::CIRGenFunction::emitCompoundLiteralLValue(), clang::CodeGen::CodeGenFunction::EmitCompoundStmt(), clang::CIRGen::CIRGenFunction::emitConditionalBlocks(), clang::CIRGen::CIRGenFunction::emitCXXAggrConstructorCall(), clang::CIRGen::CIRGenFunction::emitCXXConstructExpr(), clang::CIRGen::CIRGenFunction::emitCXXDeleteExpr(), clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), clang::CIRGen::CIRGenFunction::emitCXXMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXMemberDataPointerAddress(), clang::CIRGen::CIRGenFunction::emitCXXMemberOrOperatorMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitDeclRefLValue(), EmitDiagnosticForLogicalAndInLogicalOr(), clang::CodeGen::CodeGenFunction::EmitDoStmt(), clang::CIRGen::CIRGenFunction::emitDynamicCast(), clang::CIRGen::CIRGenFunction::emitExprAsInit(), clang::CIRGen::CIRGenFunction::emitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitForStmt(), emitFunctionDeclLValue(), emitGlobalVarDeclLValue(), clang::CIRGen::CIRGenFunction::emitIfOnBoolExpr(), clang::CodeGen::CodeGenFunction::EmitIfStmt(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::EmitIncompleteCountedByPointeeNotes(), clang::CIRGen::CIRGenFunction::emitLValue(), clang::CIRGen::CIRGenFunction::emitMaterializeTemporaryExpr(), clang::CIRGen::CIRGenFunction::emitMemberExpr(), clang::CIRGen::CIRGenModule::emitMemberPointerConstant(), clang::CIRGen::CIRGenFunction::emitNewArrayInitializer(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), emitObjectDelete(), clang::CIRGen::CIRGenFunction::emitPredefinedLValue(), clang::CIRGen::CIRGenFunction::emitReturnStmt(), clang::CIRGen::CIRGenFunction::emitRotate(), clang::CIRGen::CIRGenFunction::emitScalarConstant(), clang::CIRGen::CIRGenFunction::emitScalarInit(), clang::CIRGen::CIRGenFunction::emitScalarOrConstFoldImmArg(), clang::CIRGen::CIRGenFunction::emitStringLiteralLValue(), emitSuspendExpr(), emitValToTemp(), clang::CodeGen::CodeGenFunction::EmitWhileStmt(), errorBuiltinNYI(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), EvaluateArrayTypeTrait(), clang::Sema::EvaluateConvertedConstantExpression(), clang::CIRGen::CIRGenFunction::evaluateExprAsBool(), clang::CIRGen::CIRGenFunction::evaluateOrEmitBuiltinObjectSize(), EvaluateStmt(), clang::Sema::FinalizeDeclaration(), clang::SemaObjC::FindCompositeObjCPointerType(), FindConditionalOverload(), clang::findRetainCycleOwner(), findSubobject(), findTemplateParameterInType(), finishContextualImplicitConversion(), fixUPCAddressofArraySubscriptWithSpan(), clang::CIRGen::CIRGenFunction::generateCode(), clang::ento::CallEvent::getArgSourceRange(), clang::ParmVarDecl::getDefaultArgRange(), clang::Sema::getExprRange(), getLengthOnSingleLine(), clang::CountAttributedTypeLoc::getLocalSourceRange(), getNumThreads(), clang::CIRGen::OpenACCRecipeBuilder< RecipeTy >::getOrCreateRecipe(), clang::Sema::getPrintable(), getPrivateItem(), clang::ObjCMessageExpr::getReceiverRange(), clang::CIRGen::CIRGenFunction::ConstantEmission::getReferenceLValue(), clang::CapturedStmt::getSourceRange(), clang::ento::CallEvent::getSourceRange(), clang::ento::ObjCMethodCall::getSourceRange(), clang::SYCLKernelCallStmt::getSourceRange(), clang::TemplateArgumentLoc::getSourceRange(), GetUnreachableLoc(), handleCallbackAttr(), HandleConstructorCall(), clang::SemaObjC::HandleExprPropertyRefExpr(), handleFormatArgAttr(), handleFormatAttr(), handleFormatAttrCommon(), handleFormatMatchesAttr(), HandleFunctionCall(), handleInitPriorityAttr(), clang::SemaM68k::handleInterruptAttr(), clang::SemaMSP430::handleInterruptAttr(), handleIntIntBinOp(), handleLayoutVersion(), handleNonNullAttr(), handleOpenCLUnrollHint(), handleOwnershipAttr(), handlePassObjectSizeAttr(), handleSentinelAttr(), clang::SemaOpenCL::handleSubGroupSize(), handleWorkGroupSize(), clang::Expr::IgnoreUnlessSpelledInSource(), clang::Sema::ImpCastExprToType(), clang::interp::IncDecHelper(), clang::interp::interp__builtin_is_constant_evaluated(), clang::Sema::InvalidLogicalVectorOperands(), clang::interp::InvalidNewDeleteExpr(), clang::Sema::InvalidOperands(), isConfigurationValue(), isNonNegativeIntegerValue(), isNullPointerValueTemplateArgument(), clang::Expr::isUnusedResultAWarning(), LookupMemberExpr(), LookupMemberExprInRecord(), makeAttributeArgExpr(), makeClusterDimsArgExpr(), makeLaunchBoundsArgExpr(), clang::Sema::MaybeEmitAmbiguousAtomicConstraintsDiagnostic(), maybePutParensOnReceiver(), clang::interp::Neg(), clang::sema::nextPathEntryRange(), objectifyExpr(), OpenCLArithmeticConversions(), clang::Parser::ParseConstraintLogicalAndExpression(), clang::SemaObjC::ParseObjCStringLiteral(), clang::ento::ConditionBRVisitor::patternMatch(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), PointerAuthStringDiscriminator(), populateExecutedLinesWithFunctionSignature(), populateExecutedLinesWithStmt(), printExprAsWritten(), printIndicesOfElementsToConstructJson(), printPendingInitLoopJson(), clang::processConstant32BitIntArgument(), pushTemporaryCleanup(), clang::tooling::reallyIgnoreImplicit(), recordConversion(), clang::tooling::replaceStmtWithStmt(), clang::tooling::replaceStmtWithText(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), resolveBuiltinNewDeleteOverload(), clang::edit::rewriteObjCRedundantCallWithLiteral(), rewriteToArrayLiteral(), rewriteToArraySubscriptSet(), rewriteToBoolLiteral(), rewriteToCharLiteral(), rewriteToDictionaryLiteral(), rewriteToDictionarySubscriptSet(), rewriteToNumberLiteral(), rewriteToNumericBoxedExpression(), rewriteToSubscriptGetCommon(), sharedGetConstructorDestructorAttrExpr(), storeAnyExprIntoOneUnit(), clang::Sema::SubstDefaultArgument(), clang::TreeTransform< Derived >::TransformExprs(), tryDiagnoseOverloadedCast(), TryOrBuildParenListInitialization(), TryReinterpretCast(), clang::ConversionFixItGenerator::tryToFixConversion(), clang::Sema::tryToRecoverWithCall(), clang::Sema::ValueIsRunOfOnes(), clang::Sema::VerifyBitField(), clang::Sema::VerifyIntegerConstantExpression(), clang::SemaOpenMP::VerifyPositiveIntegerConstantInClause(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), WalkUpFromCallExpr(), and clang::Sema::WarnOnPendingNoDerefs().
◆ getStmtClass()
| StmtClass clang::Stmt::getStmtClass ( ) const | inline |
|---|
Definition at line 1483 of file Stmt.h.
References StmtBits.
Referenced by areEqualIntegers(), BuildParentMap(), clang::Sema::canThrow(), CheckConstexprFunctionStmt(), checkFormatStringExpr(), CheckICE(), clang::SemaObjC::CheckLiteralKind(), children(), ClassifyInternal(), clang::ArrayInitIndexExpr::classof(), clang::ArrayInitLoopExpr::classof(), clang::BinaryOperator::classof(), clang::CompoundAssignOperator::classof(), clang::CXXStdInitializerListExpr::classof(), clang::DeferStmt::classof(), clang::OpenACCConstructStmt::classof(), clang::UserDefinedLiteral::classof(), clang::RecursiveASTVisitor< Derived >::dataTraverseNode(), DiagUninitUse(), clang::CodeGen::CodeGenFunction::EmitCaseStmt(), clang::CIRGen::CIRGenFunction::emitLValue(), clang::CodeGen::CodeGenFunction::EmitSimpleStmt(), clang::CodeGen::CodeGenFunction::EmitStmt(), EvaluateStmt(), FindTypeTagExpr(), getBaseAlignmentAndOffsetFromLValue(), getBaseAlignmentAndOffsetFromPtr(), getBeginLoc(), clang::CXXNamedCastExpr::getCastName(), clang::ento::SValBuilder::getConstantVal(), getEnclosingParent(), getEndLoc(), clang::Expr::getExprLoc(), clang::ASTNodeKind::getFromNode(), clang::ento::ObjCMethodCall::getMessageKind(), getPrimaryDecl(), clang::threadSafety::getSourceLiteralString(), getSourceRange(), clang::ento::Environment::getSVal(), clang::CastExpr::getTrailingFPFeatures(), GetUnreachableLoc(), clang::Expr::HasSideEffects(), ignoreTransparentExprs(), isConditionForTerminator(), isConfigurationValue(), clang::Expr::isConstantInitializer(), clang::ParentMap::isConsumedExpr(), IsGlobalLValue(), isInLoop(), isInLoopBody(), isLoop(), clang::Expr::isOBJCGCCandidate(), isObjCObjectLiteral(), isSafeSpanTwoParamConstruct(), clang::Expr::isSameComparisonOperand(), clang::Expr::isUnusedResultAWarning(), rebuildPotentialResultsAsNonOdrUsed(), requiresParensToAddCast(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::Sema::SubstConceptTemplateArguments(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformExpr(), clang::TreeTransform< Derived >::TransformStmt(), clang::threadSafety::SExprBuilder::translate(), updatePreInits(), clang::ento::ExprEngine::Visit(), clang::StmtVisitorBase< Ptr, ImplClass, RetTy, ParamTys >::Visit(), clang::ASTNodeImporter::VisitExplicitCastExpr(), clang::interp::Compiler< Emitter >::visitStmt(), clang::ento::ConditionBRVisitor::VisitTerminator(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
◆ getStmtClassName()
| const char * Stmt::getStmtClassName | ( | ) | const |
|---|
Definition at line 87 of file Stmt.cpp.
References getStmtInfoTableEntry(), StmtClassNameTable::Name, and StmtBits.
Referenced by dump(), clang::CIRGen::CIRGenFunction::emitLValue(), llvm::DOTGraphTraits< const Stmt * >::getNodeLabel(), print_elem(), printIndicesOfElementsToConstructJson(), clang::ento::Environment::printJson(), clang::ProgramPoint::printJson(), printPendingInitLoopJson(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ASTNodeImporter::VisitExpr(), and clang::ASTNodeImporter::VisitStmt().
◆ IgnoreContainers() [1/2]
◆ IgnoreContainers() [2/2]
| const Stmt * clang::Stmt::IgnoreContainers ( bool IgnoreCaptured = false) const | inline |
|---|
◆ operator delete() [1/5]
| void clang::Stmt::operator delete ( void * , const ASTContext & , unsigned ) | inlinenoexcept |
|---|
◆ operator delete() [2/5]
| void clang::Stmt::operator delete ( void * , const ASTContext * , unsigned ) | inlinenoexcept |
|---|
◆ operator delete() [3/5]
| void clang::Stmt::operator delete ( void * , size_t ) | inlinenoexcept |
|---|
◆ operator delete() [4/5]
| void clang::Stmt::operator delete ( void * , void * ) | inlinenoexcept |
|---|
◆ operator delete() [5/5]
| void clang::Stmt::operator delete ( void * data) | inlineprotectednoexcept |
|---|
Definition at line 107 of file Stmt.h.
◆ operator new() [1/4]
| void * clang::Stmt::operator new ( size_t bytes) | inlineprotectednoexcept |
|---|
◆ operator new() [2/4]
◆ operator new() [3/4]
◆ operator new() [4/4]
| void * clang::Stmt::operator new ( size_t bytes, void * mem ) | inlinenoexcept |
|---|
◆ operator=() [1/2]
| Stmt & clang::Stmt::operator= ( const Stmt & ) | delete |
|---|
◆ operator=() [2/2]
| Stmt & clang::Stmt::operator= ( Stmt && ) | delete |
|---|
◆ printJson()
◆ printPretty()
Definition at line 2949 of file StmtPrinter.cpp.
References Stmt().
Referenced by clang::Sema::BoundsSafetyCheckUseOfCountAttrPtr(), checkPreviousOMPAllocateAttribute(), clang::Sema::DiagnoseAlwaysNonNullPointer(), dumpPretty(), clang::SemaHLSL::emitLogicalOperatorFixIt(), clang::Sema::findFailedBooleanCondition(), clang::FormatASTNodeDiagnosticArgument(), clang::CIRGen::CIRGenFunction::getOpenACCDataOperandInfo(), clang::TemplateArgument::print(), print_block(), print_initializer(), printExplicitSpecifier(), printJson(), and clang::APValue::printPretty().
◆ printPrettyControlled()
◆ PrintStats()
| void Stmt::PrintStats ( ) | static |
|---|
◆ ProcessODRHash()
| void Stmt::ProcessODRHash | ( | llvm::FoldingSetNodeID & | ID, |
|---|---|---|---|
| ODRHash & | Hash ) const |
Calculate a unique representation for a statement that is stable across compiler invocations.
Parameters
| ID | profile information will be stored in ID. |
|---|---|
| Hash | an ODRHash object which will be called where pointers would have been used in the Profile function. |
Definition at line 2919 of file StmtProfile.cpp.
Referenced by clang::ODRHash::AddStmt().
◆ Profile()
| void Stmt::Profile | ( | llvm::FoldingSetNodeID & | ID, |
|---|---|---|---|
| const ASTContext & | Context, | ||
| bool | Canonical, | ||
| bool | ProfileLambdaExpr = false ) const |
Produce a unique representation of the given statement.
Parameters
| ID | once the profiling operation is complete, will contain the unique representation of the given statement. |
|---|---|
| Context | the AST context in which the statement resides |
| Canonical | whether the profile should be based on the canonical representation of this statement (e.g., where non-type template parameters are identified by index/level rather than their declaration pointers) or the exact representation of the statement as written in the source. |
| ProfileLambdaExpr | whether or not to profile lambda expressions. When false, the lambda expressions are never considered to be equal to other lambda expressions. When true, the lambda expressions with the same implementation will be considered to be the same. ProfileLambdaExpr should only be true when we try to merge two declarations within modules. |
Definition at line 2913 of file StmtProfile.cpp.
Referenced by actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::Sema::AreConstraintExpressionsEqual(), checkDeducedTemplateArguments(), clang::CheckEquivalentExceptionSpecImpl(), checkPreviousOMPAllocateAttribute(), DiagRecursiveConstraintEval(), getAllocatorKind(), clang::ASTContext::hasSameExpr(), clang::ASTContext::isSameConstraintExpr(), clang::ASTContext::isSameDefaultTemplateArgument(), clang::ASTContext::isSameTemplateArgument(), clang::Sema::MaybeEmitAmbiguousAtomicConstraintsDiagnostic(), clang::ConstantArrayType::Profile(), clang::DependentBitIntType::Profile(), clang::DependentSizedArrayType::Profile(), clang::DependentTypeOfExprType::Profile(), and clang::TemplateArgument::Profile().
◆ stripLabelLikeStatements() [1/2]
| Stmt * clang::Stmt::stripLabelLikeStatements ( ) | inline |
|---|
◆ stripLabelLikeStatements() [2/2]
| const Stmt * Stmt::stripLabelLikeStatements | ( | ) | const |
|---|
Strip off all label-like statements.
This will strip off label statements, case statements, attributed statements and default statements recursively.
Definition at line 227 of file Stmt.cpp.
References Stmt().
◆ viewAST()
| void Stmt::viewAST | ( | ) | const |
|---|
viewAST - Visualize an AST rooted at this Stmt* using GraphViz.
Only works on systems with GraphViz (Mac OS X) or dot+gv installed.
Definition at line 20 of file StmtViz.cpp.
◆ ASTStmtReader
◆ ASTStmtWriter
◆ [union]
◆ ArrayOrMatrixSubscriptExprBits
◆ ArrayTypeTraitExprBits
◆ AttributedStmtBits
◆ BinaryOperatorBits
Definition at line 1347 of file Stmt.h.
Referenced by clang::BinaryOperator::BinaryOperator(), clang::BinaryOperator::BinaryOperator(), clang::BinaryOperator::BinaryOperator(), clang::BinaryOperator::BinaryOperator(), clang::BinaryOperator::getFPFeatures(), clang::BinaryOperator::getFPFeaturesInEffect(), clang::BinaryOperator::getOpcode(), clang::BinaryOperator::getOperatorLoc(), clang::BinaryOperator::getTrailingFPFeatures(), clang::BinaryOperator::getTrailingFPFeatures(), clang::BinaryOperator::hasExcludedOverflowPattern(), clang::BinaryOperator::hasStoredFPFeatures(), clang::BinaryOperator::offsetOfTrailingStorage(), clang::BinaryOperator::setExcludedOverflowPattern(), clang::BinaryOperator::setHasStoredFPFeatures(), clang::BinaryOperator::setOpcode(), clang::BinaryOperator::setOperatorLoc(), and clang::BinaryOperator::setStoredFPFeatures().
◆ CallExprBits
Definition at line 1344 of file Stmt.h.
Referenced by clang::CallExpr::ASTStmtReader, clang::CallExpr::CallExpr(), clang::CallExpr::CallExpr(), clang::CallExpr::getADLCallKind(), clang::CallExpr::getBeginLoc(), clang::CallExpr::getNumPreArgs(), clang::CallExpr::hasStoredFPFeatures(), clang::CallExpr::isCoroElideSafe(), clang::CallExpr::setADLCallKind(), clang::CallExpr::setCoroElideSafe(), clang::CallExpr::setUsesMemberSyntax(), and clang::CallExpr::usesMemberSyntax().
◆ CastExprBits
◆ CharacterLiteralBits
◆ ChooseExprBits
◆ CoawaitBits
◆ CompoundStmtBits
◆ ConstantExprBits
◆ ConvertVectorExprBits
◆ CXXBoolLiteralExprBits
◆ CXXConstructExprBits
Definition at line 1374 of file Stmt.h.
Referenced by clang::CXXConstructExpr::CXXConstructExpr(), clang::CXXConstructExpr::getConstructionKind(), clang::CXXConstructExpr::getLocation(), clang::CXXConstructExpr::hadMultipleCandidates(), clang::CXXConstructExpr::isElidable(), clang::CXXConstructExpr::isImmediateEscalating(), clang::CXXConstructExpr::isListInitialization(), clang::CXXConstructExpr::isStdInitListInitialization(), clang::CXXConstructExpr::requiresZeroInitialization(), clang::CXXConstructExpr::setConstructionKind(), clang::CXXConstructExpr::setElidable(), clang::CXXConstructExpr::setHadMultipleCandidates(), clang::CXXConstructExpr::setIsImmediateEscalating(), clang::CXXConstructExpr::setListInitialization(), clang::CXXConstructExpr::setLocation(), clang::CXXConstructExpr::setRequiresZeroInitialization(), and clang::CXXConstructExpr::setStdInitListInitialization().
◆ CXXDefaultArgExprBits
◆ CXXDefaultInitExprBits
◆ CXXDeleteExprBits
◆ CXXDependentScopeMemberExprBits
◆ CXXFoldExprBits
◆ CXXNewExprBits
◆ CXXNoexceptExprBits
◆ CXXNullPtrLiteralExprBits
◆ CXXOperatorCallExprBits
◆ CXXRewrittenBinaryOperatorBits
◆ CXXScalarValueInitExprBits
◆ CXXThisExprBits
◆ CXXThrowExprBits
◆ CXXUnresolvedConstructExprBits
◆ DeclRefExprBits
Definition at line 1337 of file Stmt.h.
Referenced by clang::DeclRefExpr::DeclRefExpr(), clang::DeclRefExpr::getBeginLoc(), clang::DeclRefExpr::getLocation(), clang::DeclRefExpr::hadMultipleCandidates(), clang::DeclRefExpr::hasQualifier(), clang::DeclRefExpr::hasTemplateKWAndArgsInfo(), clang::DeclRefExpr::isCapturedByCopyInLambdaWithExplicitObjectParameter(), clang::DeclRefExpr::isImmediateEscalating(), clang::DeclRefExpr::isNonOdrUse(), clang::DeclRefExpr::refersToEnclosingVariableOrCapture(), clang::DeclRefExpr::setCapturedByCopyInLambdaWithExplicitObjectParameter(), clang::DeclRefExpr::setHadMultipleCandidates(), clang::DeclRefExpr::setIsImmediateEscalating(), and clang::DeclRefExpr::setLocation().
◆ DeferStmtBits
◆ DependentScopeDeclRefExprBits
◆ DoStmtBits
◆ ExprBits
◆ ExpressionTraitExprBits
◆ ExprWithCleanupsBits
◆ FloatingLiteralBits
◆ ForStmtBits
◆ GenericSelectionExprBits
◆ GotoStmtBits
◆ IfStmtBits
◆ InitListExprBits
◆ LabelStmtBits
◆ LambdaExprBits
◆ LoopControlStmtBits
◆ MemberExprBits
◆ NullStmtBits
◆ ObjCIndirectCopyRestoreExprBits
◆ OpaqueValueExprBits
◆ OverloadExprBits
◆ PackIndexingExprBits
◆ ParenExprBits
◆ ParenListExprBits
◆ PredefinedExprBits
◆ PseudoObjectExprBits
◆ RequiresExprBits
◆ ReturnStmtBits
◆ ShuffleVectorExprBits
◆ SourceLocExprBits
◆ StmtBits
◆ StmtExprBits
◆ StringLiteralBits
◆ SubstNonTypeTemplateParmExprBits
◆ SwitchCaseBits
◆ SwitchStmtBits
◆ TypeTraitExprBits
◆ UnaryExprOrTypeTraitExprBits
◆ UnaryOperatorBits
Definition at line 1341 of file Stmt.h.
Referenced by clang::UnaryOperator::canOverflow(), clang::UnaryOperator::getFPFeaturesInEffect(), clang::UnaryOperator::getFPOptionsOverride(), clang::UnaryOperator::getOpcode(), clang::UnaryOperator::getOperatorLoc(), clang::UnaryOperator::hasStoredFPFeatures(), clang::UnaryOperator::setCanOverflow(), clang::UnaryOperator::setOpcode(), clang::UnaryOperator::setOperatorLoc(), clang::UnaryOperator::UnaryOperator(), and clang::UnaryOperator::UnaryOperator().
◆ UnresolvedLookupExprBits
◆ UnresolvedMemberExprBits
◆ WhileStmtBits
The documentation for this class was generated from the following files:
- include/clang/AST/Stmt.h
- lib/AST/ASTDumper.cpp
- lib/AST/Stmt.cpp
- lib/AST/StmtPrinter.cpp
- lib/AST/StmtProfile.cpp
- lib/AST/StmtViz.cpp