clang API Documentation
#include <Arg.h>
Public Member Functions | |
| Arg (const Option *Opt, unsigned Index, const Arg *BaseArg=0) | |
| Arg (const Option *Opt, unsigned Index, const char *Value0, const Arg *BaseArg=0) | |
| Arg (const Option *Opt, unsigned Index, const char *Value0, const char *Value1, const Arg *BaseArg=0) | |
| ~Arg () | |
| const Option & | getOption () const |
| unsigned | getIndex () const |
| const Arg & | getBaseArg () const |
| void | setBaseArg (const Arg *_BaseArg) |
| bool | getOwnsValues () const |
| void | setOwnsValues (bool Value) const |
| bool | isClaimed () const |
| void | claim () const |
| claim - Set the Arg claimed bit. | |
| unsigned | getNumValues () const |
| const char * | getValue (const ArgList &Args, unsigned N=0) const |
| SmallVectorImpl< const char * > & | getValues () |
| bool | containsValue (StringRef Value) const |
| void | render (const ArgList &Args, ArgStringList &Output) const |
| render - Append the argument onto the given array as strings. | |
| void | renderAsInput (const ArgList &Args, ArgStringList &Output) const |
| void | dump () const |
| std::string | getAsString (const ArgList &Args) const |
Static Public Member Functions | |
| static bool | classof (const Arg *) |
Arg - A concrete instance of a particular driver option.
The Arg class encodes just enough information to be able to derive the argument values efficiently. In addition, Arg instances have an intrusive double linked list which is used by ArgList to provide efficient iteration over all instances of a particular option.
| void clang::driver::Arg::claim | ( | ) | const [inline] |
claim - Set the Arg claimed bit.
Definition at line 83 of file Arg.h.
References getBaseArg().
Referenced by clang::driver::Driver::BuildActions(), clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildInputs(), clang::driver::Driver::BuildJobsForAction(), clang::driver::Driver::BuildUniversalActions(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::gcc::Common::ConstructJob(), clang::driver::tools::hexagon::Link::ConstructJob(), clang::driver::ArgList::getLastArg(), getLastHexagonArchArg(), and ParseAnalyzerArgs().
| static bool clang::driver::Arg::classof | ( | const Arg * | ) | [inline, static] |
| bool clang::driver::Arg::containsValue | ( | StringRef | Value | ) | const [inline] |
Definition at line 94 of file Arg.h.
References getNumValues().
| void Arg::dump | ( | ) | const |
Definition at line 46 of file Arg.cpp.
References clang::driver::Option::dump().
| std::string Arg::getAsString | ( | const ArgList & | Args | ) | const |
getAsString - Return a formatted version of the argument and its values, for debugging and diagnostics.
Definition at line 63 of file Arg.cpp.
References render().
Referenced by clang::driver::tools::darwin::CC1::AddCC1OptionsArgs(), clang::driver::Driver::BuildActions(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildUniversalActions(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::darwin::Compile::ConstructJob(), clang::driver::Driver::ParseArgStrings(), ParseCodeGenArgs(), ParseDiagnosticArgs(), ParseLangArgs(), ParsePreprocessorArgs(), and clang::driver::toolchains::Darwin::TranslateArgs().
| const Arg& clang::driver::Arg::getBaseArg | ( | ) | const [inline] |
getBaseArg - Return the base argument which generated this arg; this is either the argument itself or the argument it was derived from during tool chain specific argument translation.
Definition at line 70 of file Arg.h.
Referenced by claim(), and isClaimed().
| unsigned clang::driver::Arg::getIndex | ( | ) | const [inline] |
| unsigned clang::driver::Arg::getNumValues | ( | ) | const [inline] |
Definition at line 85 of file Arg.h.
Referenced by clang::driver::tools::Clang::ConstructJob(), containsValue(), clang::driver::Driver::PrintOptions(), render(), renderAsInput(), and clang::driver::toolchains::Darwin::TranslateArgs().
| const Option& clang::driver::Arg::getOption | ( | ) | const [inline] |
Definition at line 64 of file Arg.h.
Referenced by addExceptionArgs(), AddLinkerInputs(), clang::driver::Driver::BuildActions(), clang::driver::Driver::BuildInputs(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildJobsForAction(), clang::driver::Driver::BuildUniversalActions(), computeTargetTriple(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::gcc::Common::ConstructJob(), clang::driver::tools::hexagon::Link::ConstructJob(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::IsUsingLTO(), ParseAnalyzerArgs(), clang::driver::Driver::ParseArgStrings(), ParseHeaderSearchArgs(), ParsePreprocessorArgs(), clang::driver::Driver::PrintOptions(), render(), renderAsInput(), shouldUseFramePointer(), clang::driver::toolchains::Darwin::TranslateArgs(), and UseRelaxAll().
| const char* clang::driver::Arg::getValue | ( | const ArgList & | Args, |
| unsigned | N = 0 |
||
| ) | const [inline] |
Definition at line 86 of file Arg.h.
Referenced by clang::driver::tools::darwin::CC1::AddCC1OptionsArgs(), clang::driver::tools::darwin::CC1::AddCPPUniqueOptionsArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildInputs(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildJobsForAction(), clang::driver::Driver::BuildUniversalActions(), computeTargetTriple(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::linuxtools::Assemble::ConstructJob(), getARMTargetCPU(), clang::driver::tools::darwin::CC1::getDependencyFileName(), getHexagonTargetCPU(), clang::driver::Driver::HandleImmediateArgs(), ParseAnalyzerArgs(), ParseHeaderSearchArgs(), ParsePreprocessorArgs(), clang::driver::Driver::PrintOptions(), render(), renderAsInput(), and clang::driver::toolchains::Darwin::TranslateArgs().
| SmallVectorImpl<const char*>& clang::driver::Arg::getValues | ( | ) | [inline] |
Definition at line 90 of file Arg.h.
Referenced by clang::driver::CommaJoinedOption::accept(), and clang::driver::MultiArgOption::accept().
| bool clang::driver::Arg::isClaimed | ( | ) | const [inline] |
Definition at line 80 of file Arg.h.
References getBaseArg().
Referenced by clang::driver::Driver::BuildJobs().
| void Arg::render | ( | const ArgList & | Args, |
| ArgStringList & | Output | ||
| ) | const |
render - Append the argument onto the given array as strings.
Definition at line 89 of file Arg.cpp.
References data(), getIndex(), clang::driver::Option::getName(), getNumValues(), getOption(), clang::driver::ArgList::GetOrMakeJoinedArgString(), getValue(), clang::driver::ArgList::MakeArgString(), clang::driver::Option::RenderCommaJoinedStyle, clang::driver::Option::RenderJoinedStyle, clang::driver::Option::RenderSeparateStyle, and clang::driver::Option::RenderValuesStyle.
Referenced by clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::gcc::Common::ConstructJob(), clang::driver::tools::hexagon::Assemble::ConstructJob(), clang::driver::tools::hexagon::Link::ConstructJob(), getAsString(), and renderAsInput().
| void Arg::renderAsInput | ( | const ArgList & | Args, |
| ArgStringList & | Output | ||
| ) | const |
renderAsInput - Append the argument, render as an input, onto the given array as strings. The distinction is that some options only render their values when rendered as a input (e.g., Xlinker).
Definition at line 79 of file Arg.cpp.
References getNumValues(), getOption(), getValue(), and render().
Referenced by AddLinkerInputs(), and clang::driver::tools::Clang::ConstructJob().
| void clang::driver::Arg::setBaseArg | ( | const Arg * | _BaseArg | ) | [inline] |
Definition at line 73 of file Arg.h.
Referenced by clang::driver::toolchains::Darwin::TranslateArgs().
| void clang::driver::Arg::setOwnsValues | ( | bool | Value | ) | const [inline] |
Definition at line 78 of file Arg.h.
Referenced by clang::driver::CommaJoinedOption::accept().