#include <AggExpr.h>


| Public Member Functions | |
| Location | getLocation () const | 
| Returns the location of this ComponentKey. | |
| void | setLocation (Location loc) | 
| Sets the location of this ComponentKey. | |
| bool | isStatic () const | 
| Returns true if this ComponentKey is static. | |
| Constructors. | |
| ComponentKey (Expr *node) | |
| ComponentKey (Identifier *node) | |
| ComponentKey (Range *node) | |
| ComponentKey (TypeRef *node) | |
| ComponentKey (ComponentDecl *node, Location loc) | |
| Representation Predicates. | |
| bool | denotesExpr () const | 
| Returns true if this node denotes a expression. | |
| bool | denotesIdentifier () const | 
| bool | denotesRange () const | 
| bool | denotesType () const | 
| Returns true if this node denotes a Type. | |
| bool | denotesComponent () const | 
| Representation Getters. | |
| Expr * | getAsExpr () | 
| Identifier * | getAsIdentifier () | 
| Range * | getAsRange () | 
| TypeRef * | getAsTypeRef () | 
| DiscreteType * | getAsDiscreteType () | 
| ComponentDecl * | getAsComponent () | 
| const Expr * | getAsExpr () const | 
| const Identifier * | getAsIdentifier () const | 
| const Range * | getAsRange () const | 
| const TypeRef * | getAsTypeRef () const | 
| const DiscreteType * | getAsDiscreteType () const | 
| const ComponentDecl * | getAsComponent () const | 
| Ast *& | getRep () | 
| Returns the underlying node as a raw Ast. | |
| const Ast * | getRep () const | 
| Representation Setters. | |
| void | setKey (Expr *node) | 
| void | setKey (Range *node) | 
| void | setKey (TypeRef *node) | 
| void | setKey (Identifier *node) | 
| void | setKey (ComponentDecl *node) | 
| Bounds Extractors. | |
| Returns the lower and upper bounds associated with this ComponentKey. 
 | |
| Expr * | getLowerExpr () | 
| Expr * | getUpperExpr () | 
| void | getLowerValue (llvm::APInt &value) const | 
| void | getUpperValue (llvm::APInt &value) const | 
| Static Public Member Functions | |
| static bool | classof (const ComponentKey *node) | 
| Support isa and dyn_cast. | |
| static bool | classof (const Ast *node) | 
| Comparison Predicates. | |
|  | |
| bool | isComparable () const | 
| Returns true if this ComponentKey is comparable. | |
| static bool | compareKeysU (const ComponentKey *X, const ComponentKey *Y) | 
| Provides an ordering relation between two ComponentKey's for which isComparable is true. | |
| static bool | compareKeysS (const ComponentKey *X, const ComponentKey *Y) | 
| Provides an ordering relation between two ComponentKey's for which isComparable is true. | |
Definition at line 94 of file AggExpr.h.
| comma::ComponentKey::ComponentKey | ( | Identifier * | node | ) |  [inline] | 
| comma::ComponentKey::ComponentKey | ( | Range * | node | ) |  [inline] | 
| comma::ComponentKey::ComponentKey | ( | TypeRef * | node | ) |  [inline] | 
| comma::ComponentKey::ComponentKey | ( | ComponentDecl * | node, | |
| Location | loc | |||
| ) |  [inline] | 
| static bool comma::ComponentKey::classof | ( | const Ast * | node | ) |  [inline, static] | 
| static bool comma::ComponentKey::classof | ( | const ComponentKey * | node | ) |  [inline, static] | 
| bool ComponentKey::compareKeysS | ( | const ComponentKey * | X, | |
| const ComponentKey * | Y | |||
| ) |  [static] | 
Provides an ordering relation between two ComponentKey's for which isComparable is true.
Predicate defining a less-than relation between keys of signed type. For use with std::stort.
Definition at line 81 of file AggExpr.cpp.
| bool ComponentKey::compareKeysU | ( | const ComponentKey * | X, | |
| const ComponentKey * | Y | |||
| ) |  [static] | 
Provides an ordering relation between two ComponentKey's for which isComparable is true.
Predicate defining a less-than relation between component keys of unsigned type. For use with std::stort.
Definition at line 70 of file AggExpr.cpp.
| bool comma::ComponentKey::denotesComponent | ( | ) | const  [inline] | 
| bool comma::ComponentKey::denotesExpr | ( | ) | const  [inline] | 
Returns true if this node denotes a expression.
Reimplemented from comma::Ast.
| bool comma::ComponentKey::denotesIdentifier | ( | ) | const  [inline] | 
| bool comma::ComponentKey::denotesType | ( | ) | const  [inline] | 
Returns true if this node denotes a Type.
Reimplemented from comma::Ast.
| const ComponentDecl* comma::ComponentKey::getAsComponent | ( | ) | const  [inline] | 
| ComponentDecl* comma::ComponentKey::getAsComponent | ( | ) |  [inline] | 
| const DiscreteType* comma::ComponentKey::getAsDiscreteType | ( | ) | const  [inline] | 
| DiscreteType* comma::ComponentKey::getAsDiscreteType | ( | ) |  [inline] | 
| const Expr* comma::ComponentKey::getAsExpr | ( | ) | const  [inline] | 
| Expr* comma::ComponentKey::getAsExpr | ( | ) |  [inline] | 
| const Identifier* comma::ComponentKey::getAsIdentifier | ( | ) | const  [inline] | 
| Identifier* comma::ComponentKey::getAsIdentifier | ( | ) |  [inline] | 
| const Range* comma::ComponentKey::getAsRange | ( | ) | const  [inline] | 
| Range* comma::ComponentKey::getAsRange | ( | ) |  [inline] | 
| const TypeRef* comma::ComponentKey::getAsTypeRef | ( | ) | const  [inline] | 
| TypeRef* comma::ComponentKey::getAsTypeRef | ( | ) |  [inline] | 
| Location comma::ComponentKey::getLocation | ( | ) | const  [inline, virtual] | 
Returns the location of this ComponentKey.
Reimplemented from comma::Ast.
| Expr * ComponentKey::getLowerExpr | ( | ) | 
Definition at line 38 of file AggExpr.cpp.
| void ComponentKey::getLowerValue | ( | llvm::APInt & | value | ) | const | 
Definition at line 54 of file AggExpr.cpp.
| const Ast* comma::ComponentKey::getRep | ( | ) | const  [inline] | 
| Ast*& comma::ComponentKey::getRep | ( | ) |  [inline] | 
| Expr * ComponentKey::getUpperExpr | ( | ) | 
Definition at line 46 of file AggExpr.cpp.
| void ComponentKey::getUpperValue | ( | llvm::APInt & | value | ) | const | 
Definition at line 62 of file AggExpr.cpp.
| bool comma::ComponentKey::isComparable | ( | ) | const  [inline] | 
Returns true if this ComponentKey is comparable.
ComponentKeys are comparable if the underlying representation is a static expression, range, discrete subtype indication. ComponentKeys represented as Identifiers are not considered to be comparable.
| bool ComponentKey::isStatic | ( | ) | const | 
Returns true if this ComponentKey is static.
A ComponentKey is considered to be static when it is represented by a static expression, range, or discrete type. Identifiers are always considered to be static.
Definition at line 19 of file AggExpr.cpp.
| void comma::ComponentKey::setKey | ( | ComponentDecl * | node | ) |  [inline] | 
| void comma::ComponentKey::setKey | ( | Identifier * | node | ) |  [inline] | 
| void comma::ComponentKey::setKey | ( | TypeRef * | node | ) |  [inline] | 
| void comma::ComponentKey::setKey | ( | Range * | node | ) |  [inline] | 
| void comma::ComponentKey::setLocation | ( | Location | loc | ) |  [inline] | 
Sets the location of this ComponentKey.
 1.6.1
 1.6.1