|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface LValueTIR
The abstract AST for all kinds of l-values. Hobbes, the language, has three
kinds of l-values: simple variables, array references, and field references
(from a record). Those wanting only simple variables must still go through
SimpleLValueTIR
and this interface indirectly to implement them well.
There is a separate visitor LValueTIRVisitor
for this interface and
its hierarchy. An implementation of ExpressionTIRVisitor
will often
have to be paired with an implementation of LValueTIRVisitor
.
Method Summary | ||
---|---|---|
|
accept(LValueTIRVisitor<T> visitor)
Implements the visitor pattern with LValueTIRVisitor . |
|
IPosition |
getPosition()
Returns the location of the l-value in the code. |
|
HobbesType |
getType()
Returns the type of the l-value. |
|
void |
setType(HobbesType type)
Sets the type of the l-value. |
Method Detail |
---|
<T> T accept(LValueTIRVisitor<T> visitor)
LValueTIRVisitor
.
T
- the return type from the visit with the visitor.visitor
- the visitor itself.
HobbesType getType()
void setType(HobbesType type)
type
- the type of the l-value.IPosition getPosition()
getPosition
in interface HobbesTIR
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |