LLVM: llvm::opt::Option Class Reference (original) (raw)

Option - Abstract representation for a single form of driver argument. More...

#include "[llvm/Option/Option.h](Option%5F8h%5Fsource.html)"

Public Types
enum OptionClass { GroupClass = 0 , InputClass, UnknownClass, FlagClass, JoinedClass, ValuesClass, SeparateClass, RemainingArgsClass, RemainingArgsJoinedClass, CommaJoinedClass, MultiArgClass, JoinedOrSeparateClass, JoinedAndSeparateClass }
enum RenderStyleKind { RenderCommaJoinedStyle, RenderJoinedStyle, RenderSeparateStyle, RenderValuesStyle }
Public Member Functions
LLVM_ABI Option (const OptTable::Info *Info, const OptTable *Owner)
bool isValid () const
unsigned getID () const
OptionClass getKind () const
StringRef getName () const
Get the name of this option without any prefix.
const Option getGroup () const
const Option getAlias () const
const char * getAliasArgs () const
Get the alias arguments as a \0 separated list.
StringRef getPrefix () const
Get the default prefix for this option.
StringRef getPrefixedName () const
Get the name of this option with the default prefix.
StringRef getHelpText () const
Get the help text for this option.
StringRef getMetaVar () const
Get the meta-variable list for this option.
unsigned getNumArgs () const
bool hasNoOptAsInput () const
RenderStyleKind getRenderStyle () const
bool hasFlag (unsigned Val) const
Test if this option has the flag Val.
bool hasVisibilityFlag (unsigned Val) const
Test if this option has the visibility flag Val.
const Option getUnaliasedOption () const
getUnaliasedOption - Return the final option this option aliases (itself, if the option has no alias).
StringRef getRenderName () const
getRenderName - Return the name to use when rendering this option.
LLVM_ABI bool matches (OptSpecifier ID) const
matches - Predicate for whether this option is part of the given option (which may be a group).
LLVM_ABI bool isRegisteredSC (StringRef SubCommand) const
LLVM_ABI std::unique_ptr< Arg > accept (const ArgList &Args, StringRef CurArg, bool GroupedShortOption, unsigned &Index) const
Potentially accept the current argument, returning a new Arg instance, or 0 if the option does not accept this argument (or the argument is missing values).
LLVM_ABI void print (raw_ostream &O, bool AddNewLine=true) const
LLVM_ABI void dump () const

Option - Abstract representation for a single form of driver argument.

An Option class represents a form of option that the driver takes, for example how many arguments the option has and how they can be provided. Individual option instances store additional information about what group the option is a member of (if any), if the option is an alias, and a number of flags. At runtime the driver parses the command line into concrete Arg instances, each of which corresponds to a particular Option instance.

Definition at line 55 of file Option.h.

OptionClass

Enumerator
GroupClass
InputClass
UnknownClass
FlagClass
JoinedClass
ValuesClass
SeparateClass
RemainingArgsClass
RemainingArgsJoinedClass
CommaJoinedClass
MultiArgClass
JoinedOrSeparateClass
JoinedAndSeparateClass

Definition at line 57 of file Option.h.

RenderStyleKind

Enumerator
RenderCommaJoinedStyle
RenderJoinedStyle
RenderSeparateStyle
RenderValuesStyle

Definition at line 73 of file Option.h.

Definition at line 25 of file Option.cpp.

References assert(), FlagClass, getAlias(), getAliasArgs(), getKind(), Info, info, isValid(), and Owner.

Referenced by accept(), getAlias(), getGroup(), getUnaliasedOption(), matches(), and print().

accept()

Potentially accept the current argument, returning a new Arg instance, or 0 if the option does not accept this argument (or the argument is missing values).

If the option accepts the current argument, accept() sets Index to the position where argument parsing should resume (even if the argument is missing values).

CurArg The argument to be matched. It may be shorter than the underlying storage to represent a Joined argument. GroupedShortOption If true, we are handling the fallback case of parsing a prefix of the current argument as a short option.

Definition at line 236 of file Option.cpp.

References A(), FlagClass, getAliasArgs(), getID(), getKind(), getName(), llvm::opt::Arg::getOwnsValues(), getPrefix(), getUnaliasedOption(), llvm::opt::Arg::getValues(), JoinedClass, Option(), and llvm::opt::Arg::setOwnsValues().

dump()

getAlias()

const Option llvm::opt::Option::getAlias ( ) const inline

getAliasArgs()

const char * llvm::opt::Option::getAliasArgs ( ) const inline

Get the alias arguments as a \0 separated list.

E.g. ["foo", "bar"] would be returned as "foo\0bar\0".

Definition at line 122 of file Option.h.

References assert(), and Info.

Referenced by accept(), and Option().

getGroup()

const Option llvm::opt::Option::getGroup ( ) const inline

getHelpText()

StringRef llvm::opt::Option::getHelpText ( ) const inline

getID()

unsigned llvm::opt::Option::getID ( ) const inline

getKind()

OptionClass llvm::opt::Option::getKind ( ) const inline

getMetaVar()

StringRef llvm::opt::Option::getMetaVar ( ) const inline

Get the meta-variable list for this option.

Definition at line 151 of file Option.h.

References assert(), and Info.

getName()

StringRef llvm::opt::Option::getName ( ) const inline

getNumArgs()

unsigned llvm::opt::Option::getNumArgs ( ) const inline

getPrefix()

StringRef llvm::opt::Option::getPrefix ( ) const inline

getPrefixedName()

StringRef llvm::opt::Option::getPrefixedName ( ) const inline

getRenderName()

StringRef llvm::opt::Option::getRenderName ( ) const inline

getRenderStyle()

RenderStyleKind llvm::opt::Option::getRenderStyle ( ) const inline

Definition at line 160 of file Option.h.

References CommaJoinedClass, FlagClass, getKind(), GroupClass, Info, InputClass, JoinedAndSeparateClass, JoinedClass, JoinedOrSeparateClass, llvm_unreachable, MultiArgClass, RemainingArgsClass, RemainingArgsJoinedClass, RenderCommaJoinedStyle, llvm::opt::RenderJoined, RenderJoinedStyle, llvm::opt::RenderSeparate, RenderSeparateStyle, RenderValuesStyle, SeparateClass, UnknownClass, and ValuesClass.

getUnaliasedOption()

const Option llvm::opt::Option::getUnaliasedOption ( ) const inline

hasFlag()

bool llvm::opt::Option::hasFlag ( unsigned Val) const inline

hasNoOptAsInput()

bool llvm::opt::Option::hasNoOptAsInput ( ) const inline

hasVisibilityFlag()

bool llvm::opt::Option::hasVisibilityFlag ( unsigned Val) const inline

isRegisteredSC()

isValid()

bool llvm::opt::Option::isValid ( ) const inline

matches()

print()

Definition at line 40 of file Option.cpp.

References CommaJoinedClass, FlagClass, getAlias(), getGroup(), getKind(), getName(), getNumArgs(), GroupClass, I, Info, InputClass, isValid(), JoinedAndSeparateClass, JoinedClass, JoinedOrSeparateClass, MultiArgClass, N, Option(), Owner, P, print(), RemainingArgsClass, RemainingArgsJoinedClass, SeparateClass, UnknownClass, and ValuesClass.

Referenced by dump(), and print().

Info

Definition at line 81 of file Option.h.

Referenced by getAlias(), getAliasArgs(), getGroup(), getHelpText(), getID(), getKind(), getMetaVar(), getName(), getNumArgs(), getPrefix(), getPrefixedName(), getRenderStyle(), hasFlag(), hasNoOptAsInput(), hasVisibilityFlag(), isRegisteredSC(), isValid(), Option(), and print().

Owner


The documentation for this class was generated from the following files: