Lines Matching defs:MMToken
1466 struct MMToken {
1563 MMToken Tok;
1583 void skipUntil(MMToken::TokenKind K);
1589 void parseHeaderDecl(MMToken::TokenKind, SourceLocation LeadingLoc);
1642 Tok.Kind = llvm::StringSwitch<MMToken::TokenKind>(RI)
1643 .Case("config_macros", MMToken::ConfigMacros)
1644 .Case("conflict", MMToken::Conflict)
1645 .Case("exclude", MMToken::ExcludeKeyword)
1646 .Case("explicit", MMToken::ExplicitKeyword)
1647 .Case("export", MMToken::ExportKeyword)
1648 .Case("export_as", MMToken::ExportAsKeyword)
1649 .Case("extern", MMToken::ExternKeyword)
1650 .Case("framework", MMToken::FrameworkKeyword)
1651 .Case("header", MMToken::HeaderKeyword)
1652 .Case("link", MMToken::LinkKeyword)
1653 .Case("module", MMToken::ModuleKeyword)
1654 .Case("private", MMToken::PrivateKeyword)
1655 .Case("requires", MMToken::RequiresKeyword)
1656 .Case("textual", MMToken::TextualKeyword)
1657 .Case("umbrella", MMToken::UmbrellaKeyword)
1658 .Case("use", MMToken::UseKeyword)
1659 .Default(MMToken::Identifier);
1664 Tok.Kind = MMToken::Comma;
1668 Tok.Kind = MMToken::EndOfFile;
1672 Tok.Kind = MMToken::LBrace;
1676 Tok.Kind = MMToken::LSquare;
1680 Tok.Kind = MMToken::Period;
1684 Tok.Kind = MMToken::RBrace;
1688 Tok.Kind = MMToken::RSquare;
1692 Tok.Kind = MMToken::Star;
1696 Tok.Kind = MMToken::Exclaim;
1719 Tok.Kind = MMToken::StringLiteral;
1739 Tok.Kind = MMToken::IntegerLiteral;
1760 Tok.Kind = MMToken::EndOfFile;
1775 void ModuleMapParser::skipUntil(MMToken::TokenKind K) {
1780 case MMToken::EndOfFile:
1783 case MMToken::LBrace:
1790 case MMToken::LSquare:
1797 case MMToken::RBrace:
1804 case MMToken::RSquare:
1831 if (Tok.is(MMToken::Identifier) || Tok.is(MMToken::StringLiteral)) {
1840 if (!Tok.is(MMToken::Period))
1951 assert(Tok.is(MMToken::ExplicitKeyword) || Tok.is(MMToken::ModuleKeyword) ||
1952 Tok.is(MMToken::FrameworkKeyword) || Tok.is(MMToken::ExternKeyword));
1953 if (Tok.is(MMToken::ExternKeyword)) {
1965 if (Tok.is(MMToken::ExplicitKeyword)) {
1971 if (Tok.is(MMToken::FrameworkKeyword)) {
1977 if (!Tok.is(MMToken::ModuleKeyword)) {
1987 if (Tok.is(MMToken::Star))
2055 if (!Tok.is(MMToken::LBrace)) {
2099 skipUntil(MMToken::RBrace);
2100 if (Tok.is(MMToken::RBrace))
2119 skipUntil(MMToken::RBrace);
2120 if (Tok.is(MMToken::RBrace))
2169 case MMToken::EndOfFile:
2170 case MMToken::RBrace:
2174 case MMToken::ConfigMacros:
2178 case MMToken::Conflict:
2182 case MMToken::ExplicitKeyword:
2183 case MMToken::ExternKeyword:
2184 case MMToken::FrameworkKeyword:
2185 case MMToken::ModuleKeyword:
2189 case MMToken::ExportKeyword:
2193 case MMToken::ExportAsKeyword:
2197 case MMToken::UseKeyword:
2201 case MMToken::RequiresKeyword:
2205 case MMToken::TextualKeyword:
2206 parseHeaderDecl(MMToken::TextualKeyword, consumeToken());
2209 case MMToken::UmbrellaKeyword: {
2211 if (Tok.is(MMToken::HeaderKeyword))
2212 parseHeaderDecl(MMToken::UmbrellaKeyword, UmbrellaLoc);
2218 case MMToken::ExcludeKeyword:
2219 parseHeaderDecl(MMToken::ExcludeKeyword, consumeToken());
2222 case MMToken::PrivateKeyword:
2223 parseHeaderDecl(MMToken::PrivateKeyword, consumeToken());
2226 case MMToken::HeaderKeyword:
2227 parseHeaderDecl(MMToken::HeaderKeyword, consumeToken());
2230 case MMToken::LinkKeyword:
2241 if (Tok.is(MMToken::RBrace))
2273 assert(Tok.is(MMToken::ExternKeyword));
2277 if (!Tok.is(MMToken::ModuleKeyword)) {
2293 if (!Tok.is(MMToken::StringLiteral)) {
2358 assert(Tok.is(MMToken::RequiresKeyword));
2366 if (Tok.is(MMToken::Exclaim)) {
2371 if (!Tok.is(MMToken::Identifier)) {
2394 if (!Tok.is(MMToken::Comma))
2411 void ModuleMapParser::parseHeaderDecl(MMToken::TokenKind LeadingToken,
2416 if (LeadingToken == MMToken::PrivateKeyword) {
2419 if (Tok.is(MMToken::TextualKeyword)) {
2423 } else if (LeadingToken == MMToken::ExcludeKeyword) {
2427 if (LeadingToken == MMToken::TextualKeyword)
2436 if (LeadingToken != MMToken::HeaderKeyword) {
2437 if (!Tok.is(MMToken::HeaderKeyword)) {
2439 << (LeadingToken == MMToken::PrivateKeyword ? "private" :
2440 LeadingToken == MMToken::ExcludeKeyword ? "exclude" :
2441 LeadingToken == MMToken::TextualKeyword ? "textual" : "umbrella");
2448 if (!Tok.is(MMToken::StringLiteral)) {
2457 Header.IsUmbrella = LeadingToken == MMToken::UmbrellaKeyword;
2471 if (Tok.is(MMToken::LBrace)) {
2474 while (!Tok.is(MMToken::RBrace) && !Tok.is(MMToken::EndOfFile)) {
2485 if (!Tok.is(MMToken::IntegerLiteral)) {
2488 skipUntil(MMToken::RBrace);
2498 if (!Tok.is(MMToken::IntegerLiteral)) {
2501 skipUntil(MMToken::RBrace);
2510 skipUntil(MMToken::RBrace);
2515 if (Tok.is(MMToken::RBrace))
2550 if (!Tok.is(MMToken::StringLiteral)) {
2632 assert(Tok.is(MMToken::ExportKeyword));
2640 if (Tok.is(MMToken::Identifier)) {
2645 if (Tok.is(MMToken::Period)) {
2653 if(Tok.is(MMToken::Star)) {
2675 assert(Tok.is(MMToken::ExportAsKeyword));
2678 if (!Tok.is(MMToken::Identifier)) {
2712 assert(Tok.is(MMToken::UseKeyword));
2729 assert(Tok.is(MMToken::LinkKeyword));
2734 if (Tok.is(MMToken::FrameworkKeyword)) {
2740 if (!Tok.is(MMToken::StringLiteral)) {
2761 assert(Tok.is(MMToken::ConfigMacros));
2780 if (!Tok.is(MMToken::Identifier))
2791 if (!Tok.is(MMToken::Comma))
2797 if (!Tok.is(MMToken::Identifier)) {
2831 assert(Tok.is(MMToken::Conflict));
2840 if (!Tok.is(MMToken::Comma)) {
2848 if (!Tok.is(MMToken::StringLiteral)) {
2870 assert(Tok.is(MMToken::Star));
2909 if (Tok.is(MMToken::LBrace)) {
2911 skipUntil(MMToken::RBrace);
2912 if (Tok.is(MMToken::RBrace))
2938 if (!Tok.is(MMToken::LBrace)) {
2949 case MMToken::EndOfFile:
2950 case MMToken::RBrace:
2954 case MMToken::ExcludeKeyword:
2964 if (!Tok.is(MMToken::Identifier)) {
2974 case MMToken::ExportKeyword:
2983 if (Tok.is(MMToken::Star))
2991 case MMToken::ExplicitKeyword:
2992 case MMToken::ModuleKeyword:
2993 case MMToken::HeaderKeyword:
2994 case MMToken::PrivateKeyword:
2995 case MMToken::UmbrellaKeyword:
3004 if (Tok.is(MMToken::RBrace))
3028 while (Tok.is(MMToken::LSquare)) {
3033 if (!Tok.is(MMToken::Identifier)) {
3035 skipUntil(MMToken::RSquare);
3036 if (Tok.is(MMToken::RSquare))
3074 if (!Tok.is(MMToken::RSquare)) {
3077 skipUntil(MMToken::RSquare);
3081 if (Tok.is(MMToken::RSquare))
3095 case MMToken::EndOfFile:
3098 case MMToken::ExplicitKeyword:
3099 case MMToken::ExternKeyword:
3100 case MMToken::ModuleKeyword:
3101 case MMToken::FrameworkKeyword:
3105 case MMToken::Comma:
3106 case MMToken::ConfigMacros:
3107 case MMToken::Conflict:
3108 case MMToken::Exclaim:
3109 case MMToken::ExcludeKeyword:
3110 case MMToken::ExportKeyword:
3111 case MMToken::ExportAsKeyword:
3112 case MMToken::HeaderKeyword:
3113 case MMToken::Identifier:
3114 case MMToken::LBrace:
3115 case MMToken::LinkKeyword:
3116 case MMToken::LSquare:
3117 case MMToken::Period:
3118 case MMToken::PrivateKeyword:
3119 case MMToken::RBrace:
3120 case MMToken::RSquare:
3121 case MMToken::RequiresKeyword:
3122 case MMToken::Star:
3123 case MMToken::StringLiteral:
3124 case MMToken::IntegerLiteral:
3125 case MMToken::TextualKeyword:
3126 case MMToken::UmbrellaKeyword:
3127 case MMToken::UseKeyword: