Lines Matching defs:Option

27   Record *Option;
43 static bool hasFlag(const Record *Option, StringRef OptionFlag,
45 for (const Record *Flag : Option->getValueAsListOfDefs(FlagsField))
48 if (const DefInit *DI = dyn_cast<DefInit>(Option->getValueInit("Group")))
55 static bool isOptionVisible(const Record *Option, const Record *DocInfo) {
57 if (hasFlag(Option, IgnoredFlag, "Flags"))
60 if (hasFlag(Option, Mask, "Visibility"))
77 for (Record *R : Records.getAllDerivedDefinitions("Option"))
104 for (Record *R : Records.getAllDerivedDefinitions("Option")) {
184 unsigned getNumArgsForKind(Record *OptionKind, const Record *Option) {
190 .Case("KIND_MULTIARG", Option->getValueAsInt("NumArgs"))
211 bool canSphinxCopeWithOption(const Record *Option) {
214 for (char C : Option->getValueAsString("Name"))
242 void emitOptionWithArgs(StringRef Prefix, const Record *Option,
244 OS << Prefix << escapeRST(Option->getValueAsString("Name"));
247 getSeparatorsForKind(Option->getValueAsDef("Kind"));
258 void emitOptionName(StringRef Prefix, const Record *Option, raw_ostream &OS) {
260 unsigned NumArgs = getNumArgsForKind(Option->getValueAsDef("Kind"), Option);
261 bool HasMetaVarName = !Option->isValueUnset("MetaVarName");
265 Args.push_back(std::string(Option->getValueAsString("MetaVarName")));
285 emitOptionWithArgs(Prefix, Option, std::vector<StringRef>(Args.begin(), Args.end()), OS);
287 auto AliasArgs = Option->getValueAsListOfStrings("AliasArgs");
289 Record *Alias = Option->getValueAsDef("Alias");
298 bool emitOptionNames(const Record *Option, raw_ostream &OS, bool EmittedAny) {
299 for (auto &Prefix : Option->getValueAsListOfStrings("Prefixes")) {
302 emitOptionName(Prefix, Option, OS);
309 void forEachOptionName(const DocumentedOption &Option, const Record *DocInfo,
311 F(Option.Option);
313 for (auto *Alias : Option.Aliases)
315 canSphinxCopeWithOption(Option.Option))
319 void emitOption(const DocumentedOption &Option, const Record *DocInfo,
321 if (Option.Option->getValueAsDef("Kind")->getName() == "KIND_UNKNOWN" ||
322 Option.Option->getValueAsDef("Kind")->getName() == "KIND_INPUT")
324 if (!canSphinxCopeWithOption(Option.Option))
331 forEachOptionName(Option, DocInfo, [&](const Record *Option) {
332 for (auto &Prefix : Option->getValueAsListOfStrings("Prefixes"))
334 (Prefix + Option->getValueAsString("Name")).str())));
353 forEachOptionName(Option, DocInfo, [&](const Record *Option) {
354 EmittedAny = emitOptionNames(Option, OS, EmittedAny);
361 const Record *R = Option.Option;