|
clang
5.0.0
|
Stmt - This represents one statement. More...
#include "clang/AST/Stmt.h"
Classes | |
| class | CallExprBitfields |
| class | CastExprBitfields |
| class | CharacterLiteralBitfields |
| class | CoawaitExprBitfields |
| class | CompoundStmtBitfields |
| struct | ConstExprIterator |
| Const iterator for iterating over Stmt * arrays that contain only Expr *. More... | |
| class | DeclRefExprBitfields |
| struct | EmptyShell |
| A placeholder type used to construct an empty shell of a type, that will be filled in later (e.g., by some de-serialization). More... | |
| class | ExprBitfields |
| struct | ExprIterator |
| Iterator for iterating over Stmt * arrays that contain only Expr *. More... | |
| class | ExprWithCleanupsBitfields |
| class | FloatingLiteralBitfields |
| class | IfStmtBitfields |
| class | InitListExprBitfields |
| class | ObjCIndirectCopyRestoreExprBitfields |
| class | PseudoObjectExprBitfields |
| class | StmtBitfields |
| class | TypeTraitExprBitfields |
| class | UnaryExprOrTypeTraitExprBitfields |
Public Types | |
| enum | StmtClass { NoStmtClass = 0 } |
| typedef StmtIterator | child_iterator |
| Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpessions of an AST node. More... | |
| typedef ConstStmtIterator | const_child_iterator |
| typedef llvm::iterator_range < child_iterator > | child_range |
| typedef llvm::iterator_range < const_child_iterator > | const_child_range |
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 (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. More... | |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| void | dump () const |
Dumps the specified AST fragment and all subtrees to llvm::errs(). More... | |
| void | dump (SourceManager &SM) const |
| void | dump (raw_ostream &OS, SourceManager &SM) const |
| void | dump (raw_ostream &OS) const |
| void | dumpColor () const |
| dumpColor - same as dump(), but forces color highlighting. More... | |
| 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. More... | |
| void | printPretty (raw_ostream &OS, PrinterHelper *Helper, const PrintingPolicy &Policy, unsigned Indentation=0) const |
| void | viewAST () const |
| viewAST - Visualize an AST rooted at this Stmt* using GraphViz. More... | |
| Stmt * | IgnoreImplicit () |
| Skip past any implicit AST nodes which might surround this statement, such as ExprWithCleanups or ImplicitCastExpr nodes. More... | |
| const Stmt * | IgnoreImplicit () const |
| Stmt * | IgnoreContainers (bool IgnoreCaptured=false) |
| Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true. More... | |
| const Stmt * | stripLabelLikeStatements () const |
| Strip off all label-like statements. More... | |
| 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) const |
| Produce a unique representation of the given statement. More... | |
| void | ProcessODRHash (llvm::FoldingSetNodeID &ID, ODRHash &Hash) const |
| Calculate a unique representation for a statement that is stable across compiler invocations. More... | |
Static Public Member Functions | |
| static void | addStmtClass (const StmtClass s) |
| static void | EnableStatistics () |
| static void | PrintStats () |
Protected Types | |
| enum | { NumStmtBits = 8 } |
| enum | { NumExprBits = 17 } |
| enum | APFloatSemantics { IEEEhalf, IEEEsingle, IEEEdouble, x87DoubleExtended, IEEEquad, PPCDoubleDouble } |
Protected Member Functions | |
| void * | operator new (size_t bytes) noexcept |
| void | operator delete (void *data) noexcept |
| Stmt (StmtClass SC, EmptyShell) | |
| Construct an empty statement. More... | |
Friends | |
| class | ASTStmtReader |
| class | ASTStmtWriter |
| typedef llvm::iterator_range<child_iterator> clang::Stmt::child_range |
| typedef llvm::iterator_range<const_child_iterator> clang::Stmt::const_child_range |
|
protected |
|
inlineexplicitprotected |
|
inline |
Definition at line 352 of file Stmt.h.
References addStmtClass(), and StmtBits.
|
static |
Definition at line 87 of file Stmt.cpp.
References StmtClassNameTable::Counter, and getStmtInfoTableEntry().
Referenced by Stmt().
|
inline |
Definition at line 431 of file Stmt.h.
References children().
Referenced by llvm::GraphTraits< clang::Stmt * >::child_begin(), llvm::GraphTraits< const clang::Stmt * >::child_begin(), clang::OMPExecutableDirective::getAssociatedStmt(), clang::OMPLoopDirective::getCalcLastIteration(), clang::OMPLoopDirective::getCombinedCond(), clang::OMPLoopDirective::getCombinedEnsureUpperBound(), clang::OMPLoopDirective::getCombinedInit(), clang::OMPLoopDirective::getCombinedLowerBoundVariable(), clang::OMPLoopDirective::getCombinedNextLowerBound(), clang::OMPLoopDirective::getCombinedNextUpperBound(), clang::OMPLoopDirective::getCombinedUpperBoundVariable(), clang::OMPLoopDirective::getCond(), clang::OMPLoopDirective::getDistInc(), clang::OMPLoopDirective::getEnsureUpperBound(), clang::OMPAtomicDirective::getExpr(), clang::OMPLoopDirective::getInc(), clang::OMPLoopDirective::getInit(), clang::DesignatedInitExpr::getInit(), clang::OMPLoopDirective::getIsLastIterVariable(), clang::OMPLoopDirective::getIterationVariable(), clang::OMPLoopDirective::getLastIteration(), clang::OMPLoopDirective::getLowerBoundVariable(), clang::OMPLoopDirective::getNextLowerBound(), clang::OMPLoopDirective::getNextUpperBound(), clang::OMPLoopDirective::getNumIterations(), clang::OMPLoopDirective::getPreCond(), clang::OMPLoopDirective::getPreInits(), clang::OMPLoopDirective::getPrevEnsureUpperBound(), clang::OMPLoopDirective::getPrevLowerBoundVariable(), clang::OMPLoopDirective::getPrevUpperBoundVariable(), clang::OMPLoopDirective::getStrideVariable(), clang::OMPAtomicDirective::getUpdateExpr(), clang::OMPLoopDirective::getUpperBoundVariable(), clang::OMPAtomicDirective::getV(), clang::OMPAtomicDirective::getX(), isIdenticalStmt(), clang::OMPExecutableDirective::setAssociatedStmt(), clang::OMPLoopDirective::setCalcLastIteration(), clang::OMPLoopDirective::setCombinedCond(), clang::OMPLoopDirective::setCombinedEnsureUpperBound(), clang::OMPLoopDirective::setCombinedInit(), clang::OMPLoopDirective::setCombinedLowerBoundVariable(), clang::OMPLoopDirective::setCombinedNextLowerBound(), clang::OMPLoopDirective::setCombinedNextUpperBound(), clang::OMPLoopDirective::setCombinedUpperBoundVariable(), clang::OMPLoopDirective::setCond(), clang::OMPLoopDirective::setDistInc(), clang::OMPLoopDirective::setEnsureUpperBound(), clang::OMPLoopDirective::setInc(), clang::OMPLoopDirective::setInit(), clang::DesignatedInitExpr::setInit(), clang::OMPLoopDirective::setIsLastIterVariable(), clang::OMPLoopDirective::setIterationVariable(), clang::OMPLoopDirective::setLastIteration(), clang::OMPLoopDirective::setLowerBoundVariable(), clang::OMPLoopDirective::setNextLowerBound(), clang::OMPLoopDirective::setNextUpperBound(), clang::OMPLoopDirective::setNumIterations(), clang::OMPLoopDirective::setPreCond(), clang::OMPLoopDirective::setPreInits(), clang::OMPLoopDirective::setPrevEnsureUpperBound(), clang::OMPLoopDirective::setPrevLowerBoundVariable(), clang::OMPLoopDirective::setPrevUpperBoundVariable(), clang::OMPLoopDirective::setStrideVariable(), and clang::OMPLoopDirective::setUpperBoundVariable().
|
inline |
Definition at line 434 of file Stmt.h.
References children().
|
inline |
Definition at line 432 of file Stmt.h.
References children().
Referenced by llvm::GraphTraits< clang::Stmt * >::child_end(), llvm::GraphTraits< const clang::Stmt * >::child_end(), and isIdenticalStmt().
|
inline |
Definition at line 435 of file Stmt.h.
References children().
| Stmt::child_range Stmt::children | ( | ) |
Definition at line 208 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnFinishFunctionBody(), BuildParentMap(), clang::MinComplexityConstraint::calculateStmtComplexity(), clang::canSubExprsThrow(), CheckConstexprFunctionStmt(), CheckNakedParmReference(), child_begin(), 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::Expr::HasSideEffects(), isAccessedBy(), isCapturedBy(), clang::CodeGen::CodeGenFunction::mightAddDeclToScope(), clang::ento::FindLastStoreBRVisitor::registerStatementVarDecls(), reversePropagateIntererstingSymbols(), Scan(), clang::CodeGen::scanForTargetRegionsFunctions(), SearchForReturnInStmt(), and clang::EvaluatedExprVisitorBase< make_ptr, ImplClass >::VisitStmt().
|
inline |
Definition at line 426 of file Stmt.h.
References children().
| LLVM_DUMP_METHOD void Stmt::dump | ( | ) | const |
Dumps the specified AST fragment and all subtrees to llvm::errs().
Definition at line 2584 of file ASTDumper.cpp.
References P.
Referenced by clang::ento::PathDiagnosticLocation::dump().
| LLVM_DUMP_METHOD void Stmt::dump | ( | SourceManager & | SM | ) | const |
Definition at line 2570 of file ASTDumper.cpp.
References dump().
| LLVM_DUMP_METHOD void Stmt::dump | ( | raw_ostream & | OS, |
| SourceManager & | SM | ||
| ) | const |
Definition at line 2574 of file ASTDumper.cpp.
References P.
| LLVM_DUMP_METHOD void Stmt::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 2579 of file ASTDumper.cpp.
References P.
| LLVM_DUMP_METHOD void Stmt::dumpColor | ( | ) | const |
dumpColor - same as dump(), but forces color highlighting.
Definition at line 2589 of file ASTDumper.cpp.
References P.
| 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 2671 of file StmtPrinter.cpp.
References clang::ASTContext::getLangOpts(), and printPretty().
|
static |
Definition at line 92 of file Stmt.cpp.
Referenced by clang::ParseAST().
| SourceLocation Stmt::getLocEnd | ( | ) | const |
Definition at line 270 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnLambdaExpr(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXFunctionalCastExpr(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::buildLambdaInitCaptureInitialization(), checkArgCount(), CheckFallThroughForBody(), CheckFoldOperand(), clang::Sema::CheckLogicalOperands(), CheckMemorySizeofForComparison(), clang::Sema::CheckObjCBridgeRelatedConversions(), clang::Sema::CheckPointerToMemberOperands(), clang::ento::containsMacro(), clang::Sema::CreateBuiltinBinOp(), clang::InitializationKind::CreateForInit(), CreateIfFixit(), clang::CXXDestructorCall::CXXDestructorCall(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), DiagnoseBitwisePrecedence(), clang::Sema::DiagnoseCommaOperator(), DiagnoseConditionalPrecedence(), DiagnoseDirectIsaAccess(), diagnoseLogicalNotOnLHSofCheck(), DiagnoseNarrowingInInitList(), diagnoseNoViableConversion(), diagnoseObjCLiteralComparison(), clang::Sema::DiagnoseSentinelCalls(), DiagnoseShiftCompare(), diagnoseStringPlusChar(), diagnoseStringPlusInt(), clang::CodeGen::CodeGenFunction::GenerateSEHFilterFunction(), clang::CodeGen::CodeGenFunction::GenerateSEHFinallyFunction(), clang::ObjCIsaExpr::getBaseLocEnd(), clang::CXXTryStmt::getEndLoc(), clang::StmtSequence::getEndLoc(), clang::SEHFinallyStmt::getEndLoc(), clang::SEHTryStmt::getEndLoc(), clang::CXXCatchStmt::getLocEnd(), clang::ObjCStringLiteral::getLocEnd(), clang::ObjCForCollectionStmt::getLocEnd(), clang::ObjCAtCatchStmt::getLocEnd(), clang::ObjCAtFinallyStmt::getLocEnd(), clang::CXXForRangeStmt::getLocEnd(), clang::ObjCAtTryStmt::getLocEnd(), clang::MSDependentExistsStmt::getLocEnd(), clang::ObjCAtThrowStmt::getLocEnd(), clang::ObjCAutoreleasePoolStmt::getLocEnd(), clang::CoroutineBodyStmt::getLocEnd(), clang::CXXStdInitializerListExpr::getLocEnd(), clang::CaseStmt::getLocEnd(), clang::DefaultStmt::getLocEnd(), clang::LabelStmt::getLocEnd(), clang::AttributedStmt::getLocEnd(), clang::OpaqueValueExpr::getLocEnd(), clang::CXXThrowExpr::getLocEnd(), clang::IfStmt::getLocEnd(), clang::SwitchStmt::getLocEnd(), clang::WhileStmt::getLocEnd(), clang::CXXBindTemporaryExpr::getLocEnd(), clang::ForStmt::getLocEnd(), clang::IndirectGotoStmt::getLocEnd(), clang::CXXConstructExpr::getLocEnd(), clang::ReturnStmt::getLocEnd(), clang::CXXFunctionalCastExpr::getLocEnd(), clang::ImaginaryLiteral::getLocEnd(), clang::ObjCIndirectCopyRestoreExpr::getLocEnd(), clang::ObjCBridgedCastExpr::getLocEnd(), clang::UnaryOperator::getLocEnd(), clang::CXXDeleteExpr::getLocEnd(), clang::CapturedStmt::getLocEnd(), clang::MemberExpr::getLocEnd(), clang::CompoundLiteralExpr::getLocEnd(), clang::ImplicitCastExpr::getLocEnd(), clang::CStyleCastExpr::getLocEnd(), clang::ExprWithCleanups::getLocEnd(), clang::BinaryOperator::getLocEnd(), clang::CXXUnresolvedConstructExpr::getLocEnd(), clang::ConditionalOperator::getLocEnd(), clang::BinaryConditionalOperator::getLocEnd(), clang::MaterializeTemporaryExpr::getLocEnd(), clang::CoroutineSuspendExpr::getLocEnd(), clang::DependentCoawaitExpr::getLocEnd(), clang::DesignatedInitExpr::getLocEnd(), clang::DesignatedInitUpdateExpr::getLocEnd(), clang::BlockExpr::getLocEnd(), clang::PseudoObjectExpr::getLocEnd(), clang::EnumConstantDecl::getSourceRange(), clang::BlockDecl::getSourceRange(), getValidSourceLocation(), isNullPointerValueTemplateArgument(), clang::Expr::isUnusedResultAWarning(), clang::ento::ConditionBRVisitor::patternMatch(), rewriteToDictionaryLiteral(), clang::consumed::ConsumedAnalyzer::run(), clang::Sema::SemaBuiltinShuffleVector(), and clang::FunctionDecl::setBody().
| SourceLocation Stmt::getLocStart | ( | ) | const |
Definition at line 257 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnCallExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnFinishCXXInClassMemberInitializer(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnOpenMPDistScheduleClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnOpenMPOrderedDirective(), clang::Sema::ActOnOpenMPParallelSectionsDirective(), clang::Sema::ActOnOpenMPScheduleClause(), clang::Sema::ActOnOpenMPSectionsDirective(), clang::Sema::ActOnOpenMPTargetDirective(), clang::Sema::AddAllocAlignAttr(), clang::Sema::AddConversionCandidate(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildArrayType(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToObjectOfClassType(), buildCaptureDecl(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNew(), clang::Sema::BuildInstanceMessage(), clang::Sema::buildLambdaInitCaptureInitialization(), BuildNonArrayForRange(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVAArgExpr(), clang::canCalleeThrow(), clang::Sema::CanPerformCopyInitialization(), castForMoving(), CastForMoving(), clang::Sema::CheckAddressOfOperand(), checkArgCount(), CheckArrayDesignatorExpr(), CheckAsmLValue(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompareOperands(), checkConditionalVoidType(), clang::Sema::CheckConstexprFunctionBody(), CheckConstexprFunctionStmt(), CheckConvertedConstantExpression(), clang::Sema::CheckCXXDefaultArgExpr(), clang::Sema::checkDeclIsAllowedInOpenMPTarget(), checkDirectCallValidity(), CheckEvalInICE(), checkExprMemoryConstraintCompat(), CheckFallThroughForBody(), CheckFoldOperand(), CheckICE(), clang::Sema::CheckImplementationIvars(), clang::Sema::CheckMemberPointerConversion(), CheckMoveOnConstruction(), CheckNakedParmReference(), CheckNonTypeTemplatePartialSpecializationArgs(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::CheckObjCBridgeRelatedCast(), clang::Sema::CheckObjCBridgeRelatedConversions(), CheckObjCCollectionLiteralElement(), clang::Sema::checkOpenCLDisabledDecl(), checkOpenCLEnqueueIntType(), checkOpenCLPipeArg(), CheckOpenMPIterationSpace(), checkParamIsIntegerType(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::CheckPointerToMemberOperands(), checkRecursiveFunction(), CheckReturnStackAddr(), clang::Sema::CheckSingleAssignmentConstraints(), CheckStringInit(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), clang::Sema::checkVariadicArgument(), checkVAStartABI(), checkVAStartIsInVariadicFunction(), clang::ento::containsMacro(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::InitializationKind::CreateForInit(), clang::Sema::CreateGenericSelectionExpr(), CreateIfFixit(), clang::Sema::DeduceAutoType(), clang::Sema::deduceVarTypeFromInitializer(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAssignmentAsCondition(), DiagnoseBitwisePrecedence(), DiagnoseCastQual(), clang::Sema::DiagnoseCommaOperator(), DiagnoseConditionalPrecedence(), clang::Sema::DiagnoseEmptyLoopBody(), diagnoseLogicalNotOnLHSofCheck(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), DiagnoseNarrowingInInitList(), diagnoseNoViableConversion(), diagnoseObjCLiteralComparison(), diagnoseRepeatedUseOfWeak(), DiagnoseShiftCompare(), diagnoseStringPlusChar(), diagnoseStringPlusInt(), DiagnoseSwitchLabelsFallthrough(), clang::Sema::DiagnoseUnexpandedParameterPack(), clang::Sema::diagnoseZeroToNullptrConversion(), DiagUninitUse(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), emitOutlinedFunctionPrologue(), clang::CodeGen::CodeGenFunction::EmitStopPoint(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), EvaluateStmt(), evaluateVarDeclInit(), FinishOpenMPLinearClause(), FinishOverloadedCallExpr(), clang::Sema::GatherArgumentsForCall(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCapturedStmtFunction(), getInitializationLoc(), clang::OMPArraySectionExpr::getLocStart(), clang::CoroutineBodyStmt::getLocStart(), clang::UserDefinedLiteral::getLocStart(), clang::ObjCIvarRefExpr::getLocStart(), clang::CXXStdInitializerListExpr::getLocStart(), clang::ObjCPropertyRefExpr::getLocStart(), clang::MSPropertyRefExpr::getLocStart(), clang::MSPropertySubscriptExpr::getLocStart(), clang::ObjCSubscriptRefExpr::getLocStart(), clang::OpaqueValueExpr::getLocStart(), clang::CXXBindTemporaryExpr::getLocStart(), clang::ObjCIsaExpr::getLocStart(), clang::ImaginaryLiteral::getLocStart(), clang::ObjCIndirectCopyRestoreExpr::getLocStart(), clang::UnaryOperator::getLocStart(), clang::ArraySubscriptExpr::getLocStart(), clang::CapturedStmt::getLocStart(), clang::CallExpr::getLocStart(), clang::MemberExpr::getLocStart(), clang::CompoundLiteralExpr::getLocStart(), clang::ImplicitCastExpr::getLocStart(), clang::ExprWithCleanups::getLocStart(), clang::BinaryOperator::getLocStart(), clang::ConditionalOperator::getLocStart(), clang::CXXDependentScopeMemberExpr::getLocStart(), clang::BinaryConditionalOperator::getLocStart(), clang::UnresolvedMemberExpr::getLocStart(), clang::PackExpansionExpr::getLocStart(), clang::MaterializeTemporaryExpr::getLocStart(), clang::DesignatedInitUpdateExpr::getLocStart(), clang::ExtVectorElementExpr::getLocStart(), clang::PseudoObjectExpr::getLocStart(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::StmtSequence::getStartLoc(), GetUnreachableLoc(), getValidSourceLocation(), handleDiagnoseIfAttr(), handleFallThroughAttr(), handleLoopHintAttr(), handlePassObjectSizeAttr(), clang::Sema::ImpCastExprToType(), clang::InitializationSequence::InitializeFrom(), clang::Sema::InstantiateInClassInitializer(), clang::AnalysisDeclContext::isBodyAutosynthesizedFromModelFile(), isExpandedFromConfigurationMacro(), IsInitializerListConstructorConversion(), clang::Sema::IsIntegralPromotion(), clang::Sema::IsMemberPointerConversion(), isNullPointerValueTemplateArgument(), clang::Sema::IsPointerConversion(), clang::Expr::isUnusedResultAWarning(), IsUserDefinedConversion(), isValidDeadStmt(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), maybeDiagnoseAssignmentToFunction(), clang::ento::ConditionBRVisitor::patternMatch(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectArgumentInitialization(), clang::ento::ExprEngine::processBranch(), clang::ento::ExprEngine::ProcessStmt(), ProcessStmtAttribute(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), removePunyEdges(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), rewriteToArrayLiteral(), rewriteToDictionaryLiteral(), clang::CodeGen::scanForTargetRegionsFunctions(), SemaBuiltinAnnotation(), SemaBuiltinOverflow(), clang::Sema::SemaBuiltinShuffleVector(), SemaOpenCLBuiltinEnqueueKernel(), SemaOpenCLBuiltinKernelWorkGroupSize(), clang::CodeGen::CodeGenFunction::setBlockContextParameter(), clang::CodeGen::CodeGenFunction::startOutlinedSEHHelper(), clang::Sema::SubstParmVarDecl(), TryClassUnification(), TryCopyInitialization(), TryImplicitConversion(), TryLValueToRValueCast(), TryReferenceInitializationCore(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), TryTypoCorrectionForCall(), TryUserDefinedConversion(), clang::Sema::VerifyIntegerConstantExpression(), clang::ento::ExprEngine::Visit(), clang::ASTNodeImporter::VisitExpr(), clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode(), and clang::ASTNodeImporter::VisitStmt().
| SourceRange Stmt::getSourceRange | ( | ) | const |
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 245 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnAsTypeExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXFoldExpr(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnOMPArraySectionExpr(), clang::Sema::ActOnOpenMPAtomicDirective(), clang::Sema::ActOnOpenMPDeclareSimdDirective(), clang::Sema::ActOnOpenMPDistScheduleClause(), clang::Sema::ActOnOpenMPScheduleClause(), clang::Sema::ActOnParamDefaultArgument(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartLinkageSpecification(), clang::Sema::AddAlignedAttr(), clang::Sema::AddAlignValueAttr(), clang::Sema::AddAssumeAlignedAttr(), addFixitForObjCARCConversion(), clang::Sema::AddInitializerToDecl(), applyCocoaAPICheck(), clang::Sema::BuildArrayType(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), buildCoawaitCalls(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildDelegatingInitializer(), clang::Sema::BuildExtVectorType(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildMemberInitializer(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildObjCBoxedExpr(), clang::Sema::BuildObjCBridgedCast(), clang::Sema::BuildObjCNumericLiteral(), clang::Sema::BuildObjCStringLiteral(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildStaticAssertDeclaration(), clang::Sema::BuildUnresolvedCoawaitExpr(), clang::Sema::BuildVAArgExpr(), castForMoving(), CastForMoving(), clang::Sema::CheckAddressOfMemberAccess(), clang::Sema::CheckAddressOfOperand(), CheckAlignOfExpr(), checkArgCount(), checkArithmeticBinOpPointerOperands(), checkArithmeticIncompletePointerType(), checkArithmeticNull(), checkArithmeticOnObjCPointer(), CheckArrayDesignatorExpr(), CheckAsmLValue(), clang::Sema::CheckBooleanCondition(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckCastAlign(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompleteVariableDeclaration(), checkCondition(), checkConditionalBlockPointerCompatibility(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), checkConditionalVoidType(), CheckConvertedConstantExpression(), CheckCXX98CompatAccessibleCopy(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::checkDeclIsAllowedInOpenMPTarget(), checkEnumComparison(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckExceptionSpecCompatibility(), checkExprMemoryConstraintCompat(), clang::Sema::CheckExtraCXXDefaultArguments(), CheckFoldOperand(), clang::Sema::CheckForConstantInitializer(), CheckForDanglingReferenceOrPointer(), CheckFormatString(), CheckForModifiableLvalue(), checkFunctionOrMethodParameterIndex(), CheckIncrementDecrementOperand(), checkIndirectCopyRestoreSource(), CheckIndirectionOperand(), CheckKeyForObjCARCConversion(), clang::Sema::CheckLogicalOperands(), CheckMapClauseExpressionBase(), CheckMapConflicts(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMemberPointerConversion(), CheckMemorySizeofForComparison(), clang::Sema::CheckMessageArgumentTypes(), CheckNonNullArgument(), CheckObjCCollectionLiteralElement(), clang::Sema::CheckObjCForCollectionOperand(), checkObjCPointerIntrospection(), checkOpenCLConditionVector(), checkOpenCLPipeArg(), checkOpenCLPipePacketType(), CheckOpenMPIterationSpace(), CheckOpenMPLoop(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckPointerConversion(), checkPointerIntegerMismatch(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckRegparmAttr(), CheckReturnStackAddr(), clang::Sema::CheckStaticArrayArgument(), CheckStringInit(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckSwitchCondition(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), clang::Sema::CheckTemplateIdType(), clang::Sema::CheckTypenameType(), checkUInt32Argument(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckUnresolvedLookupAccess(), clang::Sema::CheckUnresolvedMemberAccess(), checkUnsafeAssignLiteral(), checkUnsafeAssignObject(), clang::Sema::checkUnsafeExprAssigns(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVectorOperands(), checkVectorShift(), clang::Sema::ConvertArgumentsForCall(), CopyObject(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateGenericSelectionExpr(), CreateIfFixit(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::deduceVarTypeFromInitializer(), diagnoseAddressOfInvalidType(), clang::Sema::DiagnoseAlwaysNonNullPointer(), diagnoseAmbiguousConversion(), diagnoseArithmeticOnFunctionPointer(), diagnoseArithmeticOnTwoFunctionPointers(), diagnoseArithmeticOnTwoVoidPointers(), diagnoseArithmeticOnVoidPointer(), clang::Sema::DiagnoseAssignmentAsCondition(), clang::Sema::DiagnoseAssignmentResult(), clang::Sema::DiagnoseAutoDeductionFailure(), diagnoseBadCast(), DiagnoseBadConversion(), DiagnoseBadDivideOrRemainderValues(), DiagnoseBadFunctionCast(), DiagnoseBadShiftValues(), DiagnoseCastOfObjCSEL(), clang::Sema::DiagnoseCommaOperator(), clang::Sema::DiagnoseConditionalForNull(), DiagnoseConditionalPrecedence(), DiagnoseConstAssignment(), diagnoseDistinctPointerComparison(), clang::Sema::DiagnoseEqualityWithExtraParens(), diagnoseFunctionPointerToVoidComparison(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), DiagnoseNarrowingInInitList(), diagnoseObjCARCConversion(), diagnoseObjCLiteralComparison(), diagnosePointerIncompatibility(), diagnoseRepeatedUseOfWeak(), diagnoseRetainCycle(), DiagnoseSelfAssignment(), clang::Sema::DiagnoseSelfMove(), DiagnoseShiftCompare(), diagnoseUnknownAnyExpr(), DiagnoseUnusedComparison(), clang::Sema::diagnoseZeroToNullptrConversion(), DiagUninitUse(), doRewriteToUTF8StringBoxedExpressionHelper(), emitBug(), clang::CodeGen::CodeGenFunction::EmitCompoundStmt(), clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EmitDiagnosticForLogicalAndInLogicalOr(), clang::CodeGen::CodeGenFunction::EmitDoStmt(), clang::CodeGen::CodeGenFunction::EmitForStmt(), clang::CodeGen::CodeGenFunction::EmitIfStmt(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::CGOpenMPRuntime::emitOMPIfClause(), clang::CodeGen::CodeGenFunction::EmitOMPInnerLoop(), clang::CodeGen::CodeGenFunction::EmitWhileStmt(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), EvaluateArrayTypeTrait(), clang::Sema::FinalizeDeclaration(), clang::Sema::FindCompositeObjCPointerType(), findRetainCycleOwner(), findTemplateParameterInType(), finishContextualImplicitConversion(), FinishOverloadedCallExpr(), clang::ento::CallEvent::getArgSourceRange(), clang::ParmVarDecl::getDefaultArgRange(), clang::NonTypeTemplateParmDecl::getDefaultArgumentLoc(), clang::Sema::getExprRange(), getLengthOnSingleLine(), clang::Sema::getPrintable(), getPrivateItem(), clang::ObjCMessageExpr::getReceiverRange(), clang::ento::CallEvent::getSourceRange(), clang::TemplateArgumentLoc::getSourceRange(), clang::CXXStdInitializerListExpr::getSourceRange(), clang::CapturedStmt::getSourceRange(), GetUnreachableLoc(), HandleAddressSpaceTypeAttribute(), handleAlignedAttr(), clang::Sema::HandleExprPropertyRefExpr(), handleFormatArgAttr(), handleFormatAttr(), handleInitPriorityAttr(), handleLayoutVersion(), handleMSP430InterruptAttr(), HandleNeonVectorTypeAttr(), handleNonNullAttr(), handleOpenCLUnrollHint(), handleOwnershipAttr(), handlePassObjectSizeAttr(), handleSentinelAttr(), handleSubGroupSize(), HandleVectorSizeAttr(), handleWorkGroupSize(), clang::Sema::InvalidLogicalVectorOperands(), clang::Sema::InvalidOperands(), isConfigurationValue(), IsNonNegativeIntegerValue(), isNullPointerValueTemplateArgument(), clang::Expr::isUnusedResultAWarning(), LookupMemberExprInRecord(), makeLaunchBoundsArgExpr(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), maybePutParensOnReceiver(), objectifyExpr(), OpenCLArithmeticConversions(), clang::Sema::ParseObjCStringLiteral(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), recordConversion(), clang::tooling::replaceStmtWithStmt(), clang::tooling::replaceStmtWithText(), clang::edit::rewriteObjCRedundantCallWithLiteral(), rewriteToArrayLiteral(), rewriteToArraySubscriptSet(), rewriteToBoolLiteral(), rewriteToCharLiteral(), rewriteToDictionaryLiteral(), rewriteToDictionarySubscriptSet(), rewriteToNumberLiteral(), rewriteToNumericBoxedExpression(), rewriteToSubscriptGetCommon(), SemaBuiltinAnnotation(), SemaBuiltinCallWithStaticChain(), SemaBuiltinCommitRWPipe(), SemaBuiltinCpuSupports(), SemaBuiltinMemChkCall(), SemaBuiltinOverflow(), SemaBuiltinPipePackets(), SemaBuiltinReserveRWPipe(), SemaBuiltinRWPipe(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), SemaOpenCLBuiltinToAddr(), clang::TreeTransform< Derived >::TransformExprs(), tryDiagnoseOverloadedCast(), TryReinterpretCast(), clang::ConversionFixItGenerator::tryToFixConversion(), clang::Sema::tryToRecoverWithCall(), clang::Sema::VerifyBitField(), clang::Sema::VerifyIntegerConstantExpression(), warnOnLifetimeExtension(), and warnOnSizeofOnArrayDecay().
|
inline |
Definition at line 361 of file Stmt.h.
References StmtBits.
Referenced by clang::CFG::BuildOptions::alwaysAdd(), BuildParentMap(), clang::Sema::canThrow(), CheckConstexprFunctionStmt(), checkFormatStringExpr(), CheckICE(), clang::Sema::CheckLiteralKind(), children(), ClassifyInternal(), clang::ObjCStringLiteral::classof(), clang::CXXCatchStmt::classof(), clang::ObjCForCollectionStmt::classof(), clang::ObjCBoolLiteralExpr::classof(), clang::CXXOperatorCallExpr::classof(), clang::CXXTryStmt::classof(), clang::ObjCAtCatchStmt::classof(), clang::OMPArraySectionExpr::classof(), clang::ObjCBoxedExpr::classof(), clang::ObjCAtFinallyStmt::classof(), clang::CXXMemberCallExpr::classof(), clang::ObjCArrayLiteral::classof(), clang::CXXForRangeStmt::classof(), clang::CUDAKernelCallExpr::classof(), clang::OMPExecutableDirective::classof(), clang::CXXNamedCastExpr::classof(), clang::MSDependentExistsStmt::classof(), clang::CXXStaticCastExpr::classof(), clang::ObjCAtSynchronizedStmt::classof(), clang::OMPParallelDirective::classof(), clang::ObjCDictionaryLiteral::classof(), clang::CXXDynamicCastExpr::classof(), clang::ObjCAtThrowStmt::classof(), clang::ObjCAutoreleasePoolStmt::classof(), clang::CXXReinterpretCastExpr::classof(), clang::ObjCEncodeExpr::classof(), clang::CXXConstCastExpr::classof(), clang::CoroutineBodyStmt::classof(), clang::ObjCSelectorExpr::classof(), clang::ObjCProtocolExpr::classof(), clang::UserDefinedLiteral::classof(), clang::DeclStmt::classof(), clang::CXXBoolLiteralExpr::classof(), clang::ObjCIvarRefExpr::classof(), clang::CXXNullPtrLiteralExpr::classof(), clang::NullStmt::classof(), clang::CXXStdInitializerListExpr::classof(), clang::CompoundStmt::classof(), clang::CXXTypeidExpr::classof(), clang::ObjCPropertyRefExpr::classof(), clang::MSPropertyRefExpr::classof(), clang::CaseStmt::classof(), clang::MSPropertySubscriptExpr::classof(), clang::DefaultStmt::classof(), clang::ObjCSubscriptRefExpr::classof(), clang::LabelStmt::classof(), clang::Expr::classof(), clang::CXXUuidofExpr::classof(), clang::AttributedStmt::classof(), clang::CXXThisExpr::classof(), clang::OpaqueValueExpr::classof(), clang::OMPLoopDirective::classof(), clang::CXXThrowExpr::classof(), clang::IfStmt::classof(), clang::OMPSimdDirective::classof(), clang::CXXDefaultArgExpr::classof(), clang::SwitchStmt::classof(), clang::CXXDefaultInitExpr::classof(), clang::OMPForDirective::classof(), clang::WhileStmt::classof(), clang::DoStmt::classof(), clang::OMPForSimdDirective::classof(), clang::DeclRefExpr::classof(), clang::CXXBindTemporaryExpr::classof(), clang::PredefinedExpr::classof(), clang::OMPSectionsDirective::classof(), clang::ForStmt::classof(), clang::GotoStmt::classof(), clang::OMPSectionDirective::classof(), clang::IndirectGotoStmt::classof(), clang::IntegerLiteral::classof(), clang::CXXConstructExpr::classof(), clang::ContinueStmt::classof(), clang::ObjCMessageExpr::classof(), clang::OMPSingleDirective::classof(), clang::BreakStmt::classof(), clang::CharacterLiteral::classof(), clang::CXXInheritedCtorInitExpr::classof(), clang::OMPMasterDirective::classof(), clang::ReturnStmt::classof(), clang::ObjCIsaExpr::classof(), clang::FloatingLiteral::classof(), clang::OMPCriticalDirective::classof(), clang::ImaginaryLiteral::classof(), clang::ObjCIndirectCopyRestoreExpr::classof(), clang::AsmStmt::classof(), clang::OMPParallelForDirective::classof(), clang::ObjCBridgedCastExpr::classof(), clang::ObjCAvailabilityCheckExpr::classof(), clang::OMPParallelForSimdDirective::classof(), clang::StringLiteral::classof(), clang::OMPParallelSectionsDirective::classof(), clang::ParenExpr::classof(), clang::LambdaExpr::classof(), clang::OMPTaskDirective::classof(), clang::GCCAsmStmt::classof(), clang::CXXScalarValueInitExpr::classof(), clang::OMPTaskyieldDirective::classof(), clang::UnaryOperator::classof(), clang::OMPBarrierDirective::classof(), clang::MSAsmStmt::classof(), clang::OMPTaskwaitDirective::classof(), clang::SEHExceptStmt::classof(), clang::SEHFinallyStmt::classof(), clang::OMPTaskgroupDirective::classof(), clang::CXXNewExpr::classof(), clang::SEHTryStmt::classof(), clang::OMPFlushDirective::classof(), clang::OffsetOfExpr::classof(), clang::SEHLeaveStmt::classof(), clang::CXXDeleteExpr::classof(), clang::OMPOrderedDirective::classof(), clang::UnaryExprOrTypeTraitExpr::classof(), clang::ArraySubscriptExpr::classof(), clang::OMPAtomicDirective::classof(), clang::CapturedStmt::classof(), clang::OMPTargetDirective::classof(), clang::OMPTargetDataDirective::classof(), clang::TypeTraitExpr::classof(), clang::OMPTargetEnterDataDirective::classof(), clang::ArrayTypeTraitExpr::classof(), clang::OMPTargetExitDataDirective::classof(), clang::ExpressionTraitExpr::classof(), clang::OMPTargetParallelDirective::classof(), clang::OMPTargetParallelForDirective::classof(), clang::MemberExpr::classof(), clang::OMPTeamsDirective::classof(), clang::OverloadExpr::classof(), clang::OMPCancellationPointDirective::classof(), clang::CompoundLiteralExpr::classof(), clang::OMPCancelDirective::classof(), clang::UnresolvedLookupExpr::classof(), clang::CastExpr::classof(), clang::OMPTaskLoopDirective::classof(), clang::ImplicitCastExpr::classof(), clang::OMPTaskLoopSimdDirective::classof(), clang::ExplicitCastExpr::classof(), clang::DependentScopeDeclRefExpr::classof(), clang::CStyleCastExpr::classof(), clang::OMPDistributeDirective::classof(), clang::ExprWithCleanups::classof(), clang::OMPTargetUpdateDirective::classof(), clang::OMPDistributeParallelForDirective::classof(), clang::CXXUnresolvedConstructExpr::classof(), clang::BinaryOperator::classof(), clang::OMPDistributeParallelForSimdDirective::classof(), clang::CompoundAssignOperator::classof(), clang::OMPDistributeSimdDirective::classof(), clang::AbstractConditionalOperator::classof(), clang::OMPTargetParallelForSimdDirective::classof(), clang::ConditionalOperator::classof(), clang::CXXDependentScopeMemberExpr::classof(), clang::OMPTargetSimdDirective::classof(), clang::BinaryConditionalOperator::classof(), clang::OMPTeamsDistributeDirective::classof(), clang::AddrLabelExpr::classof(), clang::UnresolvedMemberExpr::classof(), clang::OMPTeamsDistributeSimdDirective::classof(), clang::StmtExpr::classof(), clang::ShuffleVectorExpr::classof(), clang::CXXNoexceptExpr::classof(), clang::OMPTeamsDistributeParallelForSimdDirective::classof(), clang::PackExpansionExpr::classof(), clang::ConvertVectorExpr::classof(), clang::OMPTeamsDistributeParallelForDirective::classof(), clang::OMPTargetTeamsDirective::classof(), clang::ChooseExpr::classof(), clang::SizeOfPackExpr::classof(), clang::GNUNullExpr::classof(), clang::OMPTargetTeamsDistributeDirective::classof(), clang::SubstNonTypeTemplateParmExpr::classof(), clang::VAArgExpr::classof(), clang::OMPTargetTeamsDistributeParallelForDirective::classof(), clang::SubstNonTypeTemplateParmPackExpr::classof(), clang::OMPTargetTeamsDistributeParallelForSimdDirective::classof(), clang::FunctionParmPackExpr::classof(), clang::OMPTargetTeamsDistributeSimdDirective::classof(), clang::MaterializeTemporaryExpr::classof(), clang::CXXFoldExpr::classof(), clang::CoroutineSuspendExpr::classof(), clang::CoawaitExpr::classof(), clang::DependentCoawaitExpr::classof(), clang::CoyieldExpr::classof(), clang::NoInitExpr::classof(), clang::ArrayInitLoopExpr::classof(), clang::ArrayInitIndexExpr::classof(), clang::ImplicitValueInitExpr::classof(), clang::ParenListExpr::classof(), clang::GenericSelectionExpr::classof(), clang::ExtVectorElementExpr::classof(), clang::BlockExpr::classof(), clang::AsTypeExpr::classof(), clang::PseudoObjectExpr::classof(), clang::AtomicExpr::classof(), clang::TypoExpr::classof(), DiagUninitUse(), clang::CodeGen::CodeGenFunction::EmitAttributedStmt(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitSimpleStmt(), clang::CodeGen::CodeGenFunction::EmitStmt(), EvalAddr(), EvaluateStmt(), EvalVal(), GenerateMinimalPathDiagnostic(), clang::CallEventManager::getCaller(), clang::CXXNamedCastExpr::getCastName(), clang::ento::SValBuilder::getConstantVal(), getEnclosingParent(), clang::Expr::getExprLoc(), clang::ast_type_traits::ASTNodeKind::getFromNode(), getLocEnd(), getLocStart(), getLoopCondition(), clang::ObjCMethodCall::getMessageKind(), getPrimaryDecl(), clang::threadSafety::getSourceLiteralString(), getSourceRange(), clang::ento::Environment::getSVal(), clang::CFGBlock::getTerminatorCondition(), GetUnreachableLoc(), handleLoopHintAttr(), clang::Expr::HasSideEffects(), ignoreTransparentExprs(), isConditionForTerminator(), isConfigurationValue(), clang::Expr::isConstantInitializer(), clang::ParentMap::isConsumedExpr(), IsGlobalLValue(), isIdenticalStmt(), clang::CXXCtorInitializer::isInClassMemberInitializer(), isInLoop(), isInLoopBody(), isLoop(), clang::Expr::isOBJCGCCandidate(), isObjCObjectLiteral(), clang::Expr::isUnusedResultAWarning(), requiresParensToAddCast(), reversePropagateIntererstingSymbols(), clang::CodeGen::scanForTargetRegionsFunctions(), SemaBuiltinCallWithStaticChain(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformExpr(), clang::TreeTransform< Derived >::TransformStmt(), clang::threadSafety::SExprBuilder::translate(), clang::StmtVisitorBase< make_ptr, ASTNodeImporter, Stmt * >::Visit(), clang::ento::ExprEngine::Visit(), clang::ASTNodeImporter::VisitExplicitCastExpr(), clang::ento::ConditionBRVisitor::VisitTerminator(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
| const char * Stmt::getStmtClassName | ( | ) | const |
Definition at line 58 of file Stmt.cpp.
References getStmtInfoTableEntry(), StmtClassNameTable::Name, and StmtBits.
Referenced by llvm::DOTGraphTraits< const Stmt * >::getNodeLabel(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::ASTNodeImporter::VisitExpr(), and clang::ASTNodeImporter::VisitStmt().
Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.
Definition at line 116 of file Stmt.cpp.
References S.
Referenced by clang::Sema::ActOnOpenMPTargetDirective(), CheckOpenMPLoop(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective(), and clang::OMPLoopDirective::getBody().
| Stmt * Stmt::IgnoreImplicit | ( | ) |
Skip past any implicit AST nodes which might surround this statement, such as ExprWithCleanups or ImplicitCastExpr nodes.
Definition at line 96 of file Stmt.cpp.
Referenced by IgnoreImplicit(), clang::Expr::IgnoreImplicit(), and isConfigurationValue().
|
inline |
Definition at line 402 of file Stmt.h.
References IgnoreImplicit().
|
inlineprotectednoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineprotectednoexcept |
| void * Stmt::operator new | ( | size_t | bytes, |
| const ASTContext & | C, | ||
| unsigned | alignment = 8 |
||
| ) |
|
inline |
Definition at line 292 of file Stmt.h.
References bytes(), and AttributeLangSupport::C.
|
inlinenoexcept |
| void Stmt::printPretty | ( | raw_ostream & | OS, |
| PrinterHelper * | Helper, | ||
| const PrintingPolicy & | Policy, | ||
| unsigned | Indentation = 0 |
||
| ) | const |
Definition at line 2675 of file StmtPrinter.cpp.
References P.
Referenced by clang::Sema::BuildStaticAssertDeclaration(), clang::Sema::CheckEquivalentExceptionSpec(), clang::Sema::DiagnoseAlwaysNonNullPointer(), dumpPretty(), clang::ento::StringRegion::dumpToStream(), clang::ento::ObjCStringRegion::dumpToStream(), findFailedEnableIfCondition(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::operator<<(), clang::ento::Environment::print(), clang::TemplateArgument::print(), print_block(), print_elem(), clang::FunctionProtoType::printExceptionSpecification(), and clang::APValue::printPretty().
|
static |
Definition at line 62 of file Stmt.cpp.
References StmtClassNameTable::Counter, getStmtInfoTableEntry(), StmtClassNameTable::Name, Name, StmtClassNameTable::Size, and StmtClassInfo.
Referenced by clang::ParseAST().
| void Stmt::ProcessODRHash | ( | llvm::FoldingSetNodeID & | ID, |
| ODRHash & | Hash | ||
| ) | const |
Calculate a unique representation for a statement that is stable across compiler invocations.
| 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 1926 of file StmtProfile.cpp.
Referenced by clang::ODRHash::AddStmt().
| void Stmt::Profile | ( | llvm::FoldingSetNodeID & | ID, |
| const ASTContext & | Context, | ||
| bool | Canonical | ||
| ) | const |
Produce a unique representation of the given statement.
| 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. |
Definition at line 1920 of file StmtProfile.cpp.
Referenced by clang::Sema::CheckClassTemplate(), checkDeducedTemplateArguments(), isSameTemplateArg(), clang::TemplateArgument::Profile(), clang::DependentSizedArrayType::Profile(), clang::DependentSizedExtVectorType::Profile(), clang::DependentTypeOfExprType::Profile(), and clang::DependentDecltypeType::Profile().
| 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 138 of file Stmt.cpp.
References S.
Referenced by stripLabelLikeStatements().
|
inline |
Definition at line 411 of file Stmt.h.
References stripLabelLikeStatements().
| 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 21 of file StmtViz.cpp.
|
friend |
|
friend |
| union { ... } |
| CallExprBitfields clang::Stmt::CallExprBits |
Definition at line 274 of file Stmt.h.
Referenced by clang::CallExpr::CallExpr(), and clang::CallExpr::getNumPreArgs().
| CastExprBitfields clang::Stmt::CastExprBits |
Definition at line 273 of file Stmt.h.
Referenced by clang::CastExpr::CastExpr(), clang::CastExpr::getCastKind(), clang::CastExpr::path_empty(), clang::CastExpr::path_size(), and clang::CastExpr::setCastKind().
| CharacterLiteralBitfields clang::Stmt::CharacterLiteralBits |
Definition at line 269 of file Stmt.h.
Referenced by clang::CharacterLiteral::CharacterLiteral(), clang::CharacterLiteral::getKind(), and clang::CharacterLiteral::setKind().
| CoawaitExprBitfields clang::Stmt::CoawaitBits |
Definition at line 280 of file Stmt.h.
Referenced by clang::CoawaitExpr::CoawaitExpr(), clang::CoawaitExpr::isImplicit(), and clang::CoawaitExpr::setIsImplicit().
| CompoundStmtBitfields clang::Stmt::CompoundStmtBits |
Definition at line 266 of file Stmt.h.
Referenced by clang::CompoundStmt::body_empty(), clang::CompoundStmt::children(), clang::CompoundStmt::CompoundStmt(), clang::CompoundStmt::setStmts(), and clang::CompoundStmt::size().
| DeclRefExprBitfields clang::Stmt::DeclRefExprBits |
Definition at line 272 of file Stmt.h.
Referenced by clang::DeclRefExpr::DeclRefExpr(), clang::DeclRefExpr::hadMultipleCandidates(), clang::DeclRefExpr::hasQualifier(), clang::DeclRefExpr::hasTemplateKWAndArgsInfo(), clang::DeclRefExpr::refersToEnclosingVariableOrCapture(), and clang::DeclRefExpr::setHadMultipleCandidates().
| ExprBitfields clang::Stmt::ExprBits |
Definition at line 268 of file Stmt.h.
Referenced by clang::AtomicExpr::AtomicExpr(), clang::Expr::containsUnexpandedParameterPack(), clang::CXXConstructExpr::CXXConstructExpr(), clang::CXXNewExpr::CXXNewExpr(), clang::Expr::Expr(), clang::Expr::getObjectKind(), clang::Expr::getValueKind(), clang::InitListExpr::InitListExpr(), clang::Expr::isInstantiationDependent(), clang::Expr::isTypeDependent(), clang::Expr::isValueDependent(), clang::OverloadExpr::OverloadExpr(), clang::ParenListExpr::ParenListExpr(), clang::Expr::setContainsUnexpandedParameterPack(), clang::InitListExpr::setInit(), clang::Expr::setInstantiationDependent(), clang::Expr::setObjectKind(), clang::Expr::setTypeDependent(), clang::Expr::setValueDependent(), clang::Expr::setValueKind(), and clang::ShuffleVectorExpr::ShuffleVectorExpr().
| ExprWithCleanupsBitfields clang::Stmt::ExprWithCleanupsBits |
Definition at line 275 of file Stmt.h.
Referenced by clang::ExprWithCleanups::cleanupsHaveSideEffects(), and clang::ExprWithCleanups::getNumObjects().
| FloatingLiteralBitfields clang::Stmt::FloatingLiteralBits |
Definition at line 270 of file Stmt.h.
Referenced by clang::FloatingLiteral::getRawSemantics(), clang::FloatingLiteral::getSemantics(), clang::FloatingLiteral::isExact(), clang::FloatingLiteral::setExact(), clang::FloatingLiteral::setRawSemantics(), and clang::FloatingLiteral::setSemantics().
| IfStmtBitfields clang::Stmt::IfStmtBits |
Definition at line 267 of file Stmt.h.
Referenced by clang::IfStmt::isConstexpr(), and clang::IfStmt::setConstexpr().
| InitListExprBitfields clang::Stmt::InitListExprBits |
Definition at line 278 of file Stmt.h.
Referenced by clang::InitListExpr::hadArrayRangeDesignator(), and clang::InitListExpr::sawArrayRangeDesignator().
| ObjCIndirectCopyRestoreExprBitfields clang::Stmt::ObjCIndirectCopyRestoreExprBits |
Definition at line 277 of file Stmt.h.
Referenced by clang::ObjCIndirectCopyRestoreExpr::shouldCopy().
| PseudoObjectExprBitfields clang::Stmt::PseudoObjectExprBits |
Definition at line 276 of file Stmt.h.
Referenced by clang::PseudoObjectExpr::getResultExpr(), and clang::PseudoObjectExpr::getResultExprIndex().
| StmtBitfields clang::Stmt::StmtBits |
Definition at line 265 of file Stmt.h.
Referenced by getStmtClass(), getStmtClassName(), and Stmt().
| TypeTraitExprBitfields clang::Stmt::TypeTraitExprBits |
Definition at line 279 of file Stmt.h.
Referenced by clang::TypeTraitExpr::getNumArgs(), clang::TypeTraitExpr::getTrait(), and clang::TypeTraitExpr::getValue().
| UnaryExprOrTypeTraitExprBitfields clang::Stmt::UnaryExprOrTypeTraitExprBits |
Definition at line 271 of file Stmt.h.
Referenced by clang::UnaryExprOrTypeTraitExpr::getKind(), clang::UnaryExprOrTypeTraitExpr::isArgumentType(), clang::UnaryExprOrTypeTraitExpr::setArgument(), clang::UnaryExprOrTypeTraitExpr::setKind(), and clang::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr().
1.8.6