comma::ArrayRangeAttrib Class Reference

#include <RangeAttrib.h>

Inheritance diagram for comma::ArrayRangeAttrib:
Inheritance graph
[legend]
Collaboration diagram for comma::ArrayRangeAttrib:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ArrayRangeAttrib (Expr *prefix, Expr *dimension, Location loc)
 ArrayRangeAttrib (Expr *prefix, Location loc)
 Constructs an array range attribute with an implicit dimension.
bool hasImplicitDimension () const
unsigned getDimension () const
 Returns the zero based dimension associated with this attribute.



const Expr * getPrefix () const
 Returns the prefix of this range attribute.
Expr * getPrefix ()
 Returns the prefix of this range attribute.
Expr * getDimensionExpr ()
const Expr * getDimensionExpr () const
 Returns the prefix of this range attribute.
const DiscreteType * getType () const
 Returns the type of this range attribute.
DiscreteType * getType ()
 Returns the prefix of this range attribute.

Static Public Member Functions

static bool classof (const ArrayRangeAttrib *node)
 Support isa and dyn_cast.
static bool classof (const Ast *node)

Detailed Description

This node representes range attributes when applied to a prefix expression of array type.

Definition at line 65 of file RangeAttrib.h.


Constructor & Destructor Documentation

comma::ArrayRangeAttrib::ArrayRangeAttrib ( Expr *  prefix,
Expr *  dimension,
Location  loc 
) [inline]

Constructs an array range attribute with an explicit dimension.

The dimension must be staticly evaluable to a discrete value.

Definition at line 71 of file RangeAttrib.h.

comma::ArrayRangeAttrib::ArrayRangeAttrib ( Expr *  prefix,
Location  loc 
) [inline]

Constructs an array range attribute with an implicit dimension.

Definition at line 84 of file RangeAttrib.h.


Member Function Documentation

static bool comma::ArrayRangeAttrib::classof ( const Ast *  node  )  [inline, static]

Reimplemented from comma::RangeAttrib.

Definition at line 132 of file RangeAttrib.h.

static bool comma::ArrayRangeAttrib::classof ( const ArrayRangeAttrib *  node  )  [inline, static]

Support isa and dyn_cast.

Reimplemented from comma::RangeAttrib.

Definition at line 131 of file RangeAttrib.h.

unsigned comma::ArrayRangeAttrib::getDimension (  )  const [inline]

Returns the zero based dimension associated with this attribute.

Definition at line 115 of file RangeAttrib.h.

const Expr* comma::ArrayRangeAttrib::getDimensionExpr (  )  const [inline]

Returns the prefix of this range attribute.

Definition at line 111 of file RangeAttrib.h.

Expr* comma::ArrayRangeAttrib::getDimensionExpr (  )  [inline]

Returns the dimension expression associated with this attribute, or null if the dimension is implicit for this node.

Note the the expression returned is always a static

Definition at line 110 of file RangeAttrib.h.

Expr* comma::ArrayRangeAttrib::getPrefix (  )  [inline]

Returns the prefix of this range attribute.

Reimplemented from comma::RangeAttrib.

Definition at line 96 of file RangeAttrib.h.

const Expr* comma::ArrayRangeAttrib::getPrefix (  )  const [inline]

Returns the prefix of this range attribute.

Reimplemented from comma::RangeAttrib.

Definition at line 93 of file RangeAttrib.h.

DiscreteType* comma::ArrayRangeAttrib::getType (  )  [inline, virtual]

Returns the prefix of this range attribute.

Implements comma::RangeAttrib.

Definition at line 124 of file RangeAttrib.h.

const DiscreteType* comma::ArrayRangeAttrib::getType (  )  const [inline, virtual]

Returns the type of this range attribute.

Implements comma::RangeAttrib.

Definition at line 119 of file RangeAttrib.h.

bool comma::ArrayRangeAttrib::hasImplicitDimension (  )  const [inline]

Returns true if the dimension associated with this attribute is implicit.

Definition at line 103 of file RangeAttrib.h.


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

Generated on 1 Feb 2010 for Comma by  doxygen 1.6.1