public abstract class LocatedExt_c extends NodeExt_c implements FabricExt
| Modifier and Type | Field and Description |
|---|---|
protected Expr |
location |
protected Principal |
storePrincipal |
| Constructor and Description |
|---|
LocatedExt_c() |
| Modifier and Type | Method and Description |
|---|---|
void |
dump(CodeWriter w) |
void |
labelCheck(LabelChecker lc,
Label objectLabel,
Label accessLabel,
Label referenceLabel)
Checks that the location is compatible with the
objectLabel
and accessLabel |
Expr |
location() |
LocatedExt_c |
location(Expr location) |
protected abstract Label |
referenceLabel(FabricContext ctx)
Returns a precise bound on the label of the reference of the allocated
object.
|
protected boolean |
requiresLocation(FabricTypeSystem ts)
Returns true if this located expression requires a location.
|
Principal |
storePrincipal() |
LocatedExt_c |
storePrincipal(Principal p) |
public Expr location()
public LocatedExt_c location(Expr location)
public Principal storePrincipal()
public LocatedExt_c storePrincipal(Principal p)
public void dump(CodeWriter w)
protected abstract Label referenceLabel(FabricContext ctx)
protected boolean requiresLocation(FabricTypeSystem ts)
ts - public void labelCheck(LabelChecker lc,
Label objectLabel,
Label accessLabel,
Label referenceLabel)
throws SemanticException
objectLabel
and accessLabellc - objectLabel - accessLabel - SemanticException