comma::ComponentKeyList Class Reference

#include <AggExpr.h>

Collaboration diagram for comma::ComponentKeyList:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void setExpr (Expr *expr)
 Sets the associated expression.
unsigned numKeys () const
 Returns the number of keys associated with this ComponentKeyList.
Location getLocation () const
 Returns the location of the first key.



const ExprgetExpr () const
 Returns the associated expression.
ExprgetExpr ()
 Returns the associated expression.
ComponentKey Accessors by Index.



const ComponentKeygetKey (unsigned i) const
 Returns the i'th ComponentKey associated with this list.
ComponentKey *& getKey (unsigned i)
 Returns the i'th ComponentKey associated with this list.
template<class T >
T * resolveKey (unsigned i)
 Returns the actual AST node representing the i'th key cast to the provided type.
template<class T >
const T * resolveKey (unsigned i) const
 Returns the i'th ComponentKey associated with this list.
Ast *& getRawKey (unsigned i)
 Returns the i'th key as a raw ast node.
const AstgetRawKey (unsigned i) const
 Returns the i'th ComponentKey associated with this list.
Key Setters.



void setKey (unsigned i, Expr *node)
void setKey (unsigned i, Identifier *node)
void setKey (unsigned i, Range *node)
void setKey (unsigned i, TypeRef *node)

Static Public Member Functions

static ComponentKeyListcreate (ComponentKey **keys, unsigned numKeys, Expr *expr)
static void dispose (ComponentKeyList *CL)
 Deallocates a ComponentKeyList.

Key Iterators.

Iterators over each key provided by this ComponentKeyList.



typedef ComponentKey ** iterator
typedef ComponentKey *const * const_iterator
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const

Detailed Description

Definition at line 251 of file AggExpr.h.


Member Typedef Documentation

Definition at line 346 of file AggExpr.h.

Definition at line 342 of file AggExpr.h.


Member Function Documentation

const_iterator comma::ComponentKeyList::begin (  )  const [inline]

Definition at line 347 of file AggExpr.h.

iterator comma::ComponentKeyList::begin (  )  [inline]

Definition at line 343 of file AggExpr.h.

ComponentKeyList * ComponentKeyList::create ( ComponentKey **  keys,
unsigned  numKeys,
Expr expr 
) [static]

Constructs a ComponentKeyList over the given set of ComponentKeys. At least one key must be provided.

Definition at line 104 of file AggExpr.cpp.

void ComponentKeyList::dispose ( ComponentKeyList CL  )  [static]

Deallocates a ComponentKeyList.

Definition at line 119 of file AggExpr.cpp.

const_iterator comma::ComponentKeyList::end (  )  const [inline]

Definition at line 348 of file AggExpr.h.

iterator comma::ComponentKeyList::end (  )  [inline]

Definition at line 344 of file AggExpr.h.

Expr* comma::ComponentKeyList::getExpr (  )  [inline]

Returns the associated expression.

Definition at line 265 of file AggExpr.h.

const Expr* comma::ComponentKeyList::getExpr (  )  const [inline]

Returns the associated expression.

Definition at line 264 of file AggExpr.h.

ComponentKey*& comma::ComponentKeyList::getKey ( unsigned  i  )  [inline]

Returns the i'th ComponentKey associated with this list.

Definition at line 285 of file AggExpr.h.

const ComponentKey* comma::ComponentKeyList::getKey ( unsigned  i  )  const [inline]

Returns the i'th ComponentKey associated with this list.

Definition at line 281 of file AggExpr.h.

Location comma::ComponentKeyList::getLocation (  )  const [inline]

Returns the location of the first key.

Definition at line 275 of file AggExpr.h.

const Ast* comma::ComponentKeyList::getRawKey ( unsigned  i  )  const [inline]

Returns the i'th ComponentKey associated with this list.

Definition at line 312 of file AggExpr.h.

Ast*& comma::ComponentKeyList::getRawKey ( unsigned  i  )  [inline]

Returns the i'th key as a raw ast node.

Definition at line 308 of file AggExpr.h.

unsigned comma::ComponentKeyList::numKeys (  )  const [inline]

Returns the number of keys associated with this ComponentKeyList.

Definition at line 272 of file AggExpr.h.

template<class T >
const T* comma::ComponentKeyList::resolveKey ( unsigned  i  )  const [inline]

Returns the i'th ComponentKey associated with this list.

Definition at line 302 of file AggExpr.h.

template<class T >
T* comma::ComponentKeyList::resolveKey ( unsigned  i  )  [inline]

Returns the actual AST node representing the i'th key cast to the provided type.

These methods use llvm::dyn_cast tot resolve the type. If the key is not of the supplied type these methods return null.

Definition at line 296 of file AggExpr.h.

void comma::ComponentKeyList::setExpr ( Expr expr  )  [inline]

Sets the associated expression.

Definition at line 269 of file AggExpr.h.

void comma::ComponentKeyList::setKey ( unsigned  i,
TypeRef node 
) [inline]

Definition at line 332 of file AggExpr.h.

void comma::ComponentKeyList::setKey ( unsigned  i,
Range node 
) [inline]

Definition at line 328 of file AggExpr.h.

void comma::ComponentKeyList::setKey ( unsigned  i,
Identifier node 
) [inline]

Definition at line 324 of file AggExpr.h.

void comma::ComponentKeyList::setKey ( unsigned  i,
Expr node 
) [inline]

Definition at line 320 of file AggExpr.h.


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

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1