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 accessLabel
lc
- objectLabel
- accessLabel
- SemanticException