Lines Matching refs:OS

29 static raw_ostream &write_cstring(raw_ostream &OS, llvm::StringRef Str) {
30 OS << '"';
31 OS.write_escaped(Str);
32 OS << '"';
33 return OS;
40 void EmitOptParser(RecordKeeper &Records, raw_ostream &OS) {
46 emitSourceFileHeader("Option Parsing Definitions", OS);
67 OS << "/////////\n";
68 OS << "// Prefixes\n\n";
69 OS << "#ifdef PREFIX\n";
70 OS << "#define COMMA ,\n";
73 OS << "PREFIX(";
76 OS << I->second;
79 OS << ", {";
82 OS << "\"" << *PI << "\" COMMA ";
84 OS << "nullptr})\n";
86 OS << "#undef COMMA\n";
87 OS << "#endif // PREFIX\n\n";
89 OS << "/////////\n";
90 OS << "// Groups\n\n";
91 OS << "#ifdef OPTION\n";
96 OS << "OPTION(";
99 OS << "nullptr";
102 OS << ", \"" << R.getValueAsString("Name") << '"';
105 OS << ", "<< getOptionName(R);
108 OS << ", Group";
111 OS << ", ";
113 OS << getOptionName(*DI->getDef());
115 OS << "INVALID";
118 OS << ", INVALID, nullptr, 0, 0";
122 OS << ",\n";
123 OS << " ";
124 write_cstring(OS, R.getValueAsString("HelpText"));
126 OS << ", nullptr";
129 OS << ", nullptr";
132 OS << ", nullptr)\n";
134 OS << "\n";
136 OS << "//////////\n";
137 OS << "// Options\n\n";
142 OS << "OPTION(";
146 OS << Prefixes[PrefixKeyT(prf.begin(), prf.end())] << ", ";
149 write_cstring(OS, R.getValueAsString("Name"));
152 OS << ", "<< getOptionName(R);
155 OS << ", " << R.getValueAsDef("Kind")->getValueAsString("Name");
158 OS << ", ";
162 OS << getOptionName(*DI->getDef());
164 OS << "INVALID";
167 OS << ", ";
169 OS << getOptionName(*DI->getDef());
171 OS << "INVALID";
177 OS << ", ";
180 OS << "nullptr";
182 OS << "\"";
184 OS << AliasArgs[i] << "\\0";
185 OS << "\"";
189 OS << ", ";
193 OS << (NumFlags++ ? " | " : "")
197 OS << (NumFlags++ ? " | " : "")
201 OS << '0';
204 OS << ", " << R.getValueAsInt("NumArgs");
208 OS << ",\n";
209 OS << " ";
210 write_cstring(OS, R.getValueAsString("HelpText"));
212 OS << ", nullptr";
215 OS << ", ";
217 write_cstring(OS, R.getValueAsString("MetaVarName"));
219 OS << "nullptr";
222 OS << ", ";
224 write_cstring(OS, R.getValueAsString("Values"));
226 OS << "nullptr";
228 OS << ")\n";
230 OS << "#endif // OPTION\n";
232 OS << "\n";
233 OS << "#ifdef OPTTABLE_ARG_INIT\n";
234 OS << "//////////\n";
235 OS << "// Option Values\n\n";
240 OS << "{\n";
241 OS << "bool ValuesWereAdded;\n";
242 OS << R.getValueAsString("ValuesCode");
243 OS << "\n";
245 OS << "ValuesWereAdded = Opt.addValues(";
247 write_cstring(OS, S);
248 OS << ", Values);\n";
249 OS << "(void)ValuesWereAdded;\n";
250 OS << "assert(ValuesWereAdded && \"Couldn't add values to "
253 OS << "}\n";
255 OS << "\n";
256 OS << "#endif // OPTTABLE_ARG_INIT\n";