#include <Type.h>
Public Member Functions | |
virtual | ~IntegerType () |
void | getLowerLimit (llvm::APInt &res) const |
void | getUpperLimit (llvm::APInt &res) const |
bool | baseContains (const llvm::APInt &value) const |
uint64_t | getSize () const |
bool | isConstrained () const |
Returns true if this type is constrained. | |
PosAD * | getPosAttribute () |
ValAD * | getValAttribute () |
IntegerKind | getIntegerKind () const |
Returns the IntegerKind of this node. For internal use only. | |
Static Public Member Functions | |
static bool | classof (const IntegerType *node) |
Support isa and dyn_cast. | |
static bool | classof (const Ast *node) |
Protected Types | |
enum | IntegerKind { RootIntegerType_KIND, UnconstrainedIntegerType_KIND, ConstrainedIntegerType_KIND } |
Protected Member Functions | |
IntegerType (IntegerKind kind, IntegerType *rootOrParent) | |
Constructor for the internal subclasses (not for use by AstResource). | |
Static Protected Member Functions | |
static bool | isSubtypeKind (IntegerKind kind) |
Returns true if the given kind denotes a subtype. | |
Friends | |
class | AstResource |
| |
const IntegerType * | getBaseSubtype () const |
Returns the base subtype. | |
IntegerType * | getBaseSubtype () |
Returns the base subtype. | |
Range * | getConstraint () |
Returns the Range associated with this IntegerType, or null if this is an unconstrained type. | |
const Range * | getConstraint () const |
Returns the base subtype. | |
IntegerType * | getRootType () |
Specialize PrimaryType::getRootType(). | |
const IntegerType * | getRootType () const |
Returns the base subtype. |
Definition at line 864 of file Type.h.
enum comma::IntegerType::IntegerKind [protected] |
IntegerType nodes are implemented using three internal classes represeting the root, constrained, and unconstrained cases. The following enumeration identifies each of these classes and is encoded into the AST::bits field.
virtual comma::IntegerType::~IntegerType | ( | ) | [inline, virtual] |
comma::IntegerType::IntegerType | ( | IntegerKind | kind, | |
IntegerType * | rootOrParent | |||
) | [inline, protected] |
Constructor for the internal subclasses (not for use by AstResource).
bool IntegerType::baseContains | ( | const llvm::APInt & | value | ) | const |
static bool comma::IntegerType::classof | ( | const Ast * | node | ) | [inline, static] |
Reimplemented from comma::DiscreteType.
static bool comma::IntegerType::classof | ( | const IntegerType * | node | ) | [inline, static] |
Support isa and dyn_cast.
Reimplemented from comma::DiscreteType.
IntegerType * IntegerType::getBaseSubtype | ( | ) |
const IntegerType* comma::IntegerType::getBaseSubtype | ( | ) | const [inline] |
const Range * IntegerType::getConstraint | ( | ) | const [virtual] |
Returns the base subtype.
The base subtype is a distinguished unconstrained subtype corresponding to the attribute S'Base.
Implements comma::DiscreteType.
Range * IntegerType::getConstraint | ( | ) | [virtual] |
Returns the Range associated with this IntegerType, or null if this is an unconstrained type.
Implements comma::DiscreteType.
IntegerKind comma::IntegerType::getIntegerKind | ( | ) | const [inline] |
void IntegerType::getLowerLimit | ( | llvm::APInt & | res | ) | const [virtual] |
Returns the lower limit for this type.
Implements comma::DiscreteType.
PosAD * IntegerType::getPosAttribute | ( | ) | [virtual] |
Returns the declaration corresponding to the Pos attribute for this type.
Implements comma::DiscreteType.
const IntegerType* comma::IntegerType::getRootType | ( | ) | const [inline] |
Returns the base subtype.
The base subtype is a distinguished unconstrained subtype corresponding to the attribute S'Base.
Reimplemented from comma::DiscreteType.
IntegerType* comma::IntegerType::getRootType | ( | ) | [inline] |
Specialize PrimaryType::getRootType().
Reimplemented from comma::DiscreteType.
uint64_t IntegerType::getSize | ( | ) | const [virtual] |
Returns the number of bits needed to represent this type.
Implements comma::DiscreteType.
void IntegerType::getUpperLimit | ( | llvm::APInt & | res | ) | const [virtual] |
Returns the upper limit for this type.
Implements comma::DiscreteType.
ValAD * IntegerType::getValAttribute | ( | ) | [virtual] |
Returns the declaration corresponding to the Val attribute for this type.
Implements comma::DiscreteType.
bool comma::IntegerType::isConstrained | ( | ) | const [inline, virtual] |
Returns true if this type is constrained.
Reimplemented from comma::PrimaryType.
static bool comma::IntegerType::isSubtypeKind | ( | IntegerKind | kind | ) | [inline, static, protected] |
friend class AstResource [friend] |