Lines Matching defs:StmtPrinter

1 //===- StmtPrinter.cpp - Printing implementation for Stmt ASTs ------------===//
63 // StmtPrinter Visitor
68 class StmtPrinter : public StmtVisitor<StmtPrinter> {
77 StmtPrinter(raw_ostream &os, PrinterHelper *helper,
150 else StmtVisitor<StmtPrinter>::Visit(S);
177 void StmtPrinter::PrintRawCompoundStmt(CompoundStmt *Node) {
187 void StmtPrinter::PrintFPPragmas(CompoundStmt *S) {
247 void StmtPrinter::PrintRawDecl(Decl *D) {
251 void StmtPrinter::PrintRawDeclStmt(const DeclStmt *S) {
256 void StmtPrinter::VisitNullStmt(NullStmt *Node) {
260 void StmtPrinter::VisitDeclStmt(DeclStmt *Node) {
266 void StmtPrinter::VisitCompoundStmt(CompoundStmt *Node) {
272 void StmtPrinter::VisitCaseStmt(CaseStmt *Node) {
284 void StmtPrinter::VisitDefaultStmt(DefaultStmt *Node) {
289 void StmtPrinter::VisitLabelStmt(LabelStmt *Node) {
294 void StmtPrinter::VisitAttributedStmt(AttributedStmt *Node) {
305 void StmtPrinter::PrintRawIfStmt(IfStmt *If) {
358 void StmtPrinter::VisitIfStmt(IfStmt *If) {
363 void StmtPrinter::VisitSwitchStmt(SwitchStmt *Node) {
375 void StmtPrinter::VisitWhileStmt(WhileStmt *Node) {
385 void StmtPrinter::VisitDoStmt(DoStmt *Node) {
401 void StmtPrinter::VisitForStmt(ForStmt *Node) {
420 void StmtPrinter::VisitObjCForCollectionStmt(ObjCForCollectionStmt *Node) {
432 void StmtPrinter::VisitCXXForRangeStmt(CXXForRangeStmt *Node) {
445 void StmtPrinter::VisitMSDependentExistsStmt(MSDependentExistsStmt *Node) {
461 void StmtPrinter::VisitGotoStmt(GotoStmt *Node) {
466 void StmtPrinter::VisitIndirectGotoStmt(IndirectGotoStmt *Node) {
473 void StmtPrinter::VisitContinueStmt(ContinueStmt *Node) {
478 void StmtPrinter::VisitBreakStmt(BreakStmt *Node) {
483 void StmtPrinter::VisitReturnStmt(ReturnStmt *Node) {
493 void StmtPrinter::VisitGCCAsmStmt(GCCAsmStmt *Node) {
572 void StmtPrinter::VisitMSAsmStmt(MSAsmStmt *Node) {
582 void StmtPrinter::VisitCapturedStmt(CapturedStmt *Node) {
586 void StmtPrinter::VisitObjCAtTryStmt(ObjCAtTryStmt *Node) {
613 void StmtPrinter::VisitObjCAtFinallyStmt(ObjCAtFinallyStmt *Node) {
616 void StmtPrinter::VisitObjCAtCatchStmt (ObjCAtCatchStmt *Node) {
620 void StmtPrinter::VisitObjCAtThrowStmt(ObjCAtThrowStmt *Node) {
629 void StmtPrinter::VisitObjCAvailabilityCheckExpr(
634 void StmtPrinter::VisitObjCAtSynchronizedStmt(ObjCAtSynchronizedStmt *Node) {
642 void StmtPrinter::VisitObjCAutoreleasePoolStmt(ObjCAutoreleasePoolStmt *Node) {
648 void StmtPrinter::PrintRawCXXCatchStmt(CXXCatchStmt *Node) {
658 void StmtPrinter::VisitCXXCatchStmt(CXXCatchStmt *Node) {
664 void StmtPrinter::VisitCXXTryStmt(CXXTryStmt *Node) {
674 void StmtPrinter::VisitSEHTryStmt(SEHTryStmt *Node) {
688 void StmtPrinter::PrintRawSEHFinallyStmt(SEHFinallyStmt *Node) {
694 void StmtPrinter::PrintRawSEHExceptHandler(SEHExceptStmt *Node) {
702 void StmtPrinter::VisitSEHExceptStmt(SEHExceptStmt *Node) {
708 void StmtPrinter::VisitSEHFinallyStmt(SEHFinallyStmt *Node) {
714 void StmtPrinter::VisitSEHLeaveStmt(SEHLeaveStmt *Node) {
723 void StmtPrinter::VisitOMPCanonicalLoop(OMPCanonicalLoop *Node) {
727 void StmtPrinter::PrintOMPExecutableDirective(OMPExecutableDirective *S,
741 void StmtPrinter::VisitOMPMetaDirective(OMPMetaDirective *Node) {
746 void StmtPrinter::VisitOMPParallelDirective(OMPParallelDirective *Node) {
751 void StmtPrinter::VisitOMPSimdDirective(OMPSimdDirective *Node) {
756 void StmtPrinter::VisitOMPTileDirective(OMPTileDirective *Node) {
761 void StmtPrinter::VisitOMPUnrollDirective(OMPUnrollDirective *Node) {
766 void StmtPrinter::VisitOMPReverseDirective(OMPReverseDirective *Node) {
771 void StmtPrinter::VisitOMPInterchangeDirective(OMPInterchangeDirective *Node) {
776 void StmtPrinter::VisitOMPForDirective(OMPForDirective *Node) {
781 void StmtPrinter::VisitOMPForSimdDirective(OMPForSimdDirective *Node) {
786 void StmtPrinter::VisitOMPSectionsDirective(OMPSectionsDirective *Node) {
791 void StmtPrinter::VisitOMPSectionDirective(OMPSectionDirective *Node) {
796 void StmtPrinter::VisitOMPScopeDirective(OMPScopeDirective *Node) {
801 void StmtPrinter::VisitOMPSingleDirective(OMPSingleDirective *Node) {
806 void StmtPrinter::VisitOMPMasterDirective(OMPMasterDirective *Node) {
811 void StmtPrinter::VisitOMPCriticalDirective(OMPCriticalDirective *Node) {
821 void StmtPrinter::VisitOMPParallelForDirective(OMPParallelForDirective *Node) {
826 void StmtPrinter::VisitOMPParallelForSimdDirective(
832 void StmtPrinter::VisitOMPParallelMasterDirective(
838 void StmtPrinter::VisitOMPParallelMaskedDirective(
844 void StmtPrinter::VisitOMPParallelSectionsDirective(
850 void StmtPrinter::VisitOMPTaskDirective(OMPTaskDirective *Node) {
855 void StmtPrinter::VisitOMPTaskyieldDirective(OMPTaskyieldDirective *Node) {
860 void StmtPrinter::VisitOMPBarrierDirective(OMPBarrierDirective *Node) {
865 void StmtPrinter::VisitOMPTaskwaitDirective(OMPTaskwaitDirective *Node) {
870 void StmtPrinter::VisitOMPErrorDirective(OMPErrorDirective *Node) {
875 void StmtPrinter::VisitOMPTaskgroupDirective(OMPTaskgroupDirective *Node) {
880 void StmtPrinter::VisitOMPFlushDirective(OMPFlushDirective *Node) {
885 void StmtPrinter::VisitOMPDepobjDirective(OMPDepobjDirective *Node) {
890 void StmtPrinter::VisitOMPScanDirective(OMPScanDirective *Node) {
895 void StmtPrinter::VisitOMPOrderedDirective(OMPOrderedDirective *Node) {
900 void StmtPrinter::VisitOMPAtomicDirective(OMPAtomicDirective *Node) {
905 void StmtPrinter::VisitOMPTargetDirective(OMPTargetDirective *Node) {
910 void StmtPrinter::VisitOMPTargetDataDirective(OMPTargetDataDirective *Node) {
915 void StmtPrinter::VisitOMPTargetEnterDataDirective(
921 void StmtPrinter::VisitOMPTargetExitDataDirective(
927 void StmtPrinter::VisitOMPTargetParallelDirective(
933 void StmtPrinter::VisitOMPTargetParallelForDirective(
939 void StmtPrinter::VisitOMPTeamsDirective(OMPTeamsDirective *Node) {
944 void StmtPrinter::VisitOMPCancellationPointDirective(
951 void StmtPrinter::VisitOMPCancelDirective(OMPCancelDirective *Node) {
957 void StmtPrinter::VisitOMPTaskLoopDirective(OMPTaskLoopDirective *Node) {
962 void StmtPrinter::VisitOMPTaskLoopSimdDirective(
968 void StmtPrinter::VisitOMPMasterTaskLoopDirective(
974 void StmtPrinter::VisitOMPMaskedTaskLoopDirective(
980 void StmtPrinter::VisitOMPMasterTaskLoopSimdDirective(
986 void StmtPrinter::VisitOMPMaskedTaskLoopSimdDirective(
992 void StmtPrinter::VisitOMPParallelMasterTaskLoopDirective(
998 void StmtPrinter::VisitOMPParallelMaskedTaskLoopDirective(
1004 void StmtPrinter::VisitOMPParallelMasterTaskLoopSimdDirective(
1010 void StmtPrinter::VisitOMPParallelMaskedTaskLoopSimdDirective(
1016 void StmtPrinter::VisitOMPDistributeDirective(OMPDistributeDirective *Node) {
1021 void StmtPrinter::VisitOMPTargetUpdateDirective(
1027 void StmtPrinter::VisitOMPDistributeParallelForDirective(
1033 void StmtPrinter::VisitOMPDistributeParallelForSimdDirective(
1039 void StmtPrinter::VisitOMPDistributeSimdDirective(
1045 void StmtPrinter::VisitOMPTargetParallelForSimdDirective(
1051 void StmtPrinter::VisitOMPTargetSimdDirective(OMPTargetSimdDirective *Node) {
1056 void StmtPrinter::VisitOMPTeamsDistributeDirective(
1062 void StmtPrinter::VisitOMPTeamsDistributeSimdDirective(
1068 void StmtPrinter::VisitOMPTeamsDistributeParallelForSimdDirective(
1074 void StmtPrinter::VisitOMPTeamsDistributeParallelForDirective(
1080 void StmtPrinter::VisitOMPTargetTeamsDirective(OMPTargetTeamsDirective *Node) {
1085 void StmtPrinter::VisitOMPTargetTeamsDistributeDirective(
1091 void StmtPrinter::VisitOMPTargetTeamsDistributeParallelForDirective(
1097 void StmtPrinter::VisitOMPTargetTeamsDistributeParallelForSimdDirective(
1103 void StmtPrinter::VisitOMPTargetTeamsDistributeSimdDirective(
1109 void StmtPrinter::VisitOMPInteropDirective(OMPInteropDirective *Node) {
1114 void StmtPrinter::VisitOMPDispatchDirective(OMPDispatchDirective *Node) {
1119 void StmtPrinter::VisitOMPMaskedDirective(OMPMaskedDirective *Node) {
1124 void StmtPrinter::VisitOMPGenericLoopDirective(OMPGenericLoopDirective *Node) {
1129 void StmtPrinter::VisitOMPTeamsGenericLoopDirective(
1135 void StmtPrinter::VisitOMPTargetTeamsGenericLoopDirective(
1141 void StmtPrinter::VisitOMPParallelGenericLoopDirective(
1147 void StmtPrinter::VisitOMPTargetParallelGenericLoopDirective(
1156 void StmtPrinter::VisitOpenACCComputeConstruct(OpenACCComputeConstruct *S) {
1169 void StmtPrinter::VisitOpenACCLoopConstruct(OpenACCLoopConstruct *S) {
1186 void StmtPrinter::VisitSourceLocExpr(SourceLocExpr *Node) {
1190 void StmtPrinter::VisitEmbedExpr(EmbedExpr *Node) {
1194 void StmtPrinter::VisitConstantExpr(ConstantExpr *Node) {
1198 void StmtPrinter::VisitDeclRefExpr(DeclRefExpr *Node) {
1226 void StmtPrinter::VisitDependentScopeDeclRefExpr(
1237 void StmtPrinter::VisitUnresolvedLookupExpr(UnresolvedLookupExpr *Node) {
1258 void StmtPrinter::VisitObjCIvarRefExpr(ObjCIvarRefExpr *Node) {
1269 void StmtPrinter::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node) {
1289 void StmtPrinter::VisitObjCSubscriptRefExpr(ObjCSubscriptRefExpr *Node) {
1296 void StmtPrinter::VisitSYCLUniqueStableNameExpr(
1303 void StmtPrinter::VisitPredefinedExpr(PredefinedExpr *Node) {
1307 void StmtPrinter::VisitCharacterLiteral(CharacterLiteral *Node) {
1328 void StmtPrinter::VisitIntegerLiteral(IntegerLiteral *Node) {
1364 void StmtPrinter::VisitFixedPointLiteral(FixedPointLiteral *Node) {
1410 void StmtPrinter::VisitFloatingLiteral(FloatingLiteral *Node) {
1416 void StmtPrinter::VisitImaginaryLiteral(ImaginaryLiteral *Node) {
1421 void StmtPrinter::VisitStringLiteral(StringLiteral *Str) {
1425 void StmtPrinter::VisitParenExpr(ParenExpr *Node) {
1431 void StmtPrinter::VisitUnaryOperator(UnaryOperator *Node) {
1457 void StmtPrinter::VisitOffsetOfExpr(OffsetOfExpr *Node) {
1491 void StmtPrinter::VisitUnaryExprOrTypeTraitExpr(
1515 void StmtPrinter::VisitGenericSelectionExpr(GenericSelectionExpr *Node) {
1535 void StmtPrinter::VisitArraySubscriptExpr(ArraySubscriptExpr *Node) {
1542 void StmtPrinter::VisitMatrixSubscriptExpr(MatrixSubscriptExpr *Node) {
1552 void StmtPrinter::VisitArraySectionExpr(ArraySectionExpr *Node) {
1570 void StmtPrinter::VisitOMPArrayShapingExpr(OMPArrayShapingExpr *Node) {
1581 void StmtPrinter::VisitOMPIteratorExpr(OMPIteratorExpr *Node) {
1601 void StmtPrinter::PrintCallArgs(CallExpr *Call) {
1613 void StmtPrinter::VisitCallExpr(CallExpr *Call) {
1626 void StmtPrinter::VisitMemberExpr(MemberExpr *Node) {
1660 void StmtPrinter::VisitObjCIsaExpr(ObjCIsaExpr *Node) {
1665 void StmtPrinter::VisitExtVectorElementExpr(ExtVectorElementExpr *Node) {
1671 void StmtPrinter::VisitCStyleCastExpr(CStyleCastExpr *Node) {
1678 void StmtPrinter::VisitCompoundLiteralExpr(CompoundLiteralExpr *Node) {
1685 void StmtPrinter::VisitImplicitCastExpr(ImplicitCastExpr *Node) {
1690 void StmtPrinter::VisitBinaryOperator(BinaryOperator *Node) {
1696 void StmtPrinter::VisitCompoundAssignOperator(CompoundAssignOperator *Node) {
1702 void StmtPrinter::VisitConditionalOperator(ConditionalOperator *Node) {
1713 StmtPrinter::VisitBinaryConditionalOperator(BinaryConditionalOperator *Node) {
1719 void StmtPrinter::VisitAddrLabelExpr(AddrLabelExpr *Node) {
1723 void StmtPrinter::VisitStmtExpr(StmtExpr *E) {
1729 void StmtPrinter::VisitChooseExpr(ChooseExpr *Node) {
1739 void StmtPrinter::VisitGNUNullExpr(GNUNullExpr *) {
1743 void StmtPrinter::VisitShuffleVectorExpr(ShuffleVectorExpr *Node) {
1752 void StmtPrinter::VisitConvertVectorExpr(ConvertVectorExpr *Node) {
1760 void StmtPrinter::VisitInitListExpr(InitListExpr* Node) {
1777 void StmtPrinter::VisitArrayInitLoopExpr(ArrayInitLoopExpr *Node) {
1785 void StmtPrinter::VisitArrayInitIndexExpr(ArrayInitIndexExpr *Node) {
1789 void StmtPrinter::VisitParenListExpr(ParenListExpr* Node) {
1798 void StmtPrinter::VisitDesignatedInitExpr(DesignatedInitExpr *Node) {
1830 void StmtPrinter::VisitDesignatedInitUpdateExpr(
1842 void StmtPrinter::VisitNoInitExpr(NoInitExpr *Node) {
1846 void StmtPrinter::VisitImplicitValueInitExpr(ImplicitValueInitExpr *Node) {
1862 void StmtPrinter::VisitVAArgExpr(VAArgExpr *Node) {
1870 void StmtPrinter::VisitPseudoObjectExpr(PseudoObjectExpr *Node) {
1874 void StmtPrinter::VisitAtomicExpr(AtomicExpr *Node) {
1919 void StmtPrinter::VisitCXXOperatorCallExpr(CXXOperatorCallExpr *Node) {
1953 void StmtPrinter::VisitCXXMemberCallExpr(CXXMemberCallExpr *Node) {
1963 void StmtPrinter::VisitCUDAKernelCallExpr(CUDAKernelCallExpr *Node) {
1972 void StmtPrinter::VisitCXXRewrittenBinaryOperator(
1981 void StmtPrinter::VisitCXXNamedCastExpr(CXXNamedCastExpr *Node) {
1989 void StmtPrinter::VisitCXXStaticCastExpr(CXXStaticCastExpr *Node) {
1993 void StmtPrinter::VisitCXXDynamicCastExpr(CXXDynamicCastExpr *Node) {
1997 void StmtPrinter::VisitCXXReinterpretCastExpr(CXXReinterpretCastExpr *Node) {
2001 void StmtPrinter::VisitCXXConstCastExpr(CXXConstCastExpr *Node) {
2005 void StmtPrinter::VisitBuiltinBitCastExpr(BuiltinBitCastExpr *Node) {
2013 void StmtPrinter::VisitCXXAddrspaceCastExpr(CXXAddrspaceCastExpr *Node) {
2017 void StmtPrinter::VisitCXXTypeidExpr(CXXTypeidExpr *Node) {
2027 void StmtPrinter::VisitCXXUuidofExpr(CXXUuidofExpr *Node) {
2037 void StmtPrinter::VisitMSPropertyRefExpr(MSPropertyRefExpr *Node) {
2049 void StmtPrinter::VisitMSPropertySubscriptExpr(MSPropertySubscriptExpr *Node) {
2056 void StmtPrinter::VisitUserDefinedLiteral(UserDefinedLiteral *Node) {
2105 void StmtPrinter::VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *Node) {
2109 void StmtPrinter::VisitCXXNullPtrLiteralExpr(CXXNullPtrLiteralExpr *Node) {
2113 void StmtPrinter::VisitCXXThisExpr(CXXThisExpr *Node) {
2117 void StmtPrinter::VisitCXXThrowExpr(CXXThrowExpr *Node) {
2126 void StmtPrinter::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *Node) {
2130 void StmtPrinter::VisitCXXDefaultInitExpr(CXXDefaultInitExpr *Node) {
2134 void StmtPrinter::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *Node) {
2154 void StmtPrinter::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *Node) {
2158 void StmtPrinter::VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *Node) {
2183 void StmtPrinter::VisitLambdaExpr(LambdaExpr *Node) {
2310 void StmtPrinter::VisitCXXScalarValueInitExpr(CXXScalarValueInitExpr *Node) {
2318 void StmtPrinter::VisitCXXNewExpr(CXXNewExpr *E) {
2360 void StmtPrinter::VisitCXXDeleteExpr(CXXDeleteExpr *E) {
2369 void StmtPrinter::VisitCXXPseudoDestructorExpr(CXXPseudoDestructorExpr *E) {
2385 void StmtPrinter::VisitCXXConstructExpr(CXXConstructExpr *E) {
2403 void StmtPrinter::VisitCXXInheritedCtorInitExpr(CXXInheritedCtorInitExpr *E) {
2408 void StmtPrinter::VisitCXXStdInitializerListExpr(CXXStdInitializerListExpr *E) {
2412 void StmtPrinter::VisitExprWithCleanups(ExprWithCleanups *E) {
2417 void StmtPrinter::VisitCXXUnresolvedConstructExpr(
2432 void StmtPrinter::VisitCXXDependentScopeMemberExpr(
2447 void StmtPrinter::VisitUnresolvedMemberExpr(UnresolvedMemberExpr *Node) {
2461 void StmtPrinter::VisitTypeTraitExpr(TypeTraitExpr *E) {
2471 void StmtPrinter::VisitArrayTypeTraitExpr(ArrayTypeTraitExpr *E) {
2477 void StmtPrinter::VisitExpressionTraitExpr(ExpressionTraitExpr *E) {
2483 void StmtPrinter::VisitCXXNoexceptExpr(CXXNoexceptExpr *E) {
2489 void StmtPrinter::VisitPackExpansionExpr(PackExpansionExpr *E) {
2494 void StmtPrinter::VisitSizeOfPackExpr(SizeOfPackExpr *E) {
2498 void StmtPrinter::VisitPackIndexingExpr(PackIndexingExpr *E) {
2502 void StmtPrinter::VisitSubstNonTypeTemplateParmPackExpr(
2507 void StmtPrinter::VisitSubstNonTypeTemplateParmExpr(
2512 void StmtPrinter::VisitFunctionParmPackExpr(FunctionParmPackExpr *E) {
2516 void StmtPrinter::VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *Node){
2520 void StmtPrinter::VisitCXXFoldExpr(CXXFoldExpr *E) {
2534 void StmtPrinter::VisitCXXParenListInitExpr(CXXParenListInitExpr *Node) {
2541 void StmtPrinter::VisitConceptSpecializationExpr(ConceptSpecializationExpr *E) {
2553 void StmtPrinter::VisitRequiresExpr(RequiresExpr *E) {
2609 void StmtPrinter::VisitCoroutineBodyStmt(CoroutineBodyStmt *S) {
2613 void StmtPrinter::VisitCoreturnStmt(CoreturnStmt *S) {
2622 void StmtPrinter::VisitCoawaitExpr(CoawaitExpr *S) {
2627 void StmtPrinter::VisitDependentCoawaitExpr(DependentCoawaitExpr *S) {
2632 void StmtPrinter::VisitCoyieldExpr(CoyieldExpr *S) {
2639 void StmtPrinter::VisitObjCStringLiteral(ObjCStringLiteral *Node) {
2644 void StmtPrinter::VisitObjCBoxedExpr(ObjCBoxedExpr *E) {
2649 void StmtPrinter::VisitObjCArrayLiteral(ObjCArrayLiteral *E) {
2660 void StmtPrinter::VisitObjCDictionaryLiteral(ObjCDictionaryLiteral *E) {
2676 void StmtPrinter::VisitObjCEncodeExpr(ObjCEncodeExpr *Node) {
2682 void StmtPrinter::VisitObjCSelectorExpr(ObjCSelectorExpr *Node) {
2688 void StmtPrinter::VisitObjCProtocolExpr(ObjCProtocolExpr *Node) {
2692 void StmtPrinter::VisitObjCMessageExpr(ObjCMessageExpr *Mess) {
2730 void StmtPrinter::VisitObjCBoolLiteralExpr(ObjCBoolLiteralExpr *Node) {
2735 StmtPrinter::VisitObjCIndirectCopyRestoreExpr(ObjCIndirectCopyRestoreExpr *E) {
2740 StmtPrinter::VisitObjCBridgedCastExpr(ObjCBridgedCastExpr *E) {
2747 void StmtPrinter::VisitBlockExpr(BlockExpr *Node) {
2774 void StmtPrinter::VisitOpaqueValueExpr(OpaqueValueExpr *Node) {
2778 void StmtPrinter::VisitTypoExpr(TypoExpr *Node) {
2783 void StmtPrinter::VisitRecoveryExpr(RecoveryExpr *Node) {
2794 void StmtPrinter::VisitAsTypeExpr(AsTypeExpr *Node) {
2813 StmtPrinter P(Out, Helper, Policy, Indentation, NL, Context);
2821 StmtPrinter P(Out, Helper, Policy, Indentation, NL, Context);