clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
clang::driver::Option Class Reference

#include <Option.h>

Inheritance diagram for clang::driver::Option:
Inheritance graph
[legend]

List of all members.

Public Types

enum  OptionClass {
  GroupClass = 0, InputClass, UnknownClass, FlagClass,
  JoinedClass, SeparateClass, CommaJoinedClass, MultiArgClass,
  JoinedOrSeparateClass, JoinedAndSeparateClass
}
enum  RenderStyleKind { RenderCommaJoinedStyle, RenderJoinedStyle, RenderSeparateStyle, RenderValuesStyle }

Public Member Functions

virtual ~Option ()
unsigned getID () const
OptionClass getKind () const
StringRef getName () const
const OptionGroupgetGroup () const
const OptiongetAlias () const
bool isUnsupported () const
void setUnsupported (bool Value)
bool isLinkerInput () const
void setLinkerInput (bool Value)
bool hasNoOptAsInput () const
void setNoOptAsInput (bool Value)
RenderStyleKind getRenderStyle () const
void setRenderStyle (RenderStyleKind Value)
bool isDriverOption () const
void setDriverOption (bool Value)
bool hasNoArgumentUnused () const
void setNoArgumentUnused (bool Value)
bool hasNoForward () const
void setNoForward (bool Value)
bool hasForwardToGCC () const
const OptiongetUnaliasedOption () const
StringRef getRenderName () const
bool matches (OptSpecifier ID) const
virtual Argaccept (const ArgList &Args, unsigned &Index) const =0
void dump () const

Static Public Member Functions

static bool classof (const Option *)

Protected Member Functions

 Option (OptionClass Kind, OptSpecifier ID, const char *Name, const OptionGroup *Group, const Option *Alias)

Detailed Description

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 34 of file Option.h.


Member Enumeration Documentation

Enumerator:
GroupClass 
InputClass 
UnknownClass 
FlagClass 
JoinedClass 
SeparateClass 
CommaJoinedClass 
MultiArgClass 
JoinedOrSeparateClass 
JoinedAndSeparateClass 

Definition at line 36 of file Option.h.

Enumerator:
RenderCommaJoinedStyle 
RenderJoinedStyle 
RenderSeparateStyle 
RenderValuesStyle 

Definition at line 49 of file Option.h.


Constructor & Destructor Documentation

Option::Option ( OptionClass  Kind,
OptSpecifier  ID,
const char *  Name,
const OptionGroup Group,
const Option Alias 
) [protected]
Option::~Option ( ) [virtual]

Definition at line 58 of file Option.cpp.


Member Function Documentation

virtual Arg* clang::driver::Option::accept ( const ArgList Args,
unsigned &  Index 
) const [pure virtual]

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).

Implemented in clang::driver::JoinedAndSeparateOption, clang::driver::JoinedOrSeparateOption, clang::driver::MultiArgOption, clang::driver::CommaJoinedOption, clang::driver::SeparateOption, clang::driver::JoinedOption, clang::driver::FlagOption, clang::driver::UnknownOption, clang::driver::InputOption, and clang::driver::OptionGroup.

static bool clang::driver::Option::classof ( const Option ) [inline, static]
void Option::dump ( ) const
const Option* clang::driver::Option::getAlias ( ) const [inline]

Definition at line 104 of file Option.h.

const OptionGroup* clang::driver::Option::getGroup ( ) const [inline]

Definition at line 103 of file Option.h.

unsigned clang::driver::Option::getID ( ) const [inline]
OptionClass clang::driver::Option::getKind ( ) const [inline]
StringRef clang::driver::Option::getName ( ) const [inline]
StringRef clang::driver::Option::getRenderName ( ) const [inline]

getRenderName - Return the name to use when rendering this option.

Definition at line 142 of file Option.h.

References getName(), and getUnaliasedOption().

RenderStyleKind clang::driver::Option::getRenderStyle ( ) const [inline]

Definition at line 115 of file Option.h.

const Option* clang::driver::Option::getUnaliasedOption ( ) const [inline]
bool clang::driver::Option::hasForwardToGCC ( ) const [inline]
bool clang::driver::Option::hasNoArgumentUnused ( ) const [inline]

Definition at line 123 of file Option.h.

Referenced by clang::driver::Driver::BuildJobs().

bool clang::driver::Option::hasNoForward ( ) const [inline]

Definition at line 126 of file Option.h.

bool clang::driver::Option::hasNoOptAsInput ( ) const [inline]

Definition at line 112 of file Option.h.

bool clang::driver::Option::isDriverOption ( ) const [inline]

Definition at line 120 of file Option.h.

Referenced by clang::driver::toolchains::Darwin::TranslateArgs().

bool clang::driver::Option::isLinkerInput ( ) const [inline]
bool clang::driver::Option::isUnsupported ( ) const [inline]

Definition at line 106 of file Option.h.

Referenced by clang::driver::Driver::ParseArgStrings().

bool Option::matches ( OptSpecifier  ID) const
void clang::driver::Option::setDriverOption ( bool  Value) [inline]

Definition at line 121 of file Option.h.

void clang::driver::Option::setLinkerInput ( bool  Value) [inline]

Definition at line 110 of file Option.h.

void clang::driver::Option::setNoArgumentUnused ( bool  Value) [inline]

Definition at line 124 of file Option.h.

void clang::driver::Option::setNoForward ( bool  Value) [inline]

Definition at line 127 of file Option.h.

void clang::driver::Option::setNoOptAsInput ( bool  Value) [inline]

Definition at line 113 of file Option.h.

void clang::driver::Option::setRenderStyle ( RenderStyleKind  Value) [inline]

Definition at line 118 of file Option.h.

void clang::driver::Option::setUnsupported ( bool  Value) [inline]

Definition at line 107 of file Option.h.


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