gnu.mapping
Class IndirectableLocation
public abstract class IndirectableLocation
protected static Object | DIRECT_ON_SET- If
value==DIRECT_ON_SET, break indirection on a set.
|
protected static Object | INDIRECT_FLUIDS- If
value has this value, force indirection even
for the setWithSave operation.
|
protected Location | base- If non-null, operations are forwarded to the base location.
|
protected Object | value- If
base is null, the current value stored in
this Location.
|
entered, get, get, getBase, getKeyProperty, getKeySymbol, getValue, isBound, isConstant, make, make, make, print, set, setRestore, setValue, setWithSave, toString, undefine |
DIRECT_ON_SET
protected static final Object DIRECT_ON_SET
If value==DIRECT_ON_SET, break indirection on a set.
INDIRECT_FLUIDS
protected static final Object INDIRECT_FLUIDS
If value has this value, force indirection even
for the setWithSave operation.
Ignoring the restore aspect of a fluid-let, it is normally
treated as closer to a define than to a set,
in that we break the sharing with another Environment.
Setting value to INDIRECT_FLUIDS means we do
not want to break the indirection in this case.
base
protected Location base
If non-null, operations are forwarded to the base location.
value
protected Object value
If base is null, the current value stored in
this Location.
If base is non-null, then value is generally
ignored. However, the special value DIRECT_ON_SET means that
writes change change value directly, instead of setting
the value of base.
setAlias
public void setAlias(Location base)
Define this Location as an alias for some other Location.
setBase
public void setBase(Location base)