reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
115 emitSourceFileHeader("Option Parsing Definitions", OS); 136 OS << "/////////\n"; 137 OS << "// Prefixes\n\n"; 138 OS << "#ifdef PREFIX\n"; 139 OS << "#define COMMA ,\n"; 142 OS << "PREFIX("; 145 OS << I->second; 148 OS << ", {"; 151 OS << "\"" << *PI << "\" COMMA "; 153 OS << "nullptr})\n"; 155 OS << "#undef COMMA\n"; 156 OS << "#endif // PREFIX\n\n"; 158 OS << "/////////\n"; 159 OS << "// Groups\n\n"; 160 OS << "#ifdef OPTION\n"; 165 OS << "OPTION("; 168 OS << "nullptr"; 171 OS << ", \"" << R.getValueAsString("Name") << '"'; 174 OS << ", "<< getOptionName(R); 177 OS << ", Group"; 180 OS << ", "; 182 OS << getOptionName(*DI->getDef()); 184 OS << "INVALID"; 187 OS << ", INVALID, nullptr, 0, 0"; 191 OS << ",\n"; 192 OS << " "; 193 write_cstring(OS, R.getValueAsString("HelpText")); 195 OS << ", nullptr"; 198 OS << ", nullptr"; 201 OS << ", nullptr)\n"; 203 OS << "\n"; 205 OS << "//////////\n"; 206 OS << "// Options\n\n"; 211 OS << "OPTION("; 215 OS << Prefixes[PrefixKeyT(prf.begin(), prf.end())] << ", "; 218 write_cstring(OS, R.getValueAsString("Name")); 221 OS << ", "<< getOptionName(R); 224 OS << ", " << R.getValueAsDef("Kind")->getValueAsString("Name"); 227 OS << ", "; 231 OS << getOptionName(*DI->getDef()); 233 OS << "INVALID"; 236 OS << ", "; 238 OS << getOptionName(*DI->getDef()); 240 OS << "INVALID"; 246 OS << ", "; 249 OS << "nullptr"; 251 OS << "\""; 253 OS << AliasArgs[i] << "\\0"; 254 OS << "\""; 258 OS << ", "; 262 OS << (NumFlags++ ? " | " : "") 266 OS << (NumFlags++ ? " | " : "") 270 OS << '0'; 273 OS << ", " << R.getValueAsInt("NumArgs"); 277 OS << ",\n"; 278 OS << " "; 279 write_cstring(OS, R.getValueAsString("HelpText")); 281 OS << ", nullptr"; 284 OS << ", "; 286 write_cstring(OS, R.getValueAsString("MetaVarName")); 288 OS << "nullptr"; 291 OS << ", "; 293 write_cstring(OS, R.getValueAsString("Values")); 295 OS << "nullptr"; 297 OS << ")\n"; 299 OS << "#endif // OPTION\n"; 301 OS << "\n"; 302 OS << "#ifdef OPTTABLE_ARG_INIT\n"; 303 OS << "//////////\n"; 304 OS << "// Option Values\n\n"; 309 OS << "{\n"; 310 OS << "bool ValuesWereAdded;\n"; 311 OS << R.getValueAsString("ValuesCode"); 312 OS << "\n"; 314 OS << "ValuesWereAdded = Opt.addValues("; 316 write_cstring(OS, S); 317 OS << ", Values);\n"; 318 OS << "(void)ValuesWereAdded;\n"; 319 OS << "assert(ValuesWereAdded && \"Couldn't add values to " 322 OS << "}\n"; 324 OS << "\n"; 325 OS << "#endif // OPTTABLE_ARG_INIT\n";