Lines Matching refs:Handler
509 static bool CommaSeparateAndAddOccurrence(Option *Handler, unsigned pos, in CommaSeparateAndAddOccurrence() argument
514 if (Handler->getMiscFlags() & CommaSeparated) { in CommaSeparateAndAddOccurrence()
520 if (Handler->addOccurrence(pos, ArgName, Val.substr(0, Pos), MultiArg)) in CommaSeparateAndAddOccurrence()
531 return Handler->addOccurrence(pos, ArgName, Value, MultiArg); in CommaSeparateAndAddOccurrence()
537 static inline bool ProvideOption(Option *Handler, StringRef ArgName, in ProvideOption() argument
541 unsigned NumAdditionalVals = Handler->getNumAdditionalVals(); in ProvideOption()
544 switch (Handler->getValueExpectedFlag()) { in ProvideOption()
549 if (i + 1 >= argc || Handler->getFormattingFlag() == cl::AlwaysPrefix) in ProvideOption()
550 return Handler->error("requires a value!"); in ProvideOption()
558 return Handler->error("multi-valued option specified" in ProvideOption()
562 return Handler->error("does not allow a value! '" + Twine(Value) + in ProvideOption()
571 return CommaSeparateAndAddOccurrence(Handler, i, ArgName, Value); in ProvideOption()
577 if (CommaSeparateAndAddOccurrence(Handler, i, ArgName, Value, MultiArg)) in ProvideOption()
585 return Handler->error("not enough values!"); in ProvideOption()
589 if (CommaSeparateAndAddOccurrence(Handler, i, ArgName, Value, MultiArg)) in ProvideOption()
597 static bool ProvidePositionalOption(Option *Handler, StringRef Arg, int i) { in ProvidePositionalOption() argument
599 return ProvideOption(Handler, Handler->ArgStr, Arg, 0, nullptr, Dummy); in ProvidePositionalOption()
1210 Option *Handler = nullptr; in ParseCommandLineOptions() local
1256 Handler = LookupOption(*ChosenSubCommand, ArgName, Value); in ParseCommandLineOptions()
1257 if (!Handler || Handler->getFormattingFlag() != cl::Positional) { in ParseCommandLineOptions()
1268 Handler = LookupOption(*ChosenSubCommand, ArgName, Value); in ParseCommandLineOptions()
1271 if (!Handler) in ParseCommandLineOptions()
1272 Handler = HandlePrefixedOrGroupedOption(ArgName, Value, ErrorParsing, in ParseCommandLineOptions()
1277 if (!Handler && SinkOpts.empty()) in ParseCommandLineOptions()
1282 if (!Handler) { in ParseCommandLineOptions()
1305 if (Handler->getFormattingFlag() == cl::Positional) { in ParseCommandLineOptions()
1306 if ((Handler->getMiscFlags() & PositionalEatsArgs) && !Value.empty()) { in ParseCommandLineOptions()
1307 Handler->error("This argument does not take a value.\n" in ParseCommandLineOptions()
1312 ActivePositionalArg = Handler; in ParseCommandLineOptions()
1315 ErrorParsing |= ProvideOption(Handler, ArgName, Value, argc, argv, i); in ParseCommandLineOptions()