#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Option/Option.h"
#include "llvm/Option/OptSpecifier.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <memory>
#include <string>
#include <utility>
#include <vector>
usingnamespacellvm;
usingnamespacellvm::opt;
void ArgList::append(Arg *A) { … }
void ArgList::eraseArg(OptSpecifier Id) { … }
ArgList::OptRange
ArgList::getRange(std::initializer_list<OptSpecifier> Ids) const { … }
bool ArgList::hasFlag(OptSpecifier Pos, OptSpecifier Neg, bool Default) const { … }
bool ArgList::hasFlagNoClaim(OptSpecifier Pos, OptSpecifier Neg,
bool Default) const { … }
bool ArgList::hasFlag(OptSpecifier Pos, OptSpecifier PosAlias, OptSpecifier Neg,
bool Default) const { … }
StringRef ArgList::getLastArgValue(OptSpecifier Id, StringRef Default) const { … }
std::vector<std::string> ArgList::getAllArgValues(OptSpecifier Id) const { … }
void ArgList::addOptInFlag(ArgStringList &Output, OptSpecifier Pos,
OptSpecifier Neg) const { … }
void ArgList::AddAllArgsExcept(ArgStringList &Output,
ArrayRef<OptSpecifier> Ids,
ArrayRef<OptSpecifier> ExcludeIds) const { … }
void ArgList::addAllArgs(ArgStringList &Output,
ArrayRef<OptSpecifier> Ids) const { … }
void ArgList::AddAllArgs(ArgStringList &Output, OptSpecifier Id0) const { … }
void ArgList::AddAllArgValues(ArgStringList &Output, OptSpecifier Id0,
OptSpecifier Id1, OptSpecifier Id2) const { … }
void ArgList::AddAllArgsTranslated(ArgStringList &Output, OptSpecifier Id0,
const char *Translation,
bool Joined) const { … }
void ArgList::ClaimAllArgs(OptSpecifier Id0) const { … }
void ArgList::ClaimAllArgs() const { … }
const char *ArgList::GetOrMakeJoinedArgString(unsigned Index,
StringRef LHS,
StringRef RHS) const { … }
void ArgList::print(raw_ostream &O) const { … }
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void ArgList::dump() const { print(dbgs()); }
#endif
void InputArgList::releaseMemory() { … }
InputArgList::InputArgList(const char* const *ArgBegin,
const char* const *ArgEnd)
: … { … }
unsigned InputArgList::MakeIndex(StringRef String0) const { … }
unsigned InputArgList::MakeIndex(StringRef String0,
StringRef String1) const { … }
const char *InputArgList::MakeArgStringRef(StringRef Str) const { … }
DerivedArgList::DerivedArgList(const InputArgList &BaseArgs)
: … { … }
const char *DerivedArgList::MakeArgStringRef(StringRef Str) const { … }
void DerivedArgList::AddSynthesizedArg(Arg *A) { … }
Arg *DerivedArgList::MakeFlagArg(const Arg *BaseArg, const Option Opt) const { … }
Arg *DerivedArgList::MakePositionalArg(const Arg *BaseArg, const Option Opt,
StringRef Value) const { … }
Arg *DerivedArgList::MakeSeparateArg(const Arg *BaseArg, const Option Opt,
StringRef Value) const { … }
Arg *DerivedArgList::MakeJoinedArg(const Arg *BaseArg, const Option Opt,
StringRef Value) const { … }