#include <RangeAttrib.h>
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) |
This node representes range attributes when applied to a prefix expression of array type.
Definition at line 65 of file RangeAttrib.h.
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.
Constructs an array range attribute with an implicit dimension.
Definition at line 84 of file RangeAttrib.h.
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.