static std::string getOptionHelpName(const OptTable &Opts, OptSpecifier Id) { const Option O = Opts.getOption(Id); std::string Name = O.getPrefixedName(); // Add metavar, if used. switch (O.getKind()) { case Option::GroupClass: case Option::InputClass: case Option::UnknownClass: llvm_unreachable("Invalid option with help text."); case Option::MultiArgClass: llvm_unreachable("Cannot print metavar for this kind of option."); case Option::FlagClass: break; case Option::SeparateClass: case Option::JoinedOrSeparateClass: Name += ' '; // FALLTHROUGH case Option::JoinedClass: case Option::CommaJoinedClass: case Option::JoinedAndSeparateClass: if (const char *MetaVarName = Opts.getOptionMetaVar(Id)) Name += MetaVarName; else Name += "<value>"; break; } return Name; }
static std::string getOptionHelpName(const OptTable &Opts, OptSpecifier Id) { const Option O = Opts.getOption(Id); std::string Name = O.getPrefixedName(); // Add metavar, if used. switch (O.getKind()) { case Option::GroupClass: case Option::InputClass: case Option::UnknownClass: llvm_unreachable("Invalid option with help text."); case Option::MultiArgClass: if (const char *MetaVarName = Opts.getOptionMetaVar(Id)) { // For MultiArgs, metavar is full list of all argument names. Name += ' '; Name += MetaVarName; } else { // For MultiArgs<N>, if metavar not supplied, print <value> N times. for (unsigned i=0, e=O.getNumArgs(); i< e; ++i) { Name += " <value>"; } } break; case Option::FlagClass: break; case Option::ValuesClass: break; case Option::SeparateClass: case Option::JoinedOrSeparateClass: case Option::RemainingArgsClass: case Option::RemainingArgsJoinedClass: Name += ' '; LLVM_FALLTHROUGH; case Option::JoinedClass: case Option::CommaJoinedClass: case Option::JoinedAndSeparateClass: if (const char *MetaVarName = Opts.getOptionMetaVar(Id)) Name += MetaVarName; else Name += "<value>"; break; } return Name; }
static std::string getOptionHelpName(const OptTable &Opts, options::ID Id) { std::string Name = Opts.getOptionName(Id); // Add metavar, if used. switch (Opts.getOptionKind(Id)) { case Option::GroupClass: case Option::InputClass: case Option::UnknownClass: assert(0 && "Invalid option with help text."); case Option::MultiArgClass: case Option::JoinedAndSeparateClass: assert(0 && "Cannot print metavar for this kind of option."); case Option::FlagClass: break; case Option::SeparateClass: case Option::JoinedOrSeparateClass: Name += ' '; // FALLTHROUGH case Option::JoinedClass: case Option::CommaJoinedClass: Name += Opts.getOptionMetaVar(Id); break; } return Name; }