Lines Matching defs:R
22 static std::string getOptionName(const Record &R) {
24 if (isa<UnsetInit>(R.getValueInit("EnumName")))
25 return std::string(R.getName());
27 return std::string(R.getValueAsString("EnumName"));
37 static std::string getOptionPrefixedName(const Record &R) {
38 std::vector<StringRef> Prefixes = R.getValueAsListOfStrings("Prefixes");
39 StringRef Name = R.getValueAsString("Name");
50 const Record &R;
70 static constexpr const char *ValueTablePreamble = R"(
85 MarshallingInfo(const Record &R) : R(R) {}
142 static MarshallingInfo createMarshallingInfo(const Record &R) {
143 assert(!isa<UnsetInit>(R.getValueInit("KeyPath")) &&
144 !isa<UnsetInit>(R.getValueInit("DefaultValue")) &&
145 !isa<UnsetInit>(R.getValueInit("ValueMerger")) &&
149 MarshallingInfo Ret(R);
151 Ret.ShouldAlwaysEmit = R.getValueAsBit("ShouldAlwaysEmit");
152 Ret.MacroPrefix = R.getValueAsString("MacroPrefix");
153 Ret.KeyPath = R.getValueAsString("KeyPath");
154 Ret.DefaultValue = R.getValueAsString("DefaultValue");
155 Ret.NormalizedValuesScope = R.getValueAsString("NormalizedValuesScope");
156 Ret.ImpliedCheck = R.getValueAsString("ImpliedCheck");
158 R.getValueAsOptionalString("ImpliedValue").value_or(Ret.DefaultValue);
160 Ret.ShouldParse = R.getValueAsString("ShouldParse");
161 Ret.Normalizer = R.getValueAsString("Normalizer");
162 Ret.Denormalizer = R.getValueAsString("Denormalizer");
163 Ret.ValueMerger = R.getValueAsString("ValueMerger");
164 Ret.ValueExtractor = R.getValueAsString("ValueExtractor");
166 if (!isa<UnsetInit>(R.getValueInit("NormalizedValues"))) {
167 assert(!isa<UnsetInit>(R.getValueInit("Values")) &&
170 Ret.NormalizedValues = R.getValueAsListOfStrings("NormalizedValues");
172 Ret.ValueTableName = getOptionName(R) + "ValueTable";
174 StringRef ValuesStr = R.getValueAsString("Values");
268 for (const Record &R : llvm::make_pointee_range(Opts)) {
269 std::vector<StringRef> RPrefixes = R.getValueAsListOfStrings("Prefixes");
322 for (const Record &R : llvm::make_pointee_range(Opts)) {
324 if (!isa<UnsetInit>(R.getValueInit("ValuesCode"))) {
325 assert(isa<UnsetInit>(R.getValueInit("Values")) &&
327 OS << "#define VALUES_CODE " << getOptionName(R) << "_Values\n";
328 OS << R.getValueAsString("ValuesCode") << "\n";
337 for (const Record &R : llvm::make_pointee_range(Groups)) {
345 OS << ", \"" << R.getValueAsString("Name") << '"';
348 OS << ", " << getOptionName(R);
355 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Group")))
364 if (!isa<UnsetInit>(R.getValueInit("HelpText"))) {
367 write_cstring(OS, R.getValueAsString("HelpText"));
385 auto WriteOptRecordFields = [&](raw_ostream &OS, const Record &R) {
387 std::vector<StringRef> RPrefixes = R.getValueAsListOfStrings("Prefixes");
391 write_cstring(OS, getOptionPrefixedName(R));
394 OS << ", " << getOptionName(R);
397 OS << ", " << R.getValueAsDef("Kind")->getValueAsString("Name");
403 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Group"))) {
412 if (const DefInit *DI = dyn_cast<DefInit>(R.getValueInit("Alias")))
422 std::vector<StringRef> AliasArgs = R.getValueAsListOfStrings("AliasArgs");
435 const ListInit *LI = R.getValueAsListInit("Flags");
449 LI = R.getValueAsListInit("Visibility");
462 OS << ", " << R.getValueAsInt("NumArgs");
465 if (!isa<UnsetInit>(R.getValueInit("HelpText"))) {
468 write_cstring(OS, R.getValueAsString("HelpText"));
475 R.getValueAsListOfDefs("HelpTextsForVariants")) {
490 if (!isa<UnsetInit>(R.getValueInit("MetaVarName")))
491 write_cstring(OS, R.getValueAsString("MetaVarName"));
497 if (!isa<UnsetInit>(R.getValueInit("Values")))
498 write_cstring(OS, R.getValueAsString("Values"));
499 else if (!isa<UnsetInit>(R.getValueInit("ValuesCode"))) {
500 OS << getOptionName(R) << "_Values";
505 auto IsMarshallingOption = [](const Record &R) {
506 return !isa<UnsetInit>(R.getValueInit("KeyPath")) &&
507 !R.getValueAsString("KeyPath").empty();
511 for (const Record &R : llvm::make_pointee_range(Opts)) {
514 WriteOptRecordFields(OS, R);
516 if (IsMarshallingOption(R))
517 OptsWithMarshalling.push_back(&R);
540 for (const auto *R : OptsWithMarshalling)
541 MarshallingInfos.push_back(createMarshallingInfo(*R));
546 WriteOptRecordFields(OS, MI.R);