Lines Matching defs:statement

77   if (std::holds_alternative<parser::ContinueStmt>(actionStmt.statement.u)) {
82 actionStmt.statement.u) ||
84 actionStmt.statement.u) ||
86 actionStmt.statement.u) ||
88 actionStmt.statement.u) ||
90 actionStmt.statement.u) ||
93 actionStmt.statement.u))) {
139 const parser::Statement<A> &statement) {
141 if (IsLegalDoTerm(statement) == Legality::always) {
143 } else if (IsLegalDoTerm(statement) == Legality::formerly) {
146 if (IsLegalBranchTarget(statement) == Legality::always) {
148 } else if (IsLegalBranchTarget(statement) == Legality::formerly) {
151 if (IsFormat(statement)) {
173 // others include them as tuple components. Given a statement,
180 return &stmt.statement.v.source;
182 name = &stmt.statement.v;
186 name = &std::get<0>(stmt.statement.t);
188 decltype(stmt.statement.t)>) {
189 return &std::get<parser::Name>(stmt.statement.t).source;
191 name = &std::get<std::optional<parser::Name>>(stmt.statement.t);
211 // The END statement for a subprogram appears after any internal
212 // subprograms. Visit that statement in advance so that results
224 template <typename A> bool Pre(const parser::Statement<A> &statement) {
225 currentPosition_ = statement.source;
226 const auto &label = statement.label;
242 auto targetFlags{ConstructBranchTargetFlags(statement)};
285 .statement.t)};
430 .statement.v}) {
433 if (std::holds_alternative<parser::Abstract>(interfaceStmt.statement.u)) {
442 interfaceStmt.statement.u)}) {
498 if (*endName != program->statement.v.source) {
500 .Attach(program->statement.v.source, "should be"_en_US);
504 "END PROGRAM has name without PROGRAM statement"_err_en_US);
618 const auto &optionalName{std::get<0>(std::get<0>(a.t).statement.t)};
632 .statement.v};
640 const auto &optionalName{std::get<0>(std::get<0>(a.t).statement.t)};
648 .statement.v};
724 constructStmt.source, "unnamed %s statement"_en_US, constructTag);
743 .statement.t)}) {
749 "END DO statement must have the label '%d' matching its DO statement"_err_en_US,
754 "corresponding DO statement"_en_US);
1017 "DO loop currently ends at statement:"_en_US)
1175 msg->Attach(stmt.parserCharBlock, "ASSIGN statement use of '%u'"_en_US,