Lines Matching defs:GetContext
209 void SetLoopIv(Symbol *symbol) { GetContext().loopIV = symbol; }
212 DirectiveContext &GetContext() {
223 GetContext().clauseSource = clause.source;
224 GetContext().clause = &clause;
230 GetContext().allowedClauses = {};
231 GetContext().allowedOnceClauses = {};
232 GetContext().allowedExclusiveClauses = {};
233 GetContext().requiredClauses = {};
234 GetContext().clauseInfo = {};
235 GetContext().loopIV = {nullptr};
239 GetContext().directiveSource = directive;
242 void SetContextDirectiveEnum(D dir) { GetContext().directive = dir; }
245 GetContext().allowedClauses = allowed;
250 GetContext().allowedOnceClauses = allowedOnce;
255 GetContext().allowedExclusiveClauses = allowedExclusive;
259 GetContext().requiredClauses = required;
263 GetContext().clauseInfo.emplace(type, GetContext().clause);
267 GetContext().actualClauses.push_back(type);
271 GetContext().crtGroup.push_back(type);
274 void ResetCrtGroup() { GetContext().crtGroup.clear(); }
277 const PC *FindClause(C type) { return FindClause(GetContext(), type); }
298 auto it{GetContext().clauseInfo.equal_range(type)};
415 for (auto cl : GetContext().actualClauses) {
420 auto parserClause = GetContext().clauseInfo.find(cl);
435 if (GetContext().actualClauses.empty()) {
436 context_.Say(GetContext().directiveSource,
460 if (GetContext().requiredClauses.empty()) {
463 for (auto cl : GetContext().actualClauses) {
464 if (GetContext().requiredClauses.test(cl)) {
471 GetContext().directiveSource,
473 ClauseSetToString(GetContext().requiredClauses),
476 context_.Say(GetContext().directiveSource,
478 ClauseSetToString(GetContext().requiredClauses),
487 getDirectiveName(GetContext().directive).str());
494 if (!GetContext().allowedClauses.test(clause) &&
495 !GetContext().allowedOnceClauses.test(clause) &&
496 !GetContext().allowedExclusiveClauses.test(clause) &&
497 !GetContext().requiredClauses.test(clause)) {
500 GetContext().clauseSource,
503 parser::ToUpperCaseLetters(GetContext().directiveSource.ToString()));
505 context_.Say(GetContext().clauseSource,
508 parser::ToUpperCaseLetters(GetContext().directiveSource.ToString()));
512 if ((GetContext().allowedOnceClauses.test(clause) ||
513 GetContext().allowedExclusiveClauses.test(clause)) &&
515 context_.Say(GetContext().clauseSource,
518 parser::ToUpperCaseLetters(GetContext().directiveSource.ToString()));
521 if (GetContext().allowedExclusiveClauses.test(clause)) {
523 GetContext().allowedExclusiveClauses.IterateOverMembers([&](C o) {
529 context_.Say(GetContext().clauseSource,
534 parser::ToUpperCaseLetters(GetContext().directiveSource.ToString()));
552 if (!llvm::is_contained(GetContext().actualClauses, clause)) {
556 for (auto cl : GetContext().actualClauses) {
558 context_.Say(GetContext().directiveSource,
571 for (auto cl : GetContext().actualClauses) {
574 context_.Say(GetContext().clauseSource,
577 parser::ToUpperCaseLetters(GetContext().directiveSource.ToString()),
594 for (auto cl : GetContext().actualClauses) {
599 context_.Say(GetContext().directiveSource,
608 for (auto cl : GetContext().crtGroup) {
610 context_.Say(GetContext().directiveSource,
626 context_.Say(GetContext().clauseSource,
660 context_.Say(GetContext().clauseSource,