#include <Type.h>
Public Member Functions | |
virtual | ~EnumerationType () |
void | getLowerLimit (llvm::APInt &res) const |
void | getUpperLimit (llvm::APInt &res) const |
uint64_t | getSize () const |
uint64_t | getNumLiterals () const |
Returns the number of literals in this enumeration type. | |
bool | isCharacterType () const |
Returns true if this enumeration type is a character type. | |
bool | isConstrained () const |
Returns true if this type is constrained. | |
PosAD * | getPosAttribute () |
ValAD * | getValAttribute () |
EnumKind | getEnumKind () const |
Returns the EnumKind of this node. For internal use only. | |
Range * | getConstraint () |
const Range * | getConstraint () const |
EnumerationType * | getRootType () |
Specialize PrimaryType::getRootType(). | |
const EnumerationType * | getRootType () const |
EnumerationType * | getBaseSubtype () |
Returns the base (unconstrained) subtype of this enumeration type. | |
const EnumerationType * | getBaseSubtype () const |
const EnumerationDecl * | getDefiningDecl () const |
Returns the underlying enumeration declaration for this type. | |
EnumerationDecl * | getDefiningDecl () |
Static Public Member Functions | |
static bool | classof (const EnumerationType *node) |
Support isa and dyn_cast. | |
static bool | classof (const Ast *node) |
Protected Types | |
enum | EnumKind { RootEnumType_KIND, UnconstrainedEnumType_KIND, ConstrainedEnumType_KIND } |
EnumerationType nodes are implemented using three internal classes. More... | |
Protected Member Functions | |
EnumerationType (EnumKind kind, EnumerationType *rootOrParent) | |
Constructor for the internal subclasses (not for use by AstResource). | |
Static Protected Member Functions | |
static bool | isSubtypeKind (EnumKind kind) |
Returns true if the given kind denotes a subtype. | |
Friends | |
class | AstResource |
Definition at line 736 of file Type.h.
enum comma::EnumerationType::EnumKind [protected] |
EnumerationType nodes are implemented using three internal classes.
virtual comma::EnumerationType::~EnumerationType | ( | ) | [inline, virtual] |
comma::EnumerationType::EnumerationType | ( | EnumKind | kind, | |
EnumerationType * | rootOrParent | |||
) | [inline, protected] |
Constructor for the internal subclasses (not for use by AstResource).
static bool comma::EnumerationType::classof | ( | const Ast * | node | ) | [inline, static] |
Reimplemented from comma::DiscreteType.
static bool comma::EnumerationType::classof | ( | const EnumerationType * | node | ) | [inline, static] |
Support isa and dyn_cast.
Reimplemented from comma::DiscreteType.
const EnumerationType * EnumerationType::getBaseSubtype | ( | ) | const |
EnumerationType * EnumerationType::getBaseSubtype | ( | ) |
const Range * EnumerationType::getConstraint | ( | ) | const [virtual] |
Returns the constraint associated with this enumeration or null if this is an unconstrained type.
Implements comma::DiscreteType.
Range * EnumerationType::getConstraint | ( | ) | [virtual] |
Returns the constraint associated with this enumeration or null if this is an unconstrained type.
Implements comma::DiscreteType.
EnumerationDecl * EnumerationType::getDefiningDecl | ( | ) |
const EnumerationDecl* comma::EnumerationType::getDefiningDecl | ( | ) | const [inline] |
EnumKind comma::EnumerationType::getEnumKind | ( | ) | const [inline] |
void EnumerationType::getLowerLimit | ( | llvm::APInt & | res | ) | const [virtual] |
Returns the lower limit for this type.
Implements comma::DiscreteType.
uint64_t EnumerationType::getNumLiterals | ( | ) | const |
PosAD * EnumerationType::getPosAttribute | ( | ) | [virtual] |
Returns the declaration corresponding to the Pos attribute for this type.
Implements comma::DiscreteType.
const EnumerationType* comma::EnumerationType::getRootType | ( | ) | const [inline] |
Returns the constraint associated with this enumeration or null if this is an unconstrained type.
Reimplemented from comma::DiscreteType.
EnumerationType* comma::EnumerationType::getRootType | ( | ) | [inline] |
Specialize PrimaryType::getRootType().
Reimplemented from comma::DiscreteType.
uint64_t EnumerationType::getSize | ( | ) | const [virtual] |
Returns the number of bits needed to represent this type.
Implements comma::DiscreteType.
void EnumerationType::getUpperLimit | ( | llvm::APInt & | res | ) | const [virtual] |
Returns the upper limit for this type.
Implements comma::DiscreteType.
ValAD * EnumerationType::getValAttribute | ( | ) | [virtual] |
Returns the declaration corresponding to the Val attribute for this type.
Implements comma::DiscreteType.
bool EnumerationType::isCharacterType | ( | ) | const |
bool comma::EnumerationType::isConstrained | ( | ) | const [inline, virtual] |
Returns true if this type is constrained.
Reimplemented from comma::PrimaryType.
static bool comma::EnumerationType::isSubtypeKind | ( | EnumKind | kind | ) | [inline, static, protected] |
friend class AstResource [friend] |