clang API Documentation
#include <Stmt.h>
typedef StmtRange clang::Stmt::child_range |
enum clang::Stmt::APFloatSemantics [protected] |
clang::Stmt::Stmt | ( | StmtClass | SC, |
EmptyShell | |||
) | [inline, explicit, protected] |
Construct an empty statement.
Definition at line 344 of file Stmt.h.
References addStmtClass(), and StmtBits.
clang::Stmt::Stmt | ( | StmtClass | SC | ) | [inline] |
Definition at line 350 of file Stmt.h.
References addStmtClass(), and StmtBits.
void Stmt::addStmtClass | ( | const StmtClass | s | ) | [static] |
Definition at line 86 of file Stmt.cpp.
References StmtClassNameTable::Counter, and getStmtInfoTableEntry().
Referenced by Stmt().
child_iterator clang::Stmt::child_begin | ( | ) | [inline] |
Definition at line 420 of file Stmt.h.
References children().
Referenced by llvm::GraphTraits< clang::Stmt * >::child_begin(), llvm::GraphTraits< const clang::Stmt * >::child_begin(), clang::ento::containsBuiltinOffsetOf(), clang::ento::containsEnum(), clang::ento::containsMacro(), clang::ento::containsStaticLocal(), FindBlockDeclRefExpr(), clang::OMPExecutableDirective::getAssociatedStmt(), clang::OMPLoopDirective::getCalcLastIteration(), clang::OMPLoopDirective::getCond(), clang::OMPAtomicDirective::getExpr(), clang::OMPLoopDirective::getInc(), clang::OMPLoopDirective::getInit(), clang::DesignatedInitExpr::getInit(), clang::OMPLoopDirective::getIterationVariable(), clang::OMPLoopDirective::getLastIteration(), clang::OMPLoopDirective::getPreCond(), clang::OMPAtomicDirective::getV(), clang::OMPAtomicDirective::getX(), isIdenticalStmt(), clang::ento::FindLastStoreBRVisitor::registerStatementVarDecls(), reversePropagateIntererstingSymbols(), Scan(), scan_ivar_release(), clang::OMPExecutableDirective::setAssociatedStmt(), clang::OMPLoopDirective::setCalcLastIteration(), clang::OMPLoopDirective::setCond(), clang::OMPLoopDirective::setInc(), clang::OMPLoopDirective::setInit(), clang::DesignatedInitExpr::setInit(), clang::OMPLoopDirective::setIterationVariable(), clang::OMPLoopDirective::setLastIteration(), and clang::OMPLoopDirective::setPreCond().
const_child_iterator clang::Stmt::child_begin | ( | ) | const [inline] |
Definition at line 423 of file Stmt.h.
References children().
child_iterator clang::Stmt::child_end | ( | ) | [inline] |
Definition at line 421 of file Stmt.h.
References children().
Referenced by llvm::GraphTraits< clang::Stmt * >::child_end(), llvm::GraphTraits< const clang::Stmt * >::child_end(), clang::ento::containsBuiltinOffsetOf(), clang::ento::containsEnum(), clang::ento::containsMacro(), clang::ento::containsStaticLocal(), FindBlockDeclRefExpr(), isIdenticalStmt(), clang::ento::FindLastStoreBRVisitor::registerStatementVarDecls(), reversePropagateIntererstingSymbols(), Scan(), and scan_ivar_release().
const_child_iterator clang::Stmt::child_end | ( | ) | const [inline] |
Definition at line 424 of file Stmt.h.
References children().
Reimplemented in clang::TypoExpr, clang::AtomicExpr, clang::PseudoObjectExpr, clang::AsTypeExpr, clang::BlockExpr, clang::ExtVectorElementExpr, clang::GenericSelectionExpr, clang::ParenListExpr, clang::ImplicitValueInitExpr, clang::DesignatedInitExpr, clang::InitListExpr, clang::CXXFoldExpr, clang::MaterializeTemporaryExpr, clang::VAArgExpr, clang::FunctionParmPackExpr, clang::GNUNullExpr, clang::SubstNonTypeTemplateParmPackExpr, clang::ChooseExpr, clang::SubstNonTypeTemplateParmExpr, clang::ConvertVectorExpr, clang::SizeOfPackExpr, clang::ShuffleVectorExpr, clang::PackExpansionExpr, clang::StmtExpr, clang::AddrLabelExpr, clang::CXXNoexceptExpr, clang::BinaryConditionalOperator, clang::UnresolvedMemberExpr, clang::ConditionalOperator, clang::CXXDependentScopeMemberExpr, clang::BinaryOperator, clang::CXXUnresolvedConstructExpr, clang::ExprWithCleanups, clang::CastExpr, clang::DependentScopeDeclRefExpr, clang::CompoundLiteralExpr, clang::MemberExpr, clang::UnresolvedLookupExpr, clang::CallExpr, clang::ExpressionTraitExpr, clang::ArrayTypeTraitExpr, clang::CapturedStmt, clang::TypeTraitExpr, clang::ArraySubscriptExpr, clang::UnaryExprOrTypeTraitExpr, clang::CXXPseudoDestructorExpr, clang::SEHLeaveStmt, clang::OffsetOfExpr, clang::SEHTryStmt, clang::SEHFinallyStmt, clang::CXXDeleteExpr, clang::SEHExceptStmt, clang::MSAsmStmt, clang::CXXNewExpr, clang::UnaryOperator, clang::ParenExpr, clang::CXXScalarValueInitExpr, clang::StringLiteral, clang::LambdaExpr, clang::AsmStmt, clang::ObjCIndirectCopyRestoreExpr, clang::ObjCIsaExpr, clang::ImaginaryLiteral, clang::FloatingLiteral, clang::ReturnStmt, clang::ObjCMessageExpr, clang::CharacterLiteral, clang::BreakStmt, clang::ContinueStmt, clang::IntegerLiteral, clang::IndirectGotoStmt, clang::GotoStmt, clang::CXXConstructExpr, clang::PredefinedExpr, clang::ForStmt, clang::DeclRefExpr, clang::DoStmt, clang::WhileStmt, clang::CXXBindTemporaryExpr, clang::SwitchStmt, clang::CXXDefaultInitExpr, clang::CXXDefaultArgExpr, clang::IfStmt, clang::AttributedStmt, clang::OpaqueValueExpr, clang::ObjCSubscriptRefExpr, clang::CXXThrowExpr, clang::LabelStmt, clang::CXXThisExpr, clang::DefaultStmt, clang::CXXUuidofExpr, clang::CaseStmt, clang::ObjCPropertyRefExpr, clang::MSPropertyRefExpr, clang::CompoundStmt, clang::CXXTypeidExpr, clang::NullStmt, clang::ObjCIvarRefExpr, clang::CXXStdInitializerListExpr, clang::DeclStmt, clang::CXXNullPtrLiteralExpr, clang::ObjCProtocolExpr, clang::CXXBoolLiteralExpr, clang::ObjCSelectorExpr, clang::ObjCEncodeExpr, clang::ObjCAutoreleasePoolStmt, clang::ObjCAtThrowStmt, clang::ObjCDictionaryLiteral, clang::ObjCAtSynchronizedStmt, clang::MSDependentExistsStmt, clang::ObjCAtTryStmt, clang::CXXForRangeStmt, clang::ObjCArrayLiteral, clang::OMPExecutableDirective, clang::ObjCAtFinallyStmt, clang::ObjCBoxedExpr, clang::ObjCAtCatchStmt, clang::CXXTryStmt, clang::ObjCBoolLiteralExpr, clang::ObjCForCollectionStmt, clang::CXXCatchStmt, and clang::ObjCStringLiteral.
Definition at line 201 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnFinishFunctionBody(), BuildParentMap(), clang::canSubExprsThrow(), CheckConstexprFunctionStmt(), CheckNakedParmReference(), child_begin(), child_end(), children(), clang::CodeGen::CodeGenFunction::containsBreak(), clang::CodeGen::CodeGenFunction::ContainsLabel(), clang::ento::containsStmt(), LogicalErrorHandler::HasMacroID(), clang::Expr::HasSideEffects(), isAccessedBy(), isCapturedBy(), SearchForReturnInStmt(), and clang::EvaluatedExprVisitor< ImplClass >::VisitStmt().
const_child_range clang::Stmt::children | ( | ) | const [inline] |
LLVM_DUMP_METHOD void Stmt::dump | ( | ) | const |
Dumps the specified AST fragment and all subtrees to llvm::errs()
.
Definition at line 2254 of file ASTDumper.cpp.
References P.
Referenced by clang::ento::PathDiagnosticLocation::dump(), and clang::threadSafety::LocalVariableMap::dump().
LLVM_DUMP_METHOD void Stmt::dump | ( | SourceManager & | SM | ) | const |
Definition at line 2245 of file ASTDumper.cpp.
References dump().
LLVM_DUMP_METHOD void Stmt::dump | ( | raw_ostream & | OS, |
SourceManager & | SM | ||
) | const |
Definition at line 2249 of file ASTDumper.cpp.
References P.
LLVM_DUMP_METHOD void Stmt::dumpColor | ( | ) | const |
dumpColor - same as dump(), but forces color highlighting.
Definition at line 2259 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 2200 of file StmtPrinter.cpp.
References clang::ASTContext::getLangOpts(), and printPretty().
void Stmt::EnableStatistics | ( | ) | [static] |
Definition at line 91 of file Stmt.cpp.
Referenced by clang::ParseAST().
SourceLocation Stmt::getLocEnd | ( | ) | const |
Reimplemented in clang::TypoExpr, clang::AtomicExpr, clang::PseudoObjectExpr, clang::AsTypeExpr, clang::BlockExpr, clang::ExtVectorElementExpr, clang::GenericSelectionExpr, clang::ParenListExpr, clang::ImplicitValueInitExpr, clang::DesignatedInitExpr, clang::InitListExpr, clang::CXXFoldExpr, clang::MaterializeTemporaryExpr, clang::VAArgExpr, clang::FunctionParmPackExpr, clang::GNUNullExpr, clang::SubstNonTypeTemplateParmPackExpr, clang::ChooseExpr, clang::SubstNonTypeTemplateParmExpr, clang::ConvertVectorExpr, clang::SizeOfPackExpr, clang::ShuffleVectorExpr, clang::PackExpansionExpr, clang::StmtExpr, clang::AddrLabelExpr, clang::CXXNoexceptExpr, clang::BinaryConditionalOperator, clang::UnresolvedMemberExpr, clang::ConditionalOperator, clang::CXXDependentScopeMemberExpr, clang::BinaryOperator, clang::CXXUnresolvedConstructExpr, clang::CStyleCastExpr, clang::ExprWithCleanups, clang::ImplicitCastExpr, clang::DependentScopeDeclRefExpr, clang::CompoundLiteralExpr, clang::UnresolvedLookupExpr, clang::MemberExpr, clang::CallExpr, clang::ExpressionTraitExpr, clang::ArrayTypeTraitExpr, clang::CapturedStmt, clang::TypeTraitExpr, clang::ArraySubscriptExpr, clang::UnaryExprOrTypeTraitExpr, clang::CXXPseudoDestructorExpr, clang::SEHLeaveStmt, clang::OffsetOfExpr, clang::SEHTryStmt, clang::SEHFinallyStmt, clang::CXXDeleteExpr, clang::SEHExceptStmt, clang::MSAsmStmt, clang::CXXNewExpr, clang::UnaryOperator, clang::GCCAsmStmt, clang::ParenExpr, clang::CXXScalarValueInitExpr, clang::StringLiteral, clang::LambdaExpr, clang::ObjCBridgedCastExpr, clang::ObjCIndirectCopyRestoreExpr, clang::ImaginaryLiteral, clang::ObjCIsaExpr, clang::AsmStmt, clang::FloatingLiteral, clang::ReturnStmt, clang::ObjCMessageExpr, clang::CharacterLiteral, clang::BreakStmt, clang::CXXTemporaryObjectExpr, clang::ContinueStmt, clang::IntegerLiteral, clang::IndirectGotoStmt, clang::CXXFunctionalCastExpr, clang::GotoStmt, clang::CXXConstructExpr, clang::PredefinedExpr, clang::ForStmt, clang::DoStmt, clang::WhileStmt, clang::CXXBindTemporaryExpr, clang::SwitchStmt, clang::DeclRefExpr, clang::CXXDefaultInitExpr, clang::CXXDefaultArgExpr, clang::IfStmt, clang::AttributedStmt, clang::OpaqueValueExpr, clang::CXXThrowExpr, clang::ObjCSubscriptRefExpr, clang::LabelStmt, clang::CXXThisExpr, clang::DefaultStmt, clang::CXXUuidofExpr, clang::CaseStmt, clang::ObjCPropertyRefExpr, clang::SwitchCase, clang::MSPropertyRefExpr, clang::CompoundStmt, clang::CXXTypeidExpr, clang::NullStmt, clang::ObjCIvarRefExpr, clang::CXXStdInitializerListExpr, clang::DeclStmt, clang::CXXNullPtrLiteralExpr, clang::ObjCProtocolExpr, clang::CXXBoolLiteralExpr, clang::ObjCSelectorExpr, clang::UserDefinedLiteral, clang::ObjCEncodeExpr, clang::ObjCAutoreleasePoolStmt, clang::ObjCAtThrowStmt, clang::ObjCDictionaryLiteral, clang::ObjCAtSynchronizedStmt, clang::MSDependentExistsStmt, clang::ObjCAtTryStmt, clang::CXXNamedCastExpr, clang::CXXForRangeStmt, clang::ObjCArrayLiteral, clang::OMPExecutableDirective, clang::ObjCAtFinallyStmt, clang::ObjCBoxedExpr, clang::ObjCAtCatchStmt, clang::CXXOperatorCallExpr, clang::CXXTryStmt, clang::ObjCBoolLiteralExpr, clang::ObjCForCollectionStmt, clang::ObjCStringLiteral, and clang::CXXCatchStmt.
Definition at line 263 of file Stmt.cpp.
References getStmtClass(), and NoStmtClass.
Referenced by clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnLambdaExpr(), addBlockPointerConversion(), addFunctionPointerConversion(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXFunctionalCastExpr(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildObjCDictionaryLiteral(), checkArgCount(), CheckFallThroughForBody(), CheckFoldOperand(), clang::Sema::CheckLogicalOperands(), CheckMemorySizeofForComparison(), clang::Sema::CheckObjCBridgeRelatedConversions(), clang::Sema::CheckPointerToMemberOperands(), clang::ento::containsMacro(), CreateIfFixit(), clang::CXXDestructorCall::CXXDestructorCall(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), DiagnoseBitwisePrecedence(), DiagnoseConditionalPrecedence(), DiagnoseDirectIsaAccess(), diagnoseLogicalNotOnLHSofComparison(), DiagnoseNarrowingInInitList(), diagnoseNoViableConversion(), diagnoseObjCLiteralComparison(), clang::Sema::DiagnoseSentinelCalls(), DiagnoseShiftCompare(), diagnoseStringPlusChar(), diagnoseStringPlusInt(), clang::ObjCIsaExpr::getBaseLocEnd(), clang::CXXTryStmt::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::CXXStdInitializerListExpr::getLocEnd(), clang::CaseStmt::getLocEnd(), clang::DefaultStmt::getLocEnd(), clang::LabelStmt::getLocEnd(), clang::CXXThrowExpr::getLocEnd(), clang::OpaqueValueExpr::getLocEnd(), clang::AttributedStmt::getLocEnd(), clang::IfStmt::getLocEnd(), clang::SwitchStmt::getLocEnd(), clang::CXXBindTemporaryExpr::getLocEnd(), clang::WhileStmt::getLocEnd(), clang::ForStmt::getLocEnd(), clang::CXXConstructExpr::getLocEnd(), clang::CXXFunctionalCastExpr::getLocEnd(), clang::IndirectGotoStmt::getLocEnd(), clang::ReturnStmt::getLocEnd(), clang::ImaginaryLiteral::getLocEnd(), clang::ObjCIndirectCopyRestoreExpr::getLocEnd(), clang::ObjCBridgedCastExpr::getLocEnd(), clang::UnaryOperator::getLocEnd(), clang::CXXDeleteExpr::getLocEnd(), clang::CapturedStmt::getLocEnd(), clang::CompoundLiteralExpr::getLocEnd(), clang::ImplicitCastExpr::getLocEnd(), clang::ExprWithCleanups::getLocEnd(), clang::CStyleCastExpr::getLocEnd(), clang::CXXUnresolvedConstructExpr::getLocEnd(), clang::BinaryOperator::getLocEnd(), clang::ConditionalOperator::getLocEnd(), clang::BinaryConditionalOperator::getLocEnd(), clang::MaterializeTemporaryExpr::getLocEnd(), clang::DesignatedInitExpr::getLocEnd(), clang::BlockExpr::getLocEnd(), clang::PseudoObjectExpr::getLocEnd(), clang::EnumConstantDecl::getSourceRange(), clang::BlockDecl::getSourceRange(), getValidSourceLocation(), isNullPointerValueTemplateArgument(), clang::Expr::isUnusedResultAWarning(), clang::Sema::performLambdaInitCaptureInitialization(), rewriteToDictionaryLiteral(), clang::consumed::ConsumedAnalyzer::run(), clang::threadSafety::ThreadSafetyAnalyzer::runAnalysis(), clang::Sema::SemaBuiltinShuffleVector(), and clang::FunctionDecl::setBody().
SourceLocation Stmt::getLocStart | ( | ) | const |
Reimplemented in clang::TypoExpr, clang::AtomicExpr, clang::PseudoObjectExpr, clang::AsTypeExpr, clang::BlockExpr, clang::ExtVectorElementExpr, clang::GenericSelectionExpr, clang::ParenListExpr, clang::ImplicitValueInitExpr, clang::DesignatedInitExpr, clang::InitListExpr, clang::CXXFoldExpr, clang::MaterializeTemporaryExpr, clang::VAArgExpr, clang::FunctionParmPackExpr, clang::GNUNullExpr, clang::SubstNonTypeTemplateParmPackExpr, clang::ChooseExpr, clang::SubstNonTypeTemplateParmExpr, clang::ConvertVectorExpr, clang::SizeOfPackExpr, clang::ShuffleVectorExpr, clang::PackExpansionExpr, clang::StmtExpr, clang::AddrLabelExpr, clang::CXXNoexceptExpr, clang::BinaryConditionalOperator, clang::UnresolvedMemberExpr, clang::ConditionalOperator, clang::CXXDependentScopeMemberExpr, clang::BinaryOperator, clang::CXXUnresolvedConstructExpr, clang::CStyleCastExpr, clang::ExprWithCleanups, clang::ImplicitCastExpr, clang::DependentScopeDeclRefExpr, clang::CompoundLiteralExpr, clang::UnresolvedLookupExpr, clang::MemberExpr, clang::CallExpr, clang::ExpressionTraitExpr, clang::ArrayTypeTraitExpr, clang::CapturedStmt, clang::TypeTraitExpr, clang::ArraySubscriptExpr, clang::UnaryExprOrTypeTraitExpr, clang::CXXPseudoDestructorExpr, clang::SEHLeaveStmt, clang::OffsetOfExpr, clang::SEHTryStmt, clang::SEHFinallyStmt, clang::CXXDeleteExpr, clang::SEHExceptStmt, clang::MSAsmStmt, clang::CXXNewExpr, clang::UnaryOperator, clang::GCCAsmStmt, clang::ParenExpr, clang::CXXScalarValueInitExpr, clang::StringLiteral, clang::LambdaExpr, clang::ObjCBridgedCastExpr, clang::ObjCIndirectCopyRestoreExpr, clang::ImaginaryLiteral, clang::AsmStmt, clang::ObjCIsaExpr, clang::FloatingLiteral, clang::ReturnStmt, clang::ObjCMessageExpr, clang::CharacterLiteral, clang::BreakStmt, clang::CXXTemporaryObjectExpr, clang::ContinueStmt, clang::IntegerLiteral, clang::IndirectGotoStmt, clang::CXXFunctionalCastExpr, clang::GotoStmt, clang::CXXConstructExpr, clang::PredefinedExpr, clang::ForStmt, clang::DoStmt, clang::WhileStmt, clang::CXXBindTemporaryExpr, clang::SwitchStmt, clang::DeclRefExpr, clang::CXXDefaultInitExpr, clang::CXXDefaultArgExpr, clang::IfStmt, clang::AttributedStmt, clang::OpaqueValueExpr, clang::CXXThrowExpr, clang::ObjCSubscriptRefExpr, clang::LabelStmt, clang::CXXThisExpr, clang::DefaultStmt, clang::CXXUuidofExpr, clang::CaseStmt, clang::ObjCPropertyRefExpr, clang::SwitchCase, clang::MSPropertyRefExpr, clang::CompoundStmt, clang::CXXTypeidExpr, clang::NullStmt, clang::ObjCIvarRefExpr, clang::CXXStdInitializerListExpr, clang::DeclStmt, clang::CXXNullPtrLiteralExpr, clang::ObjCProtocolExpr, clang::CXXBoolLiteralExpr, clang::ObjCSelectorExpr, clang::UserDefinedLiteral, clang::ObjCEncodeExpr, clang::ObjCAutoreleasePoolStmt, clang::ObjCAtThrowStmt, clang::ObjCDictionaryLiteral, clang::ObjCAtSynchronizedStmt, clang::MSDependentExistsStmt, clang::ObjCAtTryStmt, clang::CXXNamedCastExpr, clang::CXXForRangeStmt, clang::ObjCArrayLiteral, clang::OMPExecutableDirective, clang::ObjCAtFinallyStmt, clang::ObjCBoxedExpr, clang::ObjCAtCatchStmt, clang::CXXOperatorCallExpr, clang::CXXTryStmt, clang::ObjCBoolLiteralExpr, clang::ObjCForCollectionStmt, clang::ObjCStringLiteral, and clang::CXXCatchStmt.
Definition at line 250 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::ActOnOpenMPLinearClause(), clang::Sema::ActOnOpenMPNumThreadsClause(), clang::Sema::ActOnOpenMPParallelSectionsDirective(), clang::Sema::ActOnOpenMPScheduleClause(), clang::Sema::ActOnOpenMPSectionsDirective(), clang::Sema::AddConversionCandidate(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildArrayType(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNew(), clang::Sema::BuildForRangeBeginEndCall(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildVAArgExpr(), clang::canCalleeThrow(), clang::Sema::CanPerformCopyInitialization(), CastForMoving(), checkArgCount(), CheckArrayDesignatorExpr(), CheckAsmLValue(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckCompareOperands(), checkCondition(), checkConditionalConvertScalarsToVectors(), checkConditionalVoidType(), clang::Sema::CheckConstexprFunctionBody(), CheckConstexprFunctionStmt(), clang::Sema::CheckConvertedConstantExpression(), CheckEvalInICE(), CheckFallThroughForBody(), CheckFoldOperand(), CheckICE(), clang::Sema::CheckImplementationIvars(), CheckNonTypeTemplatePartialSpecializationArgs(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::Sema::CheckObjCBridgeRelatedCast(), clang::Sema::CheckObjCBridgeRelatedConversions(), CheckObjCCollectionLiteralElement(), CheckOpenMPIterationSpace(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::CheckPointerToMemberOperands(), checkRecursiveFunction(), CheckReturnStackAddr(), clang::Sema::CheckSingleAssignmentConstraints(), CheckStringInit(), clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), clang::Sema::checkVariadicArgument(), clang::ento::containsMacro(), ConvertForConditional(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::ento::PathDiagnosticLocation::createEndOfPath(), clang::Sema::CreateGenericSelectionExpr(), CreateIfFixit(), clang::Sema::DeduceAutoType(), clang::Sema::DefaultVariadicArgumentPromotion(), clang::Sema::DiagnoseAlwaysNonNullPointer(), DiagnoseARCUseOfWeakReceiver(), clang::Sema::DiagnoseAssignmentAsCondition(), DiagnoseBitwisePrecedence(), DiagnoseConditionalPrecedence(), clang::Sema::DiagnoseDtorReference(), clang::Sema::DiagnoseEmptyLoopBody(), diagnoseLogicalNotOnLHSofComparison(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), DiagnoseNarrowingInInitList(), diagnoseNoViableConversion(), diagnoseObjCLiteralComparison(), diagnoseRepeatedUseOfWeak(), DiagnoseShiftCompare(), diagnoseStringPlusChar(), diagnoseStringPlusInt(), DiagnoseSwitchLabelsFallthrough(), clang::Sema::DiagnoseUnexpandedParameterPack(), DiagUninitUse(), clang::CodeGen::CodeGenPGO::emitEmptyCounterMapping(), clang::CodeGen::CodeGenFunction::EmitStopPoint(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), EvaluateStmt(), FinishOverloadedCallExpr(), clang::Sema::GatherArgumentsForCall(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCapturedStmtFunction(), getInitializationLoc(), clang::UserDefinedLiteral::getLocStart(), clang::CXXStdInitializerListExpr::getLocStart(), clang::ObjCIvarRefExpr::getLocStart(), clang::MSPropertyRefExpr::getLocStart(), clang::ObjCPropertyRefExpr::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::CompoundLiteralExpr::getLocStart(), clang::ImplicitCastExpr::getLocStart(), clang::ExprWithCleanups::getLocStart(), clang::BinaryOperator::getLocStart(), clang::CXXDependentScopeMemberExpr::getLocStart(), clang::ConditionalOperator::getLocStart(), clang::UnresolvedMemberExpr::getLocStart(), clang::BinaryConditionalOperator::getLocStart(), clang::PackExpansionExpr::getLocStart(), clang::MaterializeTemporaryExpr::getLocStart(), clang::ExtVectorElementExpr::getLocStart(), clang::PseudoObjectExpr::getLocStart(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), GetUnreachableLoc(), getValidSourceLocation(), handleFallThroughAttr(), handleLoopHintAttr(), 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(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::Sema::performLambdaInitCaptureInitialization(), clang::Sema::PerformObjectArgumentInitialization(), clang::ento::ExprEngine::processBranch(), clang::ento::ExprEngine::ProcessStmt(), ProcessStmtAttribute(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), removePunyEdges(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), rewriteToArrayLiteral(), rewriteToDictionaryLiteral(), SearchForReturnInStmt(), SemaBuiltinAnnotation(), clang::Sema::SemaBuiltinShuffleVector(), clang::TreeTransform< Derived >::TransformExceptionSpec(), TryClassUnification(), TryCopyInitialization(), TryLValueToRValueCast(), TryReferenceInitializationCore(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), TryTypoCorrectionForCall(), TryUserDefinedConversion(), clang::Sema::VerifyIntegerConstantExpression(), clang::ento::ExprEngine::Visit(), clang::ASTNodeImporter::VisitExpr(), 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.
Reimplemented in clang::CXXNoexceptExpr, clang::CapturedStmt, clang::CXXNewExpr, clang::CXXUuidofExpr, clang::MSPropertyRefExpr, clang::CXXTypeidExpr, clang::CXXStdInitializerListExpr, clang::ObjCDictionaryLiteral, clang::ObjCArrayLiteral, clang::ObjCBoxedExpr, and clang::CXXOperatorCallExpr.
Definition at line 238 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::ActOnOpenMPNumThreadsClause(), clang::Sema::ActOnOpenMPScheduleClause(), clang::Sema::ActOnParamDefaultArgument(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartLinkageSpecification(), clang::Sema::ActOnStartOfSwitchStmt(), 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(), 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::BuildVAArgExpr(), CastForMoving(), clang::Sema::CheckAddressOfMemberAccess(), clang::Sema::CheckAddressOfOperand(), CheckAlignOfExpr(), checkArgCount(), checkArithmeticIncompletePointerType(), checkArithmeticNull(), checkArithmeticOnObjCPointer(), CheckArrayDesignatorExpr(), CheckAsmLValue(), clang::Sema::CheckBooleanCondition(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckCastAlign(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompleteVariableDeclaration(), checkConditionalBlockPointerCompatibility(), clang::Sema::CheckConditionalOperands(), checkConditionalPointerCompatibility(), checkConditionalVoidType(), clang::Sema::CheckConvertedConstantExpression(), CheckCXX98CompatAccessibleCopy(), clang::Sema::CheckCXXThrowOperand(), checkEnumComparison(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckExceptionSpecCompatibility(), clang::Sema::CheckExtraCXXDefaultArguments(), CheckFoldOperand(), clang::Sema::CheckForConstantInitializer(), CheckForDanglingReferenceOrPointer(), clang::Sema::CheckFormatString(), CheckForModifiableLvalue(), checkFunctionOrMethodParameterIndex(), CheckIncrementDecrementOperand(), checkIndirectCopyRestoreSource(), CheckIndirectionOperand(), CheckKeyForObjCARCConversion(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMemberPointerConversion(), CheckMemorySizeofForComparison(), clang::Sema::CheckMessageArgumentTypes(), clang::Sema::CheckMultiplyDivideOperands(), CheckNonNullArgument(), CheckObjCCollectionLiteralElement(), clang::Sema::CheckObjCForCollectionOperand(), checkObjCPointerIntrospection(), CheckOpenMPIterationSpace(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckPointerConversion(), checkPointerIntegerMismatch(), clang::Sema::CheckPointerToMemberOperands(), clang::Sema::CheckRegparmAttr(), clang::Sema::CheckRemainderOperands(), CheckReturnStackAddr(), clang::Sema::CheckStaticArrayArgument(), CheckStringInit(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), CheckTemplateArgumentIsCompatibleWithParameter(), CheckTemplateArgumentPointerToMember(), checkUInt32Argument(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckUnresolvedLookupAccess(), clang::Sema::CheckUnresolvedMemberAccess(), checkUnsafeAssignLiteral(), checkUnsafeAssignObject(), clang::Sema::checkUnsafeExprAssigns(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVectorOperands(), LogicalErrorHandler::compareAlwaysTrue(), LogicalErrorHandler::compareBitwiseEquality(), clang::Sema::ConvertArgumentsForCall(), convertPointersToCompositeType(), 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(), diagnoseAddressOfInvalidType(), clang::Sema::DiagnoseAlwaysNonNullPointer(), diagnoseAmbiguousConversion(), diagnoseArithmeticOnFunctionPointer(), diagnoseArithmeticOnTwoFunctionPointers(), diagnoseArithmeticOnTwoVoidPointers(), diagnoseArithmeticOnVoidPointer(), clang::Sema::DiagnoseAssignmentAsCondition(), clang::Sema::DiagnoseAssignmentResult(), clang::Sema::DiagnoseAutoDeductionFailure(), diagnoseBadCast(), DiagnoseBadConversion(), DiagnoseBadFunctionCast(), DiagnoseBadShiftValues(), DiagnoseCastOfObjCSEL(), clang::Sema::DiagnoseConditionalForNull(), DiagnoseConditionalPrecedence(), diagnoseDistinctPointerComparison(), clang::Sema::DiagnoseEqualityWithExtraParens(), diagnoseFunctionPointerToVoidComparison(), clang::Sema::DiagnoseMultipleUserDefinedConversion(), DiagnoseNarrowingInInitList(), diagnoseObjCARCConversion(), diagnoseObjCLiteralComparison(), diagnosePointerIncompatibility(), diagnoseRepeatedUseOfWeak(), diagnoseRetainCycle(), DiagnoseSelfAssignment(), DiagnoseShiftCompare(), diagnoseUnknownAnyExpr(), DiagnoseUnusedComparison(), DiagUninitUse(), doRewriteToUTF8StringBoxedExpressionHelper(), emitBug(), clang::CodeGen::CodeGenFunction::EmitCompoundStmt(), clang::CodeGen::CodeGenFunction::EmitCXXForRangeStmt(), EmitDiagnosticForBitwiseAndInBitwiseOr(), EmitDiagnosticForLogicalAndInLogicalOr(), clang::CodeGen::CodeGenFunction::EmitForStmt(), clang::CodeGen::CodeGenFunction::EmitIfStmt(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), EmitOMPIfClause(), clang::CodeGen::CodeGenFunction::EmitOMPSimdDirective(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), EvaluateArrayTypeTrait(), clang::Sema::FinalizeDeclaration(), clang::Sema::FindCompositeObjCPointerType(), FindConditionalOverload(), findRetainCycleOwner(), findTemplateParameter(), finishContextualImplicitConversion(), FinishOverloadedCallExpr(), clang::ento::CallEvent::getArgSourceRange(), clang::ParmVarDecl::getDefaultArgRange(), clang::NonTypeTemplateParmDecl::getDefaultArgumentLoc(), clang::Sema::getExprRange(), getLengthOnSingleLine(), clang::Sema::getPrintable(), clang::ObjCMessageExpr::getReceiverRange(), clang::ento::CallEvent::getSourceRange(), clang::TemplateArgumentLoc::getSourceRange(), clang::CXXStdInitializerListExpr::getSourceRange(), clang::CapturedStmt::getSourceRange(), GetUnreachableLoc(), HandleAddressSpaceTypeAttribute(), clang::Sema::HandleExprPropertyRefExpr(), handleFormatArgAttr(), handleFormatAttr(), handleInitPriorityAttr(), handleMSP430InterruptAttr(), HandleNeonVectorTypeAttr(), handleNonNullAttr(), handleOwnershipAttr(), handleSentinelAttr(), HandleVectorSizeAttr(), handleWorkGroupSize(), clang::Sema::InvalidOperands(), isConfigurationValue(), isNullPointerValueTemplateArgument(), clang::Expr::isUnusedResultAWarning(), LookupMemberExprInRecord(), clang::Sema::MarkBaseAndMemberDestructorsReferenced(), maybePutParensOnReceiver(), objectifyExpr(), 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(), SemaBuiltinMemChkCall(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), clang::TreeTransform< Derived >::TransformExprs(), tryDiagnoseOverloadedCast(), TryReinterpretCast(), clang::ConversionFixItGenerator::tryToFixConversion(), clang::Sema::tryToRecoverWithCall(), clang::Sema::VerifyBitField(), clang::Sema::VerifyIntegerConstantExpression(), warnOnLifetimeExtension(), and warnOnSizeofOnArrayDecay().
StmtClass clang::Stmt::getStmtClass | ( | ) | const [inline] |
Definition at line 355 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::ObjCBoxedExpr::classof(), clang::CXXMemberCallExpr::classof(), clang::ObjCAtFinallyStmt::classof(), clang::ObjCArrayLiteral::classof(), clang::CUDAKernelCallExpr::classof(), clang::OMPExecutableDirective::classof(), clang::CXXForRangeStmt::classof(), clang::CXXNamedCastExpr::classof(), clang::OMPParallelDirective::classof(), clang::CXXStaticCastExpr::classof(), clang::MSDependentExistsStmt::classof(), clang::CXXDynamicCastExpr::classof(), clang::ObjCAtSynchronizedStmt::classof(), clang::CXXReinterpretCastExpr::classof(), clang::ObjCDictionaryLiteral::classof(), clang::ObjCAtThrowStmt::classof(), clang::CXXConstCastExpr::classof(), clang::ObjCAutoreleasePoolStmt::classof(), clang::ObjCEncodeExpr::classof(), clang::OMPLoopDirective::classof(), clang::ObjCSelectorExpr::classof(), clang::UserDefinedLiteral::classof(), clang::CXXBoolLiteralExpr::classof(), clang::ObjCProtocolExpr::classof(), clang::CXXNullPtrLiteralExpr::classof(), clang::DeclStmt::classof(), clang::OMPSimdDirective::classof(), clang::CXXStdInitializerListExpr::classof(), clang::ObjCIvarRefExpr::classof(), clang::NullStmt::classof(), clang::OMPForDirective::classof(), clang::CXXTypeidExpr::classof(), clang::CompoundStmt::classof(), clang::OMPForSimdDirective::classof(), clang::MSPropertyRefExpr::classof(), clang::OMPSectionsDirective::classof(), clang::ObjCPropertyRefExpr::classof(), clang::CXXUuidofExpr::classof(), clang::CaseStmt::classof(), clang::OMPSectionDirective::classof(), clang::DefaultStmt::classof(), clang::CXXThisExpr::classof(), clang::OMPSingleDirective::classof(), clang::Expr::classof(), clang::LabelStmt::classof(), clang::ObjCSubscriptRefExpr::classof(), clang::CXXThrowExpr::classof(), clang::OMPMasterDirective::classof(), clang::AttributedStmt::classof(), clang::OpaqueValueExpr::classof(), clang::OMPCriticalDirective::classof(), clang::CXXDefaultArgExpr::classof(), clang::IfStmt::classof(), clang::CXXDefaultInitExpr::classof(), clang::OMPParallelForDirective::classof(), clang::SwitchStmt::classof(), clang::CXXBindTemporaryExpr::classof(), clang::OMPParallelForSimdDirective::classof(), clang::WhileStmt::classof(), clang::OMPParallelSectionsDirective::classof(), clang::DoStmt::classof(), clang::DeclRefExpr::classof(), clang::OMPTaskDirective::classof(), clang::ForStmt::classof(), clang::PredefinedExpr::classof(), clang::CXXConstructExpr::classof(), clang::OMPTaskyieldDirective::classof(), clang::GotoStmt::classof(), clang::OMPBarrierDirective::classof(), clang::IndirectGotoStmt::classof(), clang::IntegerLiteral::classof(), clang::ContinueStmt::classof(), clang::OMPTaskwaitDirective::classof(), clang::BreakStmt::classof(), clang::CharacterLiteral::classof(), clang::ObjCMessageExpr::classof(), clang::OMPFlushDirective::classof(), clang::ReturnStmt::classof(), clang::FloatingLiteral::classof(), clang::OMPOrderedDirective::classof(), clang::ImaginaryLiteral::classof(), clang::ObjCIsaExpr::classof(), clang::AsmStmt::classof(), clang::OMPAtomicDirective::classof(), clang::ObjCIndirectCopyRestoreExpr::classof(), clang::LambdaExpr::classof(), clang::OMPTargetDirective::classof(), clang::ObjCBridgedCastExpr::classof(), clang::StringLiteral::classof(), clang::CXXScalarValueInitExpr::classof(), clang::OMPTeamsDirective::classof(), clang::ParenExpr::classof(), clang::GCCAsmStmt::classof(), clang::UnaryOperator::classof(), clang::CXXNewExpr::classof(), clang::MSAsmStmt::classof(), clang::SEHExceptStmt::classof(), clang::CXXDeleteExpr::classof(), clang::SEHFinallyStmt::classof(), clang::SEHTryStmt::classof(), clang::OffsetOfExpr::classof(), clang::SEHLeaveStmt::classof(), clang::UnaryExprOrTypeTraitExpr::classof(), clang::ArraySubscriptExpr::classof(), clang::TypeTraitExpr::classof(), clang::CapturedStmt::classof(), clang::ArrayTypeTraitExpr::classof(), clang::ExpressionTraitExpr::classof(), clang::OverloadExpr::classof(), clang::UnresolvedLookupExpr::classof(), clang::MemberExpr::classof(), clang::CompoundLiteralExpr::classof(), clang::DependentScopeDeclRefExpr::classof(), clang::CastExpr::classof(), clang::ImplicitCastExpr::classof(), clang::ExprWithCleanups::classof(), clang::ExplicitCastExpr::classof(), clang::CStyleCastExpr::classof(), clang::CXXUnresolvedConstructExpr::classof(), clang::BinaryOperator::classof(), clang::CompoundAssignOperator::classof(), clang::CXXDependentScopeMemberExpr::classof(), clang::AbstractConditionalOperator::classof(), clang::ConditionalOperator::classof(), clang::UnresolvedMemberExpr::classof(), clang::BinaryConditionalOperator::classof(), clang::CXXNoexceptExpr::classof(), clang::AddrLabelExpr::classof(), clang::StmtExpr::classof(), clang::PackExpansionExpr::classof(), clang::ShuffleVectorExpr::classof(), clang::SizeOfPackExpr::classof(), clang::ConvertVectorExpr::classof(), clang::SubstNonTypeTemplateParmExpr::classof(), clang::ChooseExpr::classof(), clang::SubstNonTypeTemplateParmPackExpr::classof(), clang::GNUNullExpr::classof(), clang::FunctionParmPackExpr::classof(), clang::VAArgExpr::classof(), clang::MaterializeTemporaryExpr::classof(), clang::CXXFoldExpr::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(), 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(), 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::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformExpr(), clang::TreeTransform< Derived >::TransformStmt(), clang::threadSafety::SExprBuilder::translate(), clang::RecursiveASTVisitor< Derived >::TraverseStmt(), clang::StmtVisitorBase< make_ptr, ASTNodeImporter, Stmt * >::Visit(), clang::ento::ExprEngine::Visit(), clang::ento::ConditionBRVisitor::VisitTerminator(), and clang::ento::ConditionBRVisitor::VisitTrueTest().
const char * Stmt::getStmtClassName | ( | ) | const |
Definition at line 57 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().
Stmt * Stmt::IgnoreContainers | ( | bool | IgnoreCaptured = false | ) |
Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.
Definition at line 109 of file Stmt.cpp.
References S.
Referenced by clang::Sema::ActOnOpenMPTargetDirective(), CheckOpenMPLoop(), and clang::OMPLoopDirective::getBody().
Stmt * Stmt::IgnoreImplicit | ( | ) |
Skip past any implicit AST nodes which might surround this statement, such as ExprWithCleanups or ImplicitCastExpr nodes.
Reimplemented in clang::Expr.
void clang::Stmt::operator delete | ( | void * | data | ) | throw () [inline, protected] |
void clang::Stmt::operator delete | ( | void * | , |
const ASTContext & | , | ||
unsigned | |||
) | throw () [inline] |
void clang::Stmt::operator delete | ( | void * | , |
const ASTContext * | , | ||
unsigned | |||
) | throw () [inline] |
void clang::Stmt::operator delete | ( | void * | , |
size_t | |||
) | throw () [inline] |
void clang::Stmt::operator delete | ( | void * | , |
void * | |||
) | throw () [inline] |
void* clang::Stmt::operator new | ( | size_t | bytes | ) | throw () [inline, protected] |
Definition at line 119 of file Stmt.h.
Referenced by operator new().
void * Stmt::operator new | ( | size_t | bytes, |
const ASTContext & | C, | ||
unsigned | alignment = 8 |
||
) |
Definition at line 52 of file Stmt.cpp.
References operator new().
void* clang::Stmt::operator new | ( | size_t | bytes, |
const ASTContext * | C, | ||
unsigned | alignment = 8 |
||
) | [inline] |
Definition at line 318 of file Stmt.h.
References operator new().
void* clang::Stmt::operator new | ( | size_t | bytes, |
void * | mem | ||
) | throw () [inline] |
void Stmt::printPretty | ( | raw_ostream & | OS, |
PrinterHelper * | Helper, | ||
const PrintingPolicy & | Policy, | ||
unsigned | Indentation = 0 |
||
) | const |
Definition at line 2204 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(), llvm::DOTGraphTraits< ExplodedNode * >::getNodeLabel(), clang::operator<<(), clang::ento::Environment::print(), clang::TemplateArgument::print(), print_block(), print_elem(), clang::FunctionProtoType::printExceptionSpecification(), and clang::APValue::printPretty().
void Stmt::PrintStats | ( | ) | [static] |
Definition at line 61 of file Stmt.cpp.
References StmtClassNameTable::Counter, getStmtInfoTableEntry(), StmtClassNameTable::Name, StmtClassNameTable::Size, and StmtClassInfo.
Referenced by clang::ParseAST().
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 1457 of file StmtProfile.cpp.
Referenced by 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 131 of file Stmt.cpp.
References S.
Referenced by stripLabelLikeStatements().
Stmt* clang::Stmt::stripLabelLikeStatements | ( | ) | [inline] |
Definition at line 401 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 class ASTStmtReader [friend] |
Reimplemented in clang::AtomicExpr, clang::PseudoObjectExpr, clang::AsTypeExpr, clang::GenericSelectionExpr, clang::ParenListExpr, clang::InitListExpr, clang::CXXFoldExpr, clang::MaterializeTemporaryExpr, clang::FunctionParmPackExpr, clang::SubstNonTypeTemplateParmPackExpr, clang::SubstNonTypeTemplateParmExpr, clang::ConvertVectorExpr, clang::SizeOfPackExpr, clang::PackExpansionExpr, clang::CXXNoexceptExpr, clang::BinaryConditionalOperator, clang::UnresolvedMemberExpr, clang::ConditionalOperator, clang::CXXDependentScopeMemberExpr, clang::AbstractConditionalOperator, clang::CXXUnresolvedConstructExpr, clang::ExprWithCleanups, clang::DependentScopeDeclRefExpr, clang::UnresolvedLookupExpr, clang::OverloadExpr, clang::ExpressionTraitExpr, clang::ArrayTypeTraitExpr, clang::CapturedStmt, clang::TypeTraitExpr, clang::CXXPseudoDestructorExpr, clang::SEHTryStmt, clang::SEHFinallyStmt, clang::CXXDeleteExpr, clang::SEHExceptStmt, clang::MSAsmStmt, clang::CXXNewExpr, clang::CXXScalarValueInitExpr, clang::OMPTeamsDirective, clang::LambdaExpr, clang::GCCAsmStmt, clang::ObjCBridgedCastExpr, clang::OMPTargetDirective, clang::ObjCIndirectCopyRestoreExpr, clang::StringLiteral, clang::OMPAtomicDirective, clang::AsmStmt, clang::ObjCMessageExpr, clang::OMPOrderedDirective, clang::OMPFlushDirective, clang::CXXTemporaryObjectExpr, clang::OMPTaskwaitDirective, clang::OMPBarrierDirective, clang::CXXConstructExpr, clang::PredefinedExpr, clang::OMPTaskyieldDirective, clang::DeclRefExpr, clang::OMPTaskDirective, clang::OMPParallelSectionsDirective, clang::OMPParallelForSimdDirective, clang::CXXDefaultInitExpr, clang::CXXDefaultArgExpr, clang::OMPParallelForDirective, clang::OMPCriticalDirective, clang::ObjCSubscriptRefExpr, clang::AttributedStmt, clang::OpaqueValueExpr, clang::CXXThrowExpr, clang::OMPMasterDirective, clang::OMPSingleDirective, clang::ObjCPropertyRefExpr, clang::OMPSectionDirective, clang::MSPropertyRefExpr, clang::OMPSectionsDirective, clang::OMPForSimdDirective, clang::CompoundStmt, clang::NullStmt, clang::CXXStdInitializerListExpr, clang::OMPForDirective, clang::ObjCProtocolExpr, clang::UserDefinedLiteral, clang::OMPSimdDirective, clang::ObjCDictionaryLiteral, clang::OMPLoopDirective, clang::MSDependentExistsStmt, clang::CXXNamedCastExpr, clang::ObjCArrayLiteral, clang::ObjCBoxedExpr, clang::CXXTryStmt, clang::CXXOperatorCallExpr, clang::CXXCatchStmt, and clang::OMPExecutableDirective.
friend class ASTStmtWriter [friend] |
Reimplemented in clang::ParenListExpr, clang::InitListExpr, clang::CXXFoldExpr, clang::MaterializeTemporaryExpr, clang::SizeOfPackExpr, clang::PackExpansionExpr, clang::CXXDependentScopeMemberExpr, clang::DependentScopeDeclRefExpr, clang::MemberExpr, clang::OverloadExpr, clang::TypeTraitExpr, clang::CXXNewExpr, clang::LambdaExpr, clang::ObjCBridgedCastExpr, clang::ObjCMessageExpr, clang::DeclRefExpr, clang::CXXDefaultArgExpr, clang::ObjCPropertyRefExpr, clang::NullStmt, clang::ObjCProtocolExpr, clang::UserDefinedLiteral, clang::ObjCDictionaryLiteral, and clang::CXXOperatorCallExpr.
union { ... } [protected] |
void* clang::Stmt::Aligner |
Definition at line 301 of file Stmt.h.
Referenced by clang::CallExpr::CallExpr(), and clang::CallExpr::getNumPreArgs().
Definition at line 300 of file Stmt.h.
Referenced by clang::CastExpr::CastExpr(), clang::CastExpr::getCastKind(), clang::CastExpr::path_empty(), clang::CastExpr::path_size(), and clang::CastExpr::setCastKind().
Definition at line 296 of file Stmt.h.
Referenced by clang::CharacterLiteral::CharacterLiteral(), clang::CharacterLiteral::getKind(), and clang::CharacterLiteral::setKind().
Definition at line 294 of file Stmt.h.
Referenced by clang::CompoundStmt::body_empty(), clang::CompoundStmt::children(), clang::CompoundStmt::CompoundStmt(), clang::CompoundStmt::setStmts(), and clang::CompoundStmt::size().
Definition at line 299 of file Stmt.h.
Referenced by clang::DeclRefExpr::DeclRefExpr(), clang::DeclRefExpr::hadMultipleCandidates(), clang::DeclRefExpr::hasQualifier(), clang::DeclRefExpr::hasTemplateKWAndArgsInfo(), clang::DeclRefExpr::refersToEnclosingLocal(), and clang::DeclRefExpr::setHadMultipleCandidates().
Definition at line 295 of file Stmt.h.
Referenced by clang::AtomicExpr::AtomicExpr(), clang::CallExpr::CallExpr(), 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().
Definition at line 302 of file Stmt.h.
Referenced by clang::ExprWithCleanups::getNumObjects().
Definition at line 297 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().
Definition at line 305 of file Stmt.h.
Referenced by clang::InitListExpr::hadArrayRangeDesignator(), and clang::InitListExpr::sawArrayRangeDesignator().
Definition at line 304 of file Stmt.h.
Referenced by clang::ObjCIndirectCopyRestoreExpr::shouldCopy().
Definition at line 303 of file Stmt.h.
Referenced by clang::PseudoObjectExpr::getResultExpr(), and clang::PseudoObjectExpr::getResultExprIndex().
Definition at line 293 of file Stmt.h.
Referenced by getStmtClass(), getStmtClassName(), and Stmt().
Definition at line 306 of file Stmt.h.
Referenced by clang::TypeTraitExpr::getNumArgs(), clang::TypeTraitExpr::getTrait(), and clang::TypeTraitExpr::getValue().
Definition at line 298 of file Stmt.h.
Referenced by clang::UnaryExprOrTypeTraitExpr::getKind(), clang::UnaryExprOrTypeTraitExpr::isArgumentType(), clang::UnaryExprOrTypeTraitExpr::setArgument(), clang::UnaryExprOrTypeTraitExpr::setKind(), and clang::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr().