Lines Matching defs:Option
26 const Record *Option;
42 static bool hasFlag(const Record *Option, StringRef OptionFlag,
44 for (const Record *Flag : Option->getValueAsListOfDefs(FlagsField))
47 if (const DefInit *DI = dyn_cast<DefInit>(Option->getValueInit("Group")))
54 static bool isOptionVisible(const Record *Option, const Record *DocInfo) {
56 if (hasFlag(Option, IgnoredFlag, "Flags"))
59 if (hasFlag(Option, Mask, "Visibility"))
76 for (const Record *R : Records.getAllDerivedDefinitions("Option"))
103 for (const Record *R : Records.getAllDerivedDefinitions("Option")) {
183 unsigned getNumArgsForKind(const Record *OptionKind, const Record *Option) {
189 .Case("KIND_MULTIARG", Option->getValueAsInt("NumArgs"))
210 bool canSphinxCopeWithOption(const Record *Option) {
213 for (char C : Option->getValueAsString("Name"))
241 void emitOptionWithArgs(StringRef Prefix, const Record *Option,
243 OS << Prefix << escapeRST(Option->getValueAsString("Name"));
246 getSeparatorsForKind(Option->getValueAsDef("Kind"));
257 void emitOptionName(StringRef Prefix, const Record *Option, raw_ostream &OS) {
259 unsigned NumArgs = getNumArgsForKind(Option->getValueAsDef("Kind"), Option);
260 bool HasMetaVarName = !Option->isValueUnset("MetaVarName");
264 Args.push_back(std::string(Option->getValueAsString("MetaVarName")));
284 emitOptionWithArgs(Prefix, Option,
287 auto AliasArgs = Option->getValueAsListOfStrings("AliasArgs");
289 const 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;