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 ExprgetPrefix () const
 Returns the prefix of this range attribute.
ExprgetPrefix ()
 Returns the prefix of this range attribute.
ExprgetDimensionExpr ()
const ExprgetDimensionExpr () const
 Returns the prefix of this range attribute.
const DiscreteTypegetType () const
 Returns the type of this range attribute.
DiscreteTypegetType ()
 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

Rabisu Mirror Service We provide mirrors to support Open source communities. Our mirror server is located in Istanbul/Turkey region.

Please do not hesitate to contact mirror@rabisu.com for new open source mirror submissions.