Lines Matching refs:Walk
82 Walk(x.label, " "); in Before()
91 Walk("", x.v, "\n"); // put blank lines between ProgramUnits in Unparse()
142 Word("TYPE("), Walk(x.derived), Put(')'); in Unparse()
145 Word("CLASS("), Walk(x.derived), Put(')'); in Unparse()
150 Word("RECORD/"), Walk(x.v), Put('/'); in Unparse()
171 Put('('), Word("KIND="), Walk(y), Put(')'); in Unparse()
173 [&](const KindSelector::StarSize &y) { Put('*'), Walk(y.v); }, in Unparse()
179 Walk("_", std::get<std::optional<KindParam>>(x.t)); in Unparse()
183 Walk("_", std::get<std::optional<KindParam>>(x.t)); in Unparse()
189 Put(x.real.source.ToString()), Walk("_", x.kind); in Unparse()
192 Put('('), Walk(x.t, ","), Put(')'); in Unparse()
195 Put('('), Word("KIND="), Walk(x.kind); in Unparse()
196 Walk(", LEN=", x.length), Put(')'); in Unparse()
201 Put('('), Word("LEN="), Walk(y), Put(')'); in Unparse()
203 [&](const CharLength &y) { Put('*'), Walk(y); }, in Unparse()
210 [&](const TypeParamValue &y) { Put('('), Walk(y), Put(')'); }, in Unparse()
211 [&](const std::int64_t &y) { Walk(y); }, in Unparse()
218 Walk(*k), Put('_'); in Unparse()
235 Walk("_", std::get<std::optional<KindParam>>(x.t)); in Unparse()
238 Word("TYPE"), Walk(", ", std::get<std::list<TypeAttrSpec>>(x.t), ", "); in Unparse()
239 Put(" :: "), Walk(std::get<Name>(x.t)); in Unparse()
240 Walk("(", std::get<std::list<Name>>(x.t), ", ", ")"); in Unparse()
248 Word("EXTENDS("), Walk(x.v), Put(')'); in Unparse()
251 Outdent(), Word("END TYPE"), Walk(" ", x.v); in Unparse()
257 Walk(std::get<IntegerTypeSpec>(x.t)); in Unparse()
258 Put(", "), Walk(std::get<common::TypeParamAttr>(x.t)); in Unparse()
259 Put(" :: "), Walk(std::get<std::list<TypeParamDecl>>(x.t), ", "); in Unparse()
262 Walk(std::get<Name>(x.t)); in Unparse()
263 Walk("=", std::get<std::optional<ScalarIntConstantExpr>>(x.t)); in Unparse()
269 Walk(dts), Walk(", ", attrs, ", "); in Unparse()
290 Put(' '), Walk(decls, ", "); in Unparse()
314 Walk(std::get<ObjectName>(x.t)); in Unparse()
315 Walk("(", std::get<std::optional<ComponentArraySpec>>(x.t), ")"); in Unparse()
316 Walk("[", std::get<std::optional<CoarraySpec>>(x.t), "]"); in Unparse()
317 Walk("*", std::get<std::optional<CharLength>>(x.t)); in Unparse()
318 Walk(std::get<std::optional<Initialization>>(x.t)); in Unparse()
322 Walk("(", std::get<std::optional<ComponentArraySpec>>(x.t), ")"); in Unparse()
323 Walk("*", std::get<std::optional<CharLength>>(x.t)); in Unparse()
328 [&](const std::list<ExplicitShapeSpec> &y) { Walk(y, ","); }, in Unparse()
329 [&](const DeferredShapeSpecList &y) { Walk(y); }, in Unparse()
335 Walk(std::get<std::optional<ProcInterface>>(x.t)), Put(')'); in Unparse()
336 Walk(", ", std::get<std::list<ProcComponentAttrSpec>>(x.t), ", "); in Unparse()
337 Put(" :: "), Walk(std::get<std::list<ProcDecl>>(x.t), ", "); in Unparse()
342 void Unparse(const Pass &x) { Word("PASS"), Walk("(", x.v, ")"); } in Unparse()
346 [&](const ConstantExpr &y) { Put(" = "), Walk(y); }, in Unparse()
347 [&](const NullInit &y) { Put(" => "), Walk(y); }, in Unparse()
348 [&](const InitialDataTarget &y) { Put(" => "), Walk(y); }, in Unparse()
350 Walk("/", y, ", ", "/"); in Unparse()
359 Word("PROCEDURE"), Walk(", ", x.attributes, ", "); in Unparse()
360 Put(" :: "), Walk(x.declarations, ", "); in Unparse()
363 Word("PROCEDURE("), Walk(x.interfaceName), Put("), "); in Unparse()
364 Walk(x.attributes); in Unparse()
365 Put(" :: "), Walk(x.bindingNames, ", "); in Unparse()
368 Walk(std::get<Name>(x.t)); in Unparse()
369 Walk(" => ", std::get<std::optional<Name>>(x.t)); in Unparse()
372 Word("GENERIC"), Walk(", ", std::get<std::optional<AccessSpec>>(x.t)); in Unparse()
373 Put(" :: "), Walk(std::get<common::Indirection<GenericSpec>>(x.t)); in Unparse()
374 Put(" => "), Walk(std::get<std::list<Name>>(x.t), ", "); in Unparse()
379 Word("FINAL :: "), Walk(x.v, ", "); in Unparse()
382 Walk(std::get<Name>(x.t)); in Unparse()
383 Walk("(", std::get<std::list<TypeParamSpec>>(x.t), ",", ")"); in Unparse()
386 Walk(std::get<std::optional<Keyword>>(x.t), "="); in Unparse()
387 Walk(std::get<TypeParamValue>(x.t)); in Unparse()
390 Walk(std::get<DerivedTypeSpec>(x.t)); in Unparse()
391 Put('('), Walk(std::get<std::list<ComponentSpec>>(x.t), ", "), Put(')'); in Unparse()
394 Walk(std::get<std::optional<Keyword>>(x.t), "="); in Unparse()
395 Walk(std::get<ComponentDataSource>(x.t)); in Unparse()
401 Word("ENUMERATOR :: "), Walk(x.v, ", "); in Unparse()
404 Walk(std::get<NamedConstant>(x.t)); in Unparse()
405 Walk(" = ", std::get<std::optional<ScalarIntConstantExpr>>(x.t)); in Unparse()
414 Walk(std::get<0>(x.t)), Put(':'), Walk(std::get<1>(x.t)); in Unparse()
415 Walk(":", std::get<std::optional<ScalarIntExpr>>(x.t)); in Unparse()
418 Put('['), Walk(x.v), Put(']'); in Unparse()
421 Walk(x.type, "::"), Walk(x.values, ", "); in Unparse()
424 Walk(x.name), Put('='), Walk(x.lower), Put(','), Walk(x.upper); in Unparse()
425 Walk(",", x.step); in Unparse()
428 Put('('), Walk(std::get<std::list<AcValue>>(x.t), ", "); in Unparse()
429 Put(", "), Walk(std::get<AcImpliedDoControl>(x.t)), Put(')'); in Unparse()
432 Walk(std::get<std::optional<IntegerTypeSpec>>(x.t), "::"); in Unparse()
433 Walk(std::get<AcImpliedDoControl::Bounds>(x.t)); in Unparse()
440 Walk(dts), Walk(", ", attrs, ", "); in Unparse()
489 Put(' '), Walk(std::get<std::list<EntityDecl>>(x.t), ", "); in Unparse()
508 Walk(std::get<ObjectName>(x.t)); in Unparse()
509 Walk("(", std::get<std::optional<ArraySpec>>(x.t), ")"); in Unparse()
510 Walk("[", std::get<std::optional<CoarraySpec>>(x.t), "]"); in Unparse()
511 Walk("*", std::get<std::optional<CharLength>>(x.t)); in Unparse()
512 Walk(std::get<std::optional<Initialization>>(x.t)); in Unparse()
518 Word("BIND(C"), Walk(", NAME=", x.v), Put(')'); in Unparse()
522 [&](const DeferredCoshapeSpecList &y) { Walk(y); }, in Unparse()
523 [&](const ExplicitCoshapeSpec &y) { Walk(y); }, in Unparse()
536 Walk(std::get<std::list<ExplicitShapeSpec>>(x.t), ",", ","); in Unparse()
537 Walk(std::get<std::optional<SpecificationExpr>>(x.t), ":"), Put('*'); in Unparse()
540 Walk(std::get<std::optional<SpecificationExpr>>(x.t), ":"); in Unparse()
541 Walk(std::get<SpecificationExpr>(x.t)); in Unparse()
546 [&](const std::list<ExplicitShapeSpec> &y) { Walk(y, ","); }, in Unparse()
547 [&](const std::list<AssumedShapeSpec> &y) { Walk(y, ","); }, in Unparse()
548 [&](const DeferredShapeSpecList &y) { Walk(y); }, in Unparse()
549 [&](const AssumedSizeSpec &y) { Walk(y); }, in Unparse()
550 [&](const ImpliedShapeSpec &y) { Walk(y); }, in Unparse()
551 [&](const AssumedRankSpec &y) { Walk(y); }, in Unparse()
565 Walk(x.v, ":"); in Unparse()
569 Walk(std::get<std::list<ExplicitShapeSpec>>(x.t), ",", ","); in Unparse()
570 Walk(std::get<AssumedImpliedSpec>(x.t)); in Unparse()
573 Walk(x.v, ","); in Unparse()
587 Word("INTENT("), Walk(x.v), Put(")"); in Unparse()
590 Walk(std::get<AccessSpec>(x.t)); in Unparse()
591 Walk(" :: ", std::get<std::list<AccessId>>(x.t), ", "); in Unparse()
594 Word("ALLOCATABLE :: "), Walk(x.v, ", "); in Unparse()
597 Walk(std::get<ObjectName>(x.t)); in Unparse()
598 Walk("(", std::get<std::optional<ArraySpec>>(x.t), ")"); in Unparse()
599 Walk("[", std::get<std::optional<CoarraySpec>>(x.t), "]"); in Unparse()
602 Word("ASYNCHRONOUS :: "), Walk(x.v, ", "); in Unparse()
605 Walk(x.t, " :: "); in Unparse()
610 Put(slash), Walk(std::get<Name>(x.t)), Put(slash); in Unparse()
613 Word("CODIMENSION :: "), Walk(x.v, ", "); in Unparse()
616 Walk(std::get<Name>(x.t)); in Unparse()
617 Put('['), Walk(std::get<CoarraySpec>(x.t)), Put(']'); in Unparse()
620 Word("CONTIGUOUS :: "), Walk(x.v, ", "); in Unparse()
623 Word("DATA "), Walk(x.v, ", "); in Unparse()
626 Walk(std::get<std::list<DataStmtObject>>(x.t), ", "); in Unparse()
627 Put('/'), Walk(std::get<std::list<DataStmtValue>>(x.t), ", "), Put('/'); in Unparse()
630 Put('('), Walk(std::get<std::list<DataIDoObject>>(x.t), ", "), Put(','); in Unparse()
631 Walk(std::get<std::optional<IntegerTypeSpec>>(x.t), "::"); in Unparse()
632 Walk(std::get<DataImpliedDo::Bounds>(x.t)), Put(')'); in Unparse()
635 Walk(std::get<std::optional<DataStmtRepeat>>(x.t), "*"); in Unparse()
636 Walk(std::get<DataStmtConstant>(x.t)); in Unparse()
639 Word("DIMENSION :: "), Walk(x.v, ", "); in Unparse()
642 Walk(std::get<Name>(x.t)); in Unparse()
643 Put('('), Walk(std::get<ArraySpec>(x.t)), Put(')'); in Unparse()
646 Walk(x.t, " :: "); in Unparse()
649 Word("OPTIONAL :: "), Walk(x.v, ", "); in Unparse()
652 Word("PARAMETER("), Walk(x.v, ", "), Put(')'); in Unparse()
655 Walk(x.t, "="); in Unparse()
658 Word("POINTER :: "), Walk(x.v, ", "); in Unparse()
661 Walk(std::get<Name>(x.t)); in Unparse()
662 Walk("(", std::get<std::optional<DeferredShapeSpecList>>(x.t), ")"); in Unparse()
665 Word("PROTECTED :: "), Walk(x.v, ", "); in Unparse()
668 Word("SAVE"), Walk(" :: ", x.v, ", "); in Unparse()
674 Put(slash), Walk(std::get<Name>(x.t)), Put(slash); in Unparse()
677 Word("TARGET :: "), Walk(x.v, ", "); in Unparse()
680 Word("VALUE :: "), Walk(x.v, ", "); in Unparse()
683 Word("VOLATILE :: "), Walk(x.v, ", "); in Unparse()
689 [&](const std::list<ImplicitSpec> &y) { Walk(y, ", "); }, in Unparse()
691 Word("NONE"), Walk(" (", y, ", ", ")"); in Unparse()
697 Walk(std::get<DeclarationTypeSpec>(x.t)); in Unparse()
698 Put('('), Walk(std::get<std::list<LetterSpec>>(x.t), ", "), Put(')'); in Unparse()
711 Walk(" :: ", x.names, ", "); in Unparse()
715 Walk(x.names, ", "); in Unparse()
726 Word("NAMELIST"), Walk(x.v, ", "); in Unparse()
729 Put('/'), Walk(std::get<Name>(x.t)), Put('/'); in Unparse()
730 Walk(std::get<std::list<Name>>(x.t), ", "); in Unparse()
736 Put(separator), Put('('), Walk(y), Put(')'); in Unparse()
742 Walk(x.blocks); in Unparse()
745 Walk(std::get<Name>(x.t)); in Unparse()
746 Walk("(", std::get<std::optional<ArraySpec>>(x.t), ")"); in Unparse()
749 Word("/"), Walk(std::get<std::optional<Name>>(x.t)), Word("/"); in Unparse()
750 Walk(std::get<std::list<CommonBlockObject>>(x.t)); in Unparse()
754 Walk(std::get<DataRef>(x.t)); in Unparse()
755 Put('('), Walk(std::get<SubstringRange>(x.t)), Put(')'); in Unparse()
758 Walk(std::get<CharLiteralConstant>(x.t)); in Unparse()
759 Put('('), Walk(std::get<SubstringRange>(x.t)), Put(')'); in Unparse()
762 Walk(x.v); in Unparse()
766 Walk(x.t, ":"); in Unparse()
769 Walk(x.name); in Unparse()
770 Walk("(", x.subscripts, ",", ")"); in Unparse()
771 Walk(x.imageSelector); in Unparse()
774 Walk(x.base); in Unparse()
781 Walk(x.component); in Unparse()
784 Walk(x.base); in Unparse()
785 Put('('), Walk(x.subscripts, ","), Put(')'); in Unparse()
788 Walk(std::get<0>(x.t)), Put(':'), Walk(std::get<1>(x.t)); in Unparse()
789 Walk(":", std::get<2>(x.t)); in Unparse()
792 Put('['), Walk(std::get<std::list<Cosubscript>>(x.t), ","); in Unparse()
793 Walk(",", std::get<std::list<ImageSelectorSpec>>(x.t), ","), Put(']'); in Unparse()
806 Walk(std::get<std::optional<TypeSpec>>(x.t), "::"); in Unparse()
807 Walk(std::get<std::list<Allocation>>(x.t), ", "); in Unparse()
808 Walk(", ", std::get<std::list<AllocOpt>>(x.t), ", "), Put(')'); in Unparse()
819 Walk(std::get<AllocateObject>(x.t)); in Unparse()
820 Walk("(", std::get<std::list<AllocateShapeSpec>>(x.t), ",", ")"); in Unparse()
821 Walk("[", std::get<std::optional<AllocateCoarraySpec>>(x.t), "]"); in Unparse()
824 Walk(std::get<std::optional<BoundExpr>>(x.t), ":"); in Unparse()
825 Walk(std::get<BoundExpr>(x.t)); in Unparse()
828 Walk(std::get<std::list<AllocateCoshapeSpec>>(x.t), ",", ","); in Unparse()
829 Walk(std::get<std::optional<BoundExpr>>(x.t), ":"), Put('*'); in Unparse()
832 Word("NULLIFY("), Walk(x.v, ", "), Put(')'); in Unparse()
836 Walk(std::get<std::list<AllocateObject>>(x.t), ", "); in Unparse()
837 Walk(", ", std::get<std::list<StatOrErrmsg>>(x.t), ", "), Put(')'); in Unparse()
848 void Unparse(const Expr::Parentheses &x) { Put('('), Walk(x.v), Put(')'); } in Unparse()
853 Word("%LOC("), Walk(x.v), Put(')'); in Unparse()
855 void Unparse(const Expr::Power &x) { Walk(x.t, "**"); } in Unparse()
856 void Unparse(const Expr::Multiply &x) { Walk(x.t, "*"); } in Unparse()
857 void Unparse(const Expr::Divide &x) { Walk(x.t, "/"); } in Unparse()
858 void Unparse(const Expr::Add &x) { Walk(x.t, "+"); } in Unparse()
859 void Unparse(const Expr::Subtract &x) { Walk(x.t, "-"); } in Unparse()
860 void Unparse(const Expr::Concat &x) { Walk(x.t, "//"); } in Unparse()
861 void Unparse(const Expr::LT &x) { Walk(x.t, "<"); } in Unparse()
862 void Unparse(const Expr::LE &x) { Walk(x.t, "<="); } in Unparse()
863 void Unparse(const Expr::EQ &x) { Walk(x.t, "=="); } in Unparse()
864 void Unparse(const Expr::NE &x) { Walk(x.t, "/="); } in Unparse()
865 void Unparse(const Expr::GE &x) { Walk(x.t, ">="); } in Unparse()
866 void Unparse(const Expr::GT &x) { Walk(x.t, ">"); } in Unparse()
867 void Unparse(const Expr::AND &x) { Walk(x.t, ".AND."); } in Unparse()
868 void Unparse(const Expr::OR &x) { Walk(x.t, ".OR."); } in Unparse()
869 void Unparse(const Expr::EQV &x) { Walk(x.t, ".EQV."); } in Unparse()
870 void Unparse(const Expr::NEQV &x) { Walk(x.t, ".NEQV."); } in Unparse()
872 Put('('), Walk(x.t, ","), Put(')'); in Unparse()
875 Walk(std::get<1>(x.t)); // left in Unparse()
876 Walk(std::get<DefinedOpName>(x.t)); in Unparse()
877 Walk(std::get<2>(x.t)); // right in Unparse()
880 Walk(x.v); in Unparse()
888 Walk(x.t, " = "); in Unparse()
897 Walk(std::get<DataRef>(x.t)); in Unparse()
901 Put('('), Walk(y), Put(')'); in Unparse()
903 [&](const std::list<BoundsSpec> &y) { Walk("(", y, ", ", ")"); }, in Unparse()
906 Put(" => "), Walk(std::get<Expr>(x.t)); in Unparse()
913 Walk(x.t, ":"); in Unparse()
916 Word("WHERE ("), Walk(x.t, ") "); in Unparse()
919 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
920 Word("WHERE ("), Walk(std::get<LogicalExpr>(x.t)), Put(')'); in Unparse()
925 Word("ELSEWHERE ("), Walk(std::get<LogicalExpr>(x.t)), Put(')'); in Unparse()
926 Walk(" ", std::get<std::optional<Name>>(x.t)); in Unparse()
930 Outdent(), Word("ELSEWHERE"), Walk(" ", x.v), Indent(); in Unparse()
933 Outdent(), Word("END WHERE"), Walk(" ", x.v); in Unparse()
936 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
937 Word("FORALL"), Walk(std::get<common::Indirection<ConcurrentHeader>>(x.t)); in Unparse()
941 Outdent(), Word("END FORALL"), Walk(" ", x.v); in Unparse()
948 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
950 Walk(std::get<std::list<Association>>(x.t), ", "), Put(')'), Indent(); in Unparse()
953 Walk(x.t, " => "); in Unparse()
956 Outdent(), Word("END ASSOCIATE"), Walk(" ", x.v); in Unparse()
959 Walk(x.v, ": "), Word("BLOCK"), Indent(); in Unparse()
962 Outdent(), Word("END BLOCK"), Walk(" ", x.v); in Unparse()
965 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
966 Word("CHANGE TEAM ("), Walk(std::get<TeamValue>(x.t)); in Unparse()
967 Walk(", ", std::get<std::list<CoarrayAssociation>>(x.t), ", "); in Unparse()
968 Walk(", ", std::get<std::list<StatOrErrmsg>>(x.t), ", "), Put(')'); in Unparse()
972 Walk(x.t, " => "); in Unparse()
976 Walk(std::get<std::list<StatOrErrmsg>>(x.t), ", "); in Unparse()
977 Put(')'), Walk(" ", std::get<std::optional<Name>>(x.t)); in Unparse()
980 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
981 Word("CRITICAL ("), Walk(std::get<std::list<StatOrErrmsg>>(x.t), ", "); in Unparse()
985 Outdent(), Word("END CRITICAL"), Walk(" ", x.v); in Unparse()
988 Walk(std::get<Statement<NonLabelDoStmt>>(x.t)); in Unparse()
989 Indent(), Walk(std::get<Block>(x.t), ""), Outdent(); in Unparse()
990 Walk(std::get<Statement<EndDoStmt>>(x.t)); in Unparse()
993 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
994 Word("DO "), Walk(std::get<Label>(x.t)); in Unparse()
995 Walk(" ", std::get<std::optional<LoopControl>>(x.t)); in Unparse()
998 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
999 Word("DO "), Walk(std::get<std::optional<LoopControl>>(x.t)); in Unparse()
1004 Word("WHILE ("), Walk(y), Put(')'); in Unparse()
1006 [&](const auto &y) { Walk(y); }, in Unparse()
1011 Put('('), Walk(std::get<std::optional<IntegerTypeSpec>>(x.t), "::"); in Unparse()
1012 Walk(std::get<std::list<ConcurrentControl>>(x.t), ", "); in Unparse()
1013 Walk(", ", std::get<std::optional<ScalarLogicalExpr>>(x.t)), Put(')'); in Unparse()
1016 Walk(std::get<Name>(x.t)), Put('='), Walk(std::get<1>(x.t)); in Unparse()
1017 Put(':'), Walk(std::get<2>(x.t)); in Unparse()
1018 Walk(":", std::get<std::optional<ScalarIntExpr>>(x.t)); in Unparse()
1024 Word("LOCAL("), Walk(x.v, ", "), Put(')'); in Unparse()
1027 Word("LOCAL_INIT("), Walk(x.v, ", "), Put(')'); in Unparse()
1030 Word("SHARED("), Walk(x.v, ", "), Put(')'); in Unparse()
1034 Word("END DO"), Walk(" ", x.v); in Unparse()
1037 Word("CYCLE"), Walk(" ", x.v); in Unparse()
1040 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
1041 Word("IF ("), Walk(std::get<ScalarLogicalExpr>(x.t)); in Unparse()
1046 Walk(std::get<ScalarLogicalExpr>(x.t)), Put(") "), Word("THEN"); in Unparse()
1047 Walk(" ", std::get<std::optional<Name>>(x.t)), Indent(); in Unparse()
1050 Outdent(), Word("ELSE"), Walk(" ", x.v), Indent(); in Unparse()
1053 Outdent(), Word("END IF"), Walk(" ", x.v); in Unparse()
1056 Word("IF ("), Walk(x.t, ") "); in Unparse()
1059 Walk(std::get<std::optional<Name>>(x.t), ": "); in Unparse()
1061 Walk(std::get<Scalar<Expr>>(x.t)), Put(')'), Indent(); in Unparse()
1064 Outdent(), Word("CASE "), Walk(std::get<CaseSelector>(x.t)); in Unparse()
1065 Walk(" ", std::get<std::optional<Name>>(x.t)), Indent(); in Unparse()
1068 Outdent(), Word("END SELECT"), Walk(" ", x.v); in Unparse()
1073 Put('('), Walk(y), Put(')'); in Unparse()
1080 Walk(x.lower), Put(':'), Walk(x.upper); in Unparse()
1083 Walk(std::get<0>(x.t), ": "); in Unparse()
1084 Word("SELECT RANK ("), Walk(std::get<1>(x.t), " => "); in Unparse()
1085 Walk(std::get<Selector>(x.t)), Put(')'), Indent(); in Unparse()
1091 Put('('), Walk(y), Put(')'); in Unparse()
1097 Walk(" ", std::get<std::optional<Name>>(x.t)), Indent(); in Unparse()
1100 Walk(std::get<0>(x.t), ": "); in Unparse()
1101 Word("SELECT TYPE ("), Walk(std::get<1>(x.t), " => "); in Unparse()
1102 Walk(std::get<Selector>(x.t)), Put(')'), Indent(); in Unparse()
1105 Outdent(), Walk(std::get<TypeGuardStmt::Guard>(x.t)); in Unparse()
1106 Walk(" ", std::get<std::optional<Name>>(x.t)), Indent(); in Unparse()
1111 [&](const TypeSpec &y) { Word("TYPE IS ("), Walk(y), Put(')'); }, in Unparse()
1113 Word("CLASS IS ("), Walk(y), Put(')'); in Unparse()
1120 Word("EXIT"), Walk(" ", x.v); in Unparse()
1126 Word("GO TO ("), Walk(x.t, "), "); in Unparse()
1135 Word("STOP"), Walk(" ", std::get<std::optional<StopCode>>(x.t)); in Unparse()
1136 Walk(", QUIET=", std::get<std::optional<ScalarLogicalExpr>>(x.t)); in Unparse()
1142 Word("SYNC ALL ("), Walk(x.v, ", "), Put(')'); in Unparse()
1146 Walk(std::get<SyncImagesStmt::ImageSet>(x.t)); in Unparse()
1147 Walk(", ", std::get<std::list<StatOrErrmsg>>(x.t), ", "), Put(')'); in Unparse()
1150 Word("SYNC MEMORY ("), Walk(x.v, ", "), Put(')'); in Unparse()
1153 Word("SYNC TEAM ("), Walk(std::get<TeamValue>(x.t)); in Unparse()
1154 Walk(", ", std::get<std::list<StatOrErrmsg>>(x.t), ", "), Put(')'); in Unparse()
1157 Word("EVENT POST ("), Walk(std::get<EventVariable>(x.t)); in Unparse()
1158 Walk(", ", std::get<std::list<StatOrErrmsg>>(x.t), ", "), Put(')'); in Unparse()
1168 Word("EVENT WAIT ("), Walk(std::get<EventVariable>(x.t)); in Unparse()
1169 Walk(", ", std::get<std::list<EventWaitStmt::EventWaitSpec>>(x.t), ", "); in Unparse()
1173 Word("FORM TEAM ("), Walk(std::get<ScalarIntExpr>(x.t)); in Unparse()
1174 Put(','), Walk(std::get<TeamVariable>(x.t)); in Unparse()
1175 Walk(", ", std::get<std::list<FormTeamStmt::FormTeamSpec>>(x.t), ", "); in Unparse()
1186 Word("LOCK ("), Walk(std::get<LockVariable>(x.t)); in Unparse()
1187 Walk(", ", std::get<std::list<LockStmt::LockStat>>(x.t), ", "); in Unparse()
1199 Word("UNLOCK ("), Walk(std::get<LockVariable>(x.t)); in Unparse()
1200 Walk(", ", std::get<std::list<StatOrErrmsg>>(x.t), ", "); in Unparse()
1205 Word("OPEN ("), Walk(x.v, ", "), Put(')'); in Unparse()
1218 Walk(y.t, "="); in Pre()
1249 Word("CLOSE ("), Walk(x.v, ", "), Put(')'); in Unparse()
1264 Put('('), Walk(x.iounit); in Unparse()
1266 Put(", "), Walk(x.format); in Unparse()
1268 Walk(", ", x.controls, ", "); in Unparse()
1271 Walk(x.format); in Unparse()
1276 Put('('), Walk(x.controls, ", "), Put(')'); in Unparse()
1278 Walk(" ", x.items, ", "); in Unparse()
1283 Walk(x.iounit); in Unparse()
1285 Put(", "), Walk(x.format); in Unparse()
1287 Walk(", ", x.controls, ", "); in Unparse()
1289 Walk(x.controls, ", "); in Unparse()
1291 Put(')'), Walk(" ", x.items, ", "); in Unparse()
1294 Word("PRINT "), Walk(std::get<Format>(x.t)); in Unparse()
1295 Walk(", ", std::get<std::list<OutputItem>>(x.t), ", "); in Unparse()
1312 Walk(y.t, "="); in Pre()
1359 Put('('), Walk(std::get<std::list<InputItem>>(x.t), ", "), Put(", "); in Unparse()
1360 Walk(std::get<IoImpliedDoControl>(x.t)), Put(')'); in Unparse()
1363 Put('('), Walk(std::get<std::list<OutputItem>>(x.t), ", "), Put(", "); in Unparse()
1364 Walk(std::get<IoImpliedDoControl>(x.t)), Put(')'); in Unparse()
1367 Word("WAIT ("), Walk(x.v, ", "), Put(')'); in Unparse()
1382 Word("BACKSPACE ("), Walk(x.v, ", "), Put(')'); in Unparse()
1385 Word("ENDFILE ("), Walk(x.v, ", "), Put(')'); in Unparse()
1388 Word("REWIND ("), Walk(x.v, ", "), Put(')'); in Unparse()
1400 Word("FLUSH ("), Walk(x.v, ", "), Put(')'); in Unparse()
1407 Word("IOLENGTH="), Walk(y.t, ") "); in Unparse()
1409 [&](const std::list<InquireSpec> &y) { Walk(y, ", "), Put(')'); }, in Unparse()
1424 Walk(y.t, "="); in Pre()
1428 Walk(y.t, "="); in Pre()
1432 Walk(y.t, "="); in Pre()
1451 Put('('), Walk("", x.items, ",", x.unlimitedItems.empty() ? "" : ","); in Unparse()
1452 Walk("*(", x.unlimitedItems, ",", ")"), Put(')'); in Unparse()
1456 Walk(*x.repeatCount); in Unparse()
1461 Walk("(", y, ",", ")"); in Unparse()
1463 [&](const auto &y) { Walk(y); }, in Unparse()
1489 Walk(x.width), Walk(".", x.digits), Walk("E", x.exponentWidth); in Unparse()
1496 Walk("(", x.parameters, ",", ")"); in Unparse()
1502 Walk(x.count); in Unparse()
1506 Walk(x.count); in Unparse()
1510 Walk(x.count); in Unparse()
1514 Walk(x.count); in Unparse()
1520 Walk(x.count); in Unparse()
1528 Walk(x.count); in Unparse()
1576 Word("USE"), Walk(", ", x.nature), Put(" :: "), Walk(x.moduleName); in Unparse()
1579 [&](const std::list<Rename> &y) { Walk(", ", y, ", "); }, in Unparse()
1580 [&](const std::list<Only> &y) { Walk(", ONLY: ", y, ", "); }, in Unparse()
1586 [&](const Rename::Names &y) { Walk(y.t, " => "); }, in Unparse()
1588 Word("OPERATOR("), Walk(y.t, ") => OPERATOR("), in Unparse()
1598 Walk(std::get<Name>(x.t)), Walk(":", std::get<std::optional<Name>>(x.t)); in Unparse()
1604 Word("BLOCK DATA"), Walk(" ", x.v), Indent(); in Unparse()
1613 Word("INTERFACE"), Walk(" ", y); in Unparse()
1621 Outdent(), Word("END INTERFACE"), Walk(" ", x.v); in Unparse()
1629 Walk(std::get<std::list<Name>>(x.t), ", "); in Unparse()
1660 Word("GENERIC"), Walk(", ", std::get<std::optional<AccessSpec>>(x.t)); in Unparse()
1661 Put(" :: "), Walk(std::get<GenericSpec>(x.t)), Put(" => "); in Unparse()
1662 Walk(std::get<std::list<Name>>(x.t), ", "); in Unparse()
1665 Word("EXTERNAL :: "), Walk(x.v, ", "); in Unparse()
1668 Word("PROCEDURE("), Walk(std::get<std::optional<ProcInterface>>(x.t)); in Unparse()
1669 Put(')'), Walk(", ", std::get<std::list<ProcAttrSpec>>(x.t), ", "); in Unparse()
1670 Put(" :: "), Walk(std::get<std::list<ProcDecl>>(x.t), ", "); in Unparse()
1673 Walk(std::get<Name>(x.t)); in Unparse()
1674 Walk(" => ", std::get<std::optional<ProcPointerInit>>(x.t)); in Unparse()
1677 Word("INTRINSIC :: "), Walk(x.v, ", "); in Unparse()
1680 Walk(std::get<ProcedureDesignator>(x.v.t)); in Unparse()
1681 Put('('), Walk(std::get<std::list<ActualArgSpec>>(x.v.t), ", "), Put(')'); in Unparse()
1691 Word("CALL "), Walk(pd); in Unparse()
1697 Walk("(", args, ", ", ")"); in Unparse()
1702 Walk(std::get<std::optional<Keyword>>(x.t), "="); in Unparse()
1703 Walk(std::get<ActualArg>(x.t)); in Unparse()
1706 Word("%REF("), Walk(x.v), Put(')'); in Unparse()
1709 Word("%VAL("), Walk(x.v), Put(')'); in Unparse()
1721 Walk("", std::get<std::list<PrefixSpec>>(x.t), " ", " "); in Unparse()
1722 Word("FUNCTION "), Walk(std::get<Name>(x.t)), Put("("); in Unparse()
1723 Walk(std::get<std::list<Name>>(x.t), ", "), Put(')'); in Unparse()
1724 Walk(" ", std::get<std::optional<Suffix>>(x.t)), Indent(); in Unparse()
1728 Word("RESULT("), Walk(x.resultName), Put(')'); in Unparse()
1729 Walk(" ", x.binding); in Unparse()
1731 Walk(x.binding); in Unparse()
1738 Walk("", std::get<std::list<PrefixSpec>>(x.t), " ", " "); in Unparse()
1739 Word("SUBROUTINE "), Walk(std::get<Name>(x.t)); in Unparse()
1743 Walk(" () ", bind); in Unparse()
1745 Walk(" (", args, ", ", ")"); in Unparse()
1746 Walk(" ", bind); in Unparse()
1760 Word("ENTRY "), Walk(std::get<Name>(x.t)), Put("("); in Unparse()
1761 Walk(std::get<std::list<DummyArg>>(x.t), ", "), Put(")"); in Unparse()
1762 Walk(" ", std::get<std::optional<Suffix>>(x.t)); in Unparse()
1765 Word("RETURN"), Walk(" ", x.v); in Unparse()
1773 Walk(std::get<Name>(x.t)), Put('('); in Unparse()
1774 Walk(std::get<std::list<Name>>(x.t), ", "), Put(") = "); in Unparse()
1775 Walk(std::get<Scalar<Expr>>(x.t)); in Unparse()
1784 Walk(" ", tkr, ", "); in Unparse()
1787 Walk("!DIR$ ", names, " "); in Unparse()
1802 Walk(std::get<Name>(x.t)); in Unparse()
1805 Walk(std::get<Name>(x.t)); in Unparse()
1806 Walk("=", std::get<std::optional<std::uint64_t>>(x.t)); in Unparse()
1815 Walk(std::get<AccAtomicCapture::Stmt1>(x.t)); in Unparse()
1817 Walk(std::get<AccAtomicCapture::Stmt2>(x.t)); in Unparse()
1827 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
1829 Walk(std::get<std::optional<AccEndAtomic>>(x.t), "!$ACC END ATOMIC\n"); in Unparse()
1837 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
1839 Walk(std::get<std::optional<AccEndAtomic>>(x.t), "!$ACC END ATOMIC\n"); in Unparse()
1847 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
1849 Walk(std::get<std::optional<AccEndAtomic>>(x.t), "!$ACC END ATOMIC\n"); in Unparse()
1858 Walk(std::get<std::optional<AccDataModifier>>(x.t), ":"); in Unparse()
1859 Walk(std::get<AccObjectList>(x.t)); in Unparse()
1866 [&](const Name &y) { Put('('), Walk(y), Put(')'); }, in Unparse()
1868 Put('('), Walk(y), Put(')'); in Unparse()
1883 void Unparse(const AccClauseList &x) { Walk(" ", x.v, " "); } in Unparse()
1885 Walk("NUM:", std::get<std::optional<ScalarIntExpr>>(x.t)); in Unparse()
1886 Walk(", STATIC:", std::get<std::optional<AccSizeExpr>>(x.t)); in Unparse()
1891 Walk(std::get<AccBeginBlockDirective>(x.t)); in Unparse()
1894 Walk(std::get<Block>(x.t), ""); in Unparse()
1897 Walk(std::get<AccEndBlockDirective>(x.t)); in Unparse()
1904 Walk(std::get<AccBeginLoopDirective>(x.t)); in Unparse()
1907 Walk(std::get<std::optional<DoConstruct>>(x.t)); in Unparse()
1910 Walk(std::get<AccLoopDirective>(x.t)); in Unparse()
1911 Walk(std::get<AccClauseList>(x.t)); in Unparse()
1916 Walk(std::get<AccStandaloneDirective>(x.t)); in Unparse()
1917 Walk(std::get<AccClauseList>(x.t)); in Unparse()
1924 Walk(std::get<AccDeclarativeDirective>(x.t)); in Unparse()
1925 Walk(std::get<AccClauseList>(x.t)); in Unparse()
1932 Walk(std::get<AccBeginCombinedDirective>(x.t)); in Unparse()
1935 Walk(std::get<std::optional<DoConstruct>>(x.t)); in Unparse()
1937 Walk("!$ACC END ", std::get<std::optional<AccEndCombinedDirective>>(x.t), in Unparse()
1944 Walk("(", std::get<std::optional<Name>>(x.t), ")"); in Unparse()
1945 Walk(std::get<AccClauseList>(x.t)); in Unparse()
1951 [&](const Designator &y) { Walk(y); }, in Unparse()
1952 [&](const Name &y) { Put("/"), Walk(y), Put("/"); }, in Unparse()
1956 void Unparse(const AccObjectList &x) { Walk(x.v, ","); } in Unparse()
1961 Walk(std::get<AccReductionOperator>(x.t)); in Unparse()
1963 Walk(std::get<AccObjectList>(x.t)); in Unparse()
1969 Walk(std::get<AccObjectListWithModifier>(x.t)); in Unparse()
1975 Walk("DEVNUM:", std::get<std::optional<ScalarIntExpr>>(x.t), ":"); in Unparse()
1976 Walk(std::get<std::list<ScalarIntExpr>>(x.t), ","); in Unparse()
1982 Walk(std::get<std::optional<AccWaitArgument>>(x.t)); in Unparse()
1983 Walk(std::get<AccClauseList>(x.t)); in Unparse()
1992 [&](const Designator &y) { Walk(y); }, in Unparse()
1993 [&](const Name &y) { Put("/"), Walk(y), Put("/"); }, in Unparse()
1999 Walk(std::get<std::optional<OmpMapType>>(x.t), ":"); in Unparse()
2000 Walk(std::get<OmpObjectList>(x.t)); in Unparse()
2003 Walk(std::get<OmpScheduleModifier::Modifier1>(x.t)); in Unparse()
2004 Walk(",", std::get<std::optional<OmpScheduleModifier::Modifier2>>(x.t)); in Unparse()
2007 Walk(std::get<std::optional<OmpScheduleModifier>>(x.t), ":"); in Unparse()
2008 Walk(std::get<OmpScheduleClause::ScheduleType>(x.t)); in Unparse()
2009 Walk(",", std::get<std::optional<ScalarIntExpr>>(x.t)); in Unparse()
2012 Walk(std::get<std::list<Name>>(x.t), ","); in Unparse()
2013 Walk(std::get<std::optional<ScalarIntConstantExpr>>(x.t)); in Unparse()
2016 Walk(std::get<std::optional<OmpIfClause::DirectiveNameModifier>>(x.t), ":"); in Unparse()
2017 Walk(std::get<ScalarLogicalExpr>(x.t)); in Unparse()
2020 Walk(x.names, ", "); in Unparse()
2021 Walk(":", x.step); in Unparse()
2024 Walk(x.modifier), Put("("), Walk(x.names, ","), Put(")"); in Unparse()
2025 Walk(":", x.step); in Unparse()
2028 Walk(std::get<OmpReductionOperator>(x.t)); in Unparse()
2030 Walk(std::get<OmpObjectList>(x.t)); in Unparse()
2033 Walk(std::get<OmpReductionOperator>(x.t)); in Unparse()
2035 Walk(std::get<OmpObjectList>(x.t)); in Unparse()
2038 Walk(std::get<std::optional<OmpAllocateClause::Allocator>>(x.t)); in Unparse()
2040 Walk(std::get<OmpObjectList>(x.t)); in Unparse()
2043 Walk(std::get<DefinedOperator>(x.t)); in Unparse()
2044 Walk(std::get<ScalarIntConstantExpr>(x.t)); in Unparse()
2047 Walk(std::get<Name>(x.t)); in Unparse()
2048 Walk(std::get<std::optional<OmpDependSinkVecLength>>(x.t)); in Unparse()
2052 Walk(std::get<OmpDependenceType>(x.t)); in Unparse()
2054 Walk(std::get<std::list<Designator>>(x.t), ","); in Unparse()
2066 Walk(y.v); in Pre()
2075 Walk(std::get<OmpDefaultmapClause::ImplicitBehavior>(x.t)); in Unparse()
2076 Walk(":", in Unparse()
2153 void Unparse(const OmpObjectList &x) { Walk(x.v, ","); } in Unparse()
2228 void Unparse(const OmpAtomicClauseList &x) { Walk(" ", x.v, " "); } in Unparse()
2233 Walk(std::get<OmpAtomicClauseList>(x.t)); in Unparse()
2236 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
2238 Walk(std::get<std::optional<OmpEndAtomic>>(x.t), "!$OMP END ATOMIC\n"); in Unparse()
2244 Walk(std::get<0>(x.t)); in Unparse()
2246 Walk(std::get<2>(x.t)); in Unparse()
2249 Walk(std::get<OmpAtomicCapture::Stmt1>(x.t)); in Unparse()
2251 Walk(std::get<OmpAtomicCapture::Stmt2>(x.t)); in Unparse()
2259 Walk(std::get<0>(x.t)); in Unparse()
2261 Walk(std::get<2>(x.t)); in Unparse()
2264 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
2266 Walk(std::get<std::optional<OmpEndAtomic>>(x.t), "!$OMP END ATOMIC\n"); in Unparse()
2272 Walk(std::get<0>(x.t)); in Unparse()
2274 Walk(std::get<2>(x.t)); in Unparse()
2277 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
2279 Walk(std::get<std::optional<OmpEndAtomic>>(x.t), "!$OMP END ATOMIC\n"); in Unparse()
2285 Walk(std::get<0>(x.t)); in Unparse()
2287 Walk(std::get<2>(x.t)); in Unparse()
2290 Walk(std::get<Statement<AssignmentStmt>>(x.t)); in Unparse()
2292 Walk(std::get<std::optional<OmpEndAtomic>>(x.t), "!$OMP END ATOMIC\n"); in Unparse()
2298 Walk(" (", std::get<std::optional<OmpObjectList>>(x.t), ")"); in Unparse()
2299 Walk(std::get<OmpClauseList>(x.t)); in Unparse()
2302 Walk(std::get<Statement<AllocateStmt>>(x.t)); in Unparse()
2308 Walk(std::get<OmpObjectList>(x.t)); in Unparse()
2310 Walk(std::get<OmpClauseList>(x.t)); in Unparse()
2317 Walk(" (", std::get<std::optional<Name>>(x.t), ")"); in Unparse()
2318 Walk(std::get<OmpClauseList>(x.t)); in Unparse()
2325 Walk(" (", std::get<std::optional<Name>>(x.t), ")"); in Unparse()
2330 Walk(std::get<OmpCriticalDirective>(x.t)); in Unparse()
2331 Walk(std::get<Block>(x.t), ""); in Unparse()
2332 Walk(std::get<OmpEndCriticalDirective>(x.t)); in Unparse()
2335 Put("("), Walk(x.v), Put(")"); in Unparse()
2339 Walk(x.v); in Unparse()
2345 Walk(pd); in Unparse()
2351 Walk("(", args, ", ", ")"); in Unparse()
2356 Walk(std::get<OmpReductionOperator>(x.t)), Put(" : "); in Unparse()
2357 Walk(std::get<std::list<DeclarationTypeSpec>>(x.t), ","), Put(" : "); in Unparse()
2358 Walk(std::get<OmpReductionCombiner>(x.t)); in Unparse()
2360 Walk(std::get<std::optional<OmpReductionInitializerClause>>(x.t)); in Unparse()
2369 Walk(std::get<OmpObjectList>(z.t)); in Pre()
2371 Walk(std::get<OmpClauseList>(z.t)); in Pre()
2382 Walk("(", std::get<std::optional<Name>>(y.t), ")"); in Pre()
2383 Walk(std::get<OmpClauseList>(y.t)); in Pre()
2427 Walk(std::get<OpenMPSectionConstruct>(y.u).v, ""); in Unparse()
2433 Walk(std::get<OmpBeginSectionsDirective>(x.t)); in Unparse()
2436 Walk(std::get<OmpSectionBlocks>(x.t)); in Unparse()
2439 Walk(std::get<OmpEndSectionsDirective>(x.t)); in Unparse()
2446 Walk(std::get<OmpCancelType>(x.t)); in Unparse()
2453 Walk(std::get<OmpCancelType>(x.t)); in Unparse()
2454 Walk(std::get<std::optional<OpenMPCancelConstruct::If>>(x.t)); in Unparse()
2458 void Unparse(const OmpMemoryOrderClause &x) { Walk(x.v); } in Unparse()
2461 [&](const OmpMemoryOrderClause &y) { Walk(y); }, in Unparse()
2462 [&](const OmpClause &z) { Walk(z); }, in Unparse()
2469 Walk(std::get<std::optional<std::list<OmpMemoryOrderClause>>>(x.t)); in Unparse()
2470 Walk(" (", std::get<std::optional<OmpObjectList>>(x.t), ")"); in Unparse()
2477 Walk(std::get<OmpLoopDirective>(x.t)); in Unparse()
2478 Walk(std::get<OmpClauseList>(x.t)); in Unparse()
2482 void Unparse(const OmpClauseList &x) { Walk(" ", x.v, " "); } in Unparse()
2486 Walk(std::get<OmpSimpleStandaloneDirective>(x.t)); in Unparse()
2487 Walk(std::get<OmpClauseList>(x.t)); in Unparse()
2494 Walk(std::get<OmpBeginBlockDirective>(x.t)); in Unparse()
2497 Walk(std::get<Block>(x.t), ""); in Unparse()
2500 Walk(std::get<OmpEndBlockDirective>(x.t)); in Unparse()
2507 Walk(std::get<OmpBeginLoopDirective>(x.t)); in Unparse()
2510 Walk(std::get<std::optional<DoConstruct>>(x.t)); in Unparse()
2511 Walk(std::get<std::optional<OmpEndLoopDirective>>(x.t)); in Unparse()
2514 Put('('), Walk(std::get<0>(x.t)), Put(","), Walk(std::get<1>(x.t)); in Unparse()
2515 Walk("(", std::get<std::optional<ArraySpec>>(x.t), ")"), Put(')'); in Unparse()
2517 void Unparse(const BasedPointerStmt &x) { Walk("POINTER ", x.v, ","); } in Unparse()
2531 Walk(std::get<std::optional<Name>>(x.t)); in Unparse()
2532 Walk(" ", std::get<std::list<EntityDecl>>(x.t), ", "); in Unparse()
2543 Word("PARAMETER "), Walk(x.v, ", "); in Unparse()
2546 Word("IF ("), Walk(std::get<Expr>(x.t)), Put(") "); in Unparse()
2547 Walk(std::get<1>(x.t)), Put(", "); in Unparse()
2548 Walk(std::get<2>(x.t)), Put(", "); in Unparse()
2549 Walk(std::get<3>(x.t)); in Unparse()
2552 Word("ASSIGN "), Walk(std::get<Label>(x.t)); in Unparse()
2553 Word(" TO "), Walk(std::get<Name>(x.t)); in Unparse()
2556 Word("GO TO "), Walk(std::get<Name>(x.t)); in Unparse()
2557 Walk(", (", std::get<std::list<Label>>(x.t), ", ", ")"); in Unparse()
2559 void Unparse(const PauseStmt &x) { Word("PAUSE"), Walk(" ", x.v); } in Unparse()
2608 template <typename T> void Walk(const T &x) { in Walk() function in Fortran::parser::UnparseVisitor
2609 Fortran::parser::Walk(x, *this); in Walk()
2615 void Walk( in Walk() function in Fortran::parser::UnparseVisitor
2618 Word(prefix), Walk(*x), Word(suffix); in Walk()
2622 void Walk(const std::optional<A> &x, const char *suffix = "") { in Walk() function in Fortran::parser::UnparseVisitor
2623 return Walk("", x, suffix); in Walk()
2629 void Walk(const char *prefix, const std::list<A> &list, in Walk() function in Fortran::parser::UnparseVisitor
2634 Word(str), Walk(x); in Walk()
2641 void Walk(const std::list<A> &list, const char *comma = ", ", in Walk() function in Fortran::parser::UnparseVisitor
2643 return Walk("", list, comma, suffix); in Walk()
2653 Walk(std::get<J>(tuple)); in WalkTupleElements()
2658 void Walk(const std::tuple<A...> &tuple, const char *separator = "") { in Walk() function in Fortran::parser::UnparseVisitor
2663 Outdent(), Word("END "), Word(kind), Walk(" ", name); in EndSubprogram()
2759 Walk(root, visitor); in Unparse()