Lines Matching full:os
32 static raw_ostream &writeStrTableOffset(raw_ostream &OS, in writeStrTableOffset() argument
35 OS << Table.GetStringOffset(Str) << " /* "; in writeStrTableOffset()
36 OS.write_escaped(Str); in writeStrTableOffset()
37 OS << " */"; in writeStrTableOffset()
38 return OS; in writeStrTableOffset()
41 static raw_ostream &writeCstring(raw_ostream &OS, llvm::StringRef Str) { in writeCstring() argument
42 OS << '"'; in writeCstring()
43 OS.write_escaped(Str); in writeCstring()
44 OS << '"'; in writeCstring()
45 return OS; in writeCstring()
102 void emit(raw_ostream &OS) const { in emit()
103 OS << ShouldParse; in emit()
104 OS << ", "; in emit()
105 OS << ShouldAlwaysEmit; in emit()
106 OS << ", "; in emit()
107 OS << KeyPath; in emit()
108 OS << ", "; in emit()
109 emitScopedNormalizedValue(OS, DefaultValue); in emit()
110 OS << ", "; in emit()
111 OS << ImpliedCheck; in emit()
112 OS << ", "; in emit()
113 emitScopedNormalizedValue(OS, ImpliedValue); in emit()
114 OS << ", "; in emit()
115 OS << Normalizer; in emit()
116 OS << ", "; in emit()
117 OS << Denormalizer; in emit()
118 OS << ", "; in emit()
119 OS << ValueMerger; in emit()
120 OS << ", "; in emit()
121 OS << ValueExtractor; in emit()
122 OS << ", "; in emit()
123 OS << TableIndex; in emit()
126 std::optional<StringRef> emitValueTable(raw_ostream &OS) const { in emitValueTable()
129 OS << "static const SimpleEnumValue " << ValueTableName << "[] = {\n"; in emitValueTable()
131 OS << "{"; in emitValueTable()
132 writeCstring(OS, Values[I]); in emitValueTable()
133 OS << ","; in emitValueTable()
134 OS << "static_cast<unsigned>("; in emitValueTable()
135 emitScopedNormalizedValue(OS, NormalizedValues[I]); in emitValueTable()
136 OS << ")},"; in emitValueTable()
138 OS << "};\n"; in emitValueTable()
143 void emitScopedNormalizedValue(raw_ostream &OS, in emitScopedNormalizedValue() argument
146 OS << NormalizedValuesScope << "::"; in emitScopedNormalizedValue()
147 OS << NormalizedValue; in emitScopedNormalizedValue()
206 raw_ostream &OS, std::vector<std::pair<std::vector<std::string>, StringRef>> in emitHelpTextsForVariants() argument
225 OS << ", (std::array<std::pair<std::array<unsigned, " << MaxVisibilityPerHelp in emitHelpTextsForVariants()
236 OS << "{std::array<unsigned, " << MaxVisibilityPerHelp << ">{{" in emitHelpTextsForVariants()
240 writeCstring(OS, Help); in emitHelpTextsForVariants()
242 OS << "nullptr"; in emitHelpTextsForVariants()
243 OS << "}"; in emitHelpTextsForVariants()
246 OS << ", "; in emitHelpTextsForVariants()
248 OS << " }})"; in emitHelpTextsForVariants()
254 static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) { in emitOptionParser() argument
261 emitSourceFileHeader("Option Parsing Definitions", OS); in emitOptionParser()
291 OS << "/////////\n"; in emitOptionParser()
292 OS << "// String table\n\n"; in emitOptionParser()
293 OS << "#ifdef OPTTABLE_STR_TABLE_CODE\n"; in emitOptionParser()
294 Table.EmitStringTableDef(OS, "OptionStrTable"); in emitOptionParser()
295 OS << "#endif // OPTTABLE_STR_TABLE_CODE\n\n"; in emitOptionParser()
298 OS << "/////////\n"; in emitOptionParser()
299 OS << "// Prefixes\n\n"; in emitOptionParser()
300 OS << "#ifdef OPTTABLE_PREFIXES_TABLE_CODE\n"; in emitOptionParser()
301 OS << "static constexpr llvm::StringTable::Offset OptionPrefixesTable[] = " in emitOptionParser()
313 OS << Sep << " " << Prefix.size() << " /* prefixes */"; in emitOptionParser()
318 OS << ", " << *Table.GetStringOffset(PrefixKey) << " /* '" << PrefixKey in emitOptionParser()
323 OS << "\n};\n"; in emitOptionParser()
324 OS << "#endif // OPTTABLE_PREFIXES_TABLE_CODE\n\n"; in emitOptionParser()
327 OS << "/////////\n"; in emitOptionParser()
328 OS << "// Prefix Union\n\n"; in emitOptionParser()
329 OS << "#ifdef OPTTABLE_PREFIXES_UNION_CODE\n"; in emitOptionParser()
330 OS << "static constexpr llvm::StringTable::Offset OptionPrefixesUnion[] = " in emitOptionParser()
335 OS << Sep << " " << *Table.GetStringOffset(Prefix) << " /* '" << Prefix in emitOptionParser()
338 OS << "\n};\n"; in emitOptionParser()
339 OS << "#endif // OPTTABLE_PREFIXES_UNION_CODE\n\n"; in emitOptionParser()
342 OS << "/////////\n"; in emitOptionParser()
343 OS << "// ValuesCode\n\n"; in emitOptionParser()
344 OS << "#ifdef OPTTABLE_VALUES_CODE\n"; in emitOptionParser()
350 OS << "#define VALUES_CODE " << getOptionName(R) << "_Values\n"; in emitOptionParser()
351 OS << R.getValueAsString("ValuesCode") << "\n"; in emitOptionParser()
352 OS << "#undef VALUES_CODE\n"; in emitOptionParser()
355 OS << "#endif\n"; in emitOptionParser()
357 OS << "/////////\n"; in emitOptionParser()
358 OS << "// Groups\n\n"; in emitOptionParser()
359 OS << "#ifdef OPTION\n"; in emitOptionParser()
362 OS << "OPTION("; in emitOptionParser()
365 OS << "0 /* no prefixes */"; in emitOptionParser()
368 OS << ", "; in emitOptionParser()
369 writeStrTableOffset(OS, Table, R.getValueAsString("Name")); in emitOptionParser()
372 OS << ", " << getOptionName(R); in emitOptionParser()
375 OS << ", Group"; in emitOptionParser()
378 OS << ", "; in emitOptionParser()
380 OS << getOptionName(*DI->getDef()); in emitOptionParser()
382 OS << "INVALID"; in emitOptionParser()
385 OS << ", INVALID, nullptr, 0, 0, 0"; in emitOptionParser()
389 OS << ",\n"; in emitOptionParser()
390 OS << " "; in emitOptionParser()
391 writeCstring(OS, R.getValueAsString("HelpText")); in emitOptionParser()
393 OS << ", nullptr"; in emitOptionParser()
397 emitHelpTextsForVariants(OS, {}); in emitOptionParser()
400 OS << ", nullptr"; in emitOptionParser()
403 OS << ", nullptr)\n"; in emitOptionParser()
405 OS << "\n"; in emitOptionParser()
407 OS << "//////////\n"; in emitOptionParser()
408 OS << "// Options\n\n"; in emitOptionParser()
410 auto WriteOptRecordFields = [&](raw_ostream &OS, const Record &R) { in emitOptionParser() argument
413 OS << Prefixes[PrefixKeyT(RPrefixes.begin(), RPrefixes.end())] << ", "; in emitOptionParser()
416 writeStrTableOffset(OS, Table, getOptionPrefixedName(R)); in emitOptionParser()
419 OS << ", " << getOptionName(R); in emitOptionParser()
422 OS << ", " << R.getValueAsDef("Kind")->getValueAsString("Name"); in emitOptionParser()
425 OS << ", "; in emitOptionParser()
431 OS << getOptionName(*DI->getDef()); in emitOptionParser()
433 OS << "INVALID"; in emitOptionParser()
437 OS << ", "; in emitOptionParser()
439 OS << getOptionName(*DI->getDef()); in emitOptionParser()
441 OS << "INVALID"; in emitOptionParser()
447 OS << ", "; in emitOptionParser()
450 OS << "nullptr"; in emitOptionParser()
452 OS << "\""; in emitOptionParser()
454 OS << AliasArg << "\\0"; in emitOptionParser()
455 OS << "\""; in emitOptionParser()
459 OS << ", "; in emitOptionParser()
463 OS << (NumFlags++ ? " | " : "") << cast<DefInit>(I)->getDef()->getName(); in emitOptionParser()
466 OS << (NumFlags++ ? " | " : "") in emitOptionParser()
470 OS << '0'; in emitOptionParser()
473 OS << ", "; in emitOptionParser()
477 OS << (NumVisFlags++ ? " | " : "") in emitOptionParser()
481 OS << (NumVisFlags++ ? " | " : "") in emitOptionParser()
485 OS << '0'; in emitOptionParser()
488 OS << ", " << R.getValueAsInt("NumArgs"); in emitOptionParser()
492 OS << ",\n"; in emitOptionParser()
493 OS << " "; in emitOptionParser()
494 writeCstring(OS, R.getValueAsString("HelpText")); in emitOptionParser()
496 OS << ", nullptr"; in emitOptionParser()
513 emitHelpTextsForVariants(OS, std::move(HelpTextsForVariants)); in emitOptionParser()
516 OS << ", "; in emitOptionParser()
518 writeCstring(OS, R.getValueAsString("MetaVarName")); in emitOptionParser()
520 OS << "nullptr"; in emitOptionParser()
523 OS << ", "; in emitOptionParser()
525 writeCstring(OS, R.getValueAsString("Values")); in emitOptionParser()
527 OS << getOptionName(R) << "_Values"; in emitOptionParser()
529 OS << "nullptr"; in emitOptionParser()
540 OS << "OPTION("; in emitOptionParser()
541 WriteOptRecordFields(OS, R); in emitOptionParser()
542 OS << ")\n"; in emitOptionParser()
546 OS << "#endif // OPTION\n"; in emitOptionParser()
571 OS << "#ifdef " << MI.getMacroName() << "\n"; in emitOptionParser()
572 OS << MI.getMacroName() << "("; in emitOptionParser()
573 WriteOptRecordFields(OS, MI.R); in emitOptionParser()
574 OS << ", "; in emitOptionParser()
575 MI.emit(OS); in emitOptionParser()
576 OS << ")\n"; in emitOptionParser()
577 OS << "#endif // " << MI.getMacroName() << "\n"; in emitOptionParser()
580 OS << "\n"; in emitOptionParser()
581 OS << "#ifdef SIMPLE_ENUM_VALUE_TABLE"; in emitOptionParser()
582 OS << "\n"; in emitOptionParser()
583 OS << MarshallingInfo::ValueTablePreamble; in emitOptionParser()
586 if (auto MaybeValueTableName = MI.emitValueTable(OS)) in emitOptionParser()
589 OS << MarshallingInfo::ValueTablesDecl << "{"; in emitOptionParser()
591 OS << "{" << ValueTableName << ", std::size(" << ValueTableName << ")},\n"; in emitOptionParser()
592 OS << "};\n"; in emitOptionParser()
593 OS << "static const unsigned SimpleEnumValueTablesSize = " in emitOptionParser()
596 OS << "#endif // SIMPLE_ENUM_VALUE_TABLE\n"; in emitOptionParser()
597 OS << "\n"; in emitOptionParser()
599 OS << "\n"; in emitOptionParser()