Lines Matching refs:MMToken
29 struct MMToken { struct
105 MMToken Tok{};
116 std::optional<HeaderDecl> parseHeaderDecl(MMToken::TokenKind LeadingToken,
124 void skipUntil(MMToken::TokenKind K);
182 case MMToken::EndOfFile: in parseTopLevelDecls()
184 case MMToken::ExternKeyword: { in parseTopLevelDecls()
190 case MMToken::ExplicitKeyword: in parseTopLevelDecls()
191 case MMToken::ModuleKeyword: in parseTopLevelDecls()
192 case MMToken::FrameworkKeyword: { in parseTopLevelDecls()
198 case MMToken::Comma: in parseTopLevelDecls()
199 case MMToken::ConfigMacros: in parseTopLevelDecls()
200 case MMToken::Conflict: in parseTopLevelDecls()
201 case MMToken::Exclaim: in parseTopLevelDecls()
202 case MMToken::ExcludeKeyword: in parseTopLevelDecls()
203 case MMToken::ExportKeyword: in parseTopLevelDecls()
204 case MMToken::ExportAsKeyword: in parseTopLevelDecls()
205 case MMToken::HeaderKeyword: in parseTopLevelDecls()
206 case MMToken::Identifier: in parseTopLevelDecls()
207 case MMToken::LBrace: in parseTopLevelDecls()
208 case MMToken::LinkKeyword: in parseTopLevelDecls()
209 case MMToken::LSquare: in parseTopLevelDecls()
210 case MMToken::Period: in parseTopLevelDecls()
211 case MMToken::PrivateKeyword: in parseTopLevelDecls()
212 case MMToken::RBrace: in parseTopLevelDecls()
213 case MMToken::RSquare: in parseTopLevelDecls()
214 case MMToken::RequiresKeyword: in parseTopLevelDecls()
215 case MMToken::Star: in parseTopLevelDecls()
216 case MMToken::StringLiteral: in parseTopLevelDecls()
217 case MMToken::IntegerLiteral: in parseTopLevelDecls()
218 case MMToken::TextualKeyword: in parseTopLevelDecls()
219 case MMToken::UmbrellaKeyword: in parseTopLevelDecls()
220 case MMToken::UseKeyword: in parseTopLevelDecls()
248 assert(Tok.is(MMToken::ExplicitKeyword) || Tok.is(MMToken::ModuleKeyword) || in parseModuleDecl()
249 Tok.is(MMToken::FrameworkKeyword)); in parseModuleDecl()
258 if (Tok.is(MMToken::ExplicitKeyword)) { in parseModuleDecl()
264 if (Tok.is(MMToken::FrameworkKeyword)) { in parseModuleDecl()
272 if (!Tok.is(MMToken::ModuleKeyword)) { in parseModuleDecl()
284 if (Tok.is(MMToken::Star)) { in parseModuleDecl()
319 if (!Tok.is(MMToken::LBrace)) { in parseModuleDecl()
331 case MMToken::EndOfFile: in parseModuleDecl()
332 case MMToken::RBrace: in parseModuleDecl()
336 case MMToken::ConfigMacros: in parseModuleDecl()
343 case MMToken::Conflict: in parseModuleDecl()
347 case MMToken::ExternKeyword: in parseModuleDecl()
351 case MMToken::ExplicitKeyword: in parseModuleDecl()
352 case MMToken::FrameworkKeyword: in parseModuleDecl()
353 case MMToken::ModuleKeyword: in parseModuleDecl()
357 case MMToken::ExportKeyword: in parseModuleDecl()
361 case MMToken::ExportAsKeyword: in parseModuleDecl()
369 case MMToken::UseKeyword: in parseModuleDecl()
373 case MMToken::RequiresKeyword: in parseModuleDecl()
377 case MMToken::TextualKeyword: in parseModuleDecl()
378 SubDecl = parseHeaderDecl(MMToken::TextualKeyword, consumeToken()); in parseModuleDecl()
381 case MMToken::UmbrellaKeyword: { in parseModuleDecl()
383 if (Tok.is(MMToken::HeaderKeyword)) in parseModuleDecl()
384 SubDecl = parseHeaderDecl(MMToken::UmbrellaKeyword, UmbrellaLoc); in parseModuleDecl()
390 case MMToken::ExcludeKeyword: { in parseModuleDecl()
392 if (Tok.is(MMToken::HeaderKeyword)) in parseModuleDecl()
393 SubDecl = parseHeaderDecl(MMToken::ExcludeKeyword, ExcludeLoc); in parseModuleDecl()
399 case MMToken::PrivateKeyword: in parseModuleDecl()
400 SubDecl = parseHeaderDecl(MMToken::PrivateKeyword, consumeToken()); in parseModuleDecl()
403 case MMToken::HeaderKeyword: in parseModuleDecl()
404 SubDecl = parseHeaderDecl(MMToken::HeaderKeyword, consumeToken()); in parseModuleDecl()
407 case MMToken::LinkKeyword: in parseModuleDecl()
420 if (Tok.is(MMToken::RBrace)) in parseModuleDecl()
431 assert(Tok.is(MMToken::ExternKeyword)); in parseExternModuleDecl()
436 if (!Tok.is(MMToken::ModuleKeyword)) { in parseExternModuleDecl()
451 if (!Tok.is(MMToken::StringLiteral)) { in parseExternModuleDecl()
470 assert(Tok.is(MMToken::ConfigMacros)); in parseConfigMacrosDecl()
483 if (!Tok.is(MMToken::Identifier)) in parseConfigMacrosDecl()
492 if (!Tok.is(MMToken::Comma)) in parseConfigMacrosDecl()
498 if (!Tok.is(MMToken::Identifier)) { in parseConfigMacrosDecl()
515 assert(Tok.is(MMToken::Conflict)); in parseConflictDecl()
524 if (!Tok.is(MMToken::Comma)) { in parseConflictDecl()
532 if (!Tok.is(MMToken::StringLiteral)) { in parseConflictDecl()
552 assert(Tok.is(MMToken::ExportKeyword)); in parseExportDecl()
560 if (Tok.is(MMToken::Identifier)) { in parseExportDecl()
565 if (Tok.is(MMToken::Period)) { in parseExportDecl()
573 if (Tok.is(MMToken::Star)) { in parseExportDecl()
592 assert(Tok.is(MMToken::ExportAsKeyword)); in parseExportAsDecl()
596 if (!Tok.is(MMToken::Identifier)) { in parseExportAsDecl()
614 assert(Tok.is(MMToken::UseKeyword)); in parseUseDecl()
634 assert(Tok.is(MMToken::RequiresKeyword)); in parseRequiresDecl()
641 if (Tok.is(MMToken::Exclaim)) { in parseRequiresDecl()
646 if (!Tok.is(MMToken::Identifier)) { in parseRequiresDecl()
660 if (!Tok.is(MMToken::Comma)) in parseRequiresDecl()
677 ModuleMapFileParser::parseHeaderDecl(MMToken::TokenKind LeadingToken, in parseHeaderDecl()
686 if (LeadingToken == MMToken::PrivateKeyword) { in parseHeaderDecl()
689 if (Tok.is(MMToken::TextualKeyword)) { in parseHeaderDecl()
694 } else if (LeadingToken == MMToken::ExcludeKeyword) in parseHeaderDecl()
696 else if (LeadingToken == MMToken::TextualKeyword) in parseHeaderDecl()
699 if (LeadingToken != MMToken::HeaderKeyword) { in parseHeaderDecl()
700 if (!Tok.is(MMToken::HeaderKeyword)) { in parseHeaderDecl()
702 << (LeadingToken == MMToken::PrivateKeyword ? "private" in parseHeaderDecl()
703 : LeadingToken == MMToken::ExcludeKeyword ? "exclude" in parseHeaderDecl()
704 : LeadingToken == MMToken::TextualKeyword ? "textual" in parseHeaderDecl()
712 if (!Tok.is(MMToken::StringLiteral)) { in parseHeaderDecl()
719 HD.Umbrella = LeadingToken == MMToken::UmbrellaKeyword; in parseHeaderDecl()
723 if (Tok.is(MMToken::LBrace)) { in parseHeaderDecl()
726 while (!Tok.is(MMToken::RBrace) && !Tok.is(MMToken::EndOfFile)) { in parseHeaderDecl()
737 if (!Tok.is(MMToken::IntegerLiteral)) { in parseHeaderDecl()
741 skipUntil(MMToken::RBrace); in parseHeaderDecl()
751 if (!Tok.is(MMToken::IntegerLiteral)) { in parseHeaderDecl()
755 skipUntil(MMToken::RBrace); in parseHeaderDecl()
764 skipUntil(MMToken::RBrace); in parseHeaderDecl()
769 if (Tok.is(MMToken::RBrace)) in parseHeaderDecl()
787 if (!Tok.is(MMToken::Identifier)) { in parseExcludeDecl()
809 if (!Tok.is(MMToken::StringLiteral)) { in parseUmbrellaDirDecl()
826 assert(Tok.is(MMToken::LinkKeyword)); in parseLinkDecl()
832 if (Tok.is(MMToken::FrameworkKeyword)) { in parseLinkDecl()
838 if (!Tok.is(MMToken::StringLiteral)) { in parseLinkDecl()
863 Tok.Kind = llvm::StringSwitch<MMToken::TokenKind>(RI) in consumeToken()
864 .Case("config_macros", MMToken::ConfigMacros) in consumeToken()
865 .Case("conflict", MMToken::Conflict) in consumeToken()
866 .Case("exclude", MMToken::ExcludeKeyword) in consumeToken()
867 .Case("explicit", MMToken::ExplicitKeyword) in consumeToken()
868 .Case("export", MMToken::ExportKeyword) in consumeToken()
869 .Case("export_as", MMToken::ExportAsKeyword) in consumeToken()
870 .Case("extern", MMToken::ExternKeyword) in consumeToken()
871 .Case("framework", MMToken::FrameworkKeyword) in consumeToken()
872 .Case("header", MMToken::HeaderKeyword) in consumeToken()
873 .Case("link", MMToken::LinkKeyword) in consumeToken()
874 .Case("module", MMToken::ModuleKeyword) in consumeToken()
875 .Case("private", MMToken::PrivateKeyword) in consumeToken()
876 .Case("requires", MMToken::RequiresKeyword) in consumeToken()
877 .Case("textual", MMToken::TextualKeyword) in consumeToken()
878 .Case("umbrella", MMToken::UmbrellaKeyword) in consumeToken()
879 .Case("use", MMToken::UseKeyword) in consumeToken()
880 .Default(MMToken::Identifier); in consumeToken()
885 Tok.Kind = MMToken::Comma; in consumeToken()
889 Tok.Kind = MMToken::EndOfFile; in consumeToken()
893 Tok.Kind = MMToken::LBrace; in consumeToken()
897 Tok.Kind = MMToken::LSquare; in consumeToken()
901 Tok.Kind = MMToken::Period; in consumeToken()
905 Tok.Kind = MMToken::RBrace; in consumeToken()
909 Tok.Kind = MMToken::RSquare; in consumeToken()
913 Tok.Kind = MMToken::Star; in consumeToken()
917 Tok.Kind = MMToken::Exclaim; in consumeToken()
928 Tok.Kind = MMToken::StringLiteral; in consumeToken()
944 Tok.Kind = MMToken::IntegerLiteral; in consumeToken()
965 Tok.Kind = MMToken::EndOfFile; in consumeToken()
980 void ModuleMapFileParser::skipUntil(MMToken::TokenKind K) { in skipUntil()
985 case MMToken::EndOfFile: in skipUntil()
988 case MMToken::LBrace: in skipUntil()
995 case MMToken::LSquare: in skipUntil()
1002 case MMToken::RBrace: in skipUntil()
1009 case MMToken::RSquare: in skipUntil()
1036 if (Tok.is(MMToken::Identifier) || Tok.is(MMToken::StringLiteral)) { in parseModuleId()
1045 if (!Tok.is(MMToken::Period)) in parseModuleId()
1069 while (Tok.is(MMToken::LSquare)) { in parseOptionalAttributes()
1074 if (!Tok.is(MMToken::Identifier)) { in parseOptionalAttributes()
1076 skipUntil(MMToken::RSquare); in parseOptionalAttributes()
1077 if (Tok.is(MMToken::RSquare)) in parseOptionalAttributes()
1133 if (!Tok.is(MMToken::RSquare)) { in parseOptionalAttributes()
1136 skipUntil(MMToken::RSquare); in parseOptionalAttributes()
1140 if (Tok.is(MMToken::RSquare)) in parseOptionalAttributes()