Package net.hydromatic.morel.eval
Class EvalEnvs.MutablePatSubEvalEnv
java.lang.Object
net.hydromatic.morel.eval.EvalEnvs.ArraySubEvalEnv
net.hydromatic.morel.eval.EvalEnvs.PatSubEvalEnv
net.hydromatic.morel.eval.EvalEnvs.MutablePatSubEvalEnv
- All Implemented Interfaces:
EvalEnv,MutableEvalEnv
- Enclosing class:
EvalEnvs
Evaluation environment that binds several slots based on a pattern.
-
Field Summary
FieldsFields inherited from class net.hydromatic.morel.eval.EvalEnvs.PatSubEvalEnv
patFields inherited from class net.hydromatic.morel.eval.EvalEnvs.ArraySubEvalEnv
names, parentEnv, values -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) booleanbindRecurse(Core.Pat pat, Object argValue) fix()Converts this environment to a non-mutable environment.voidPuts a value into this environment.booleanPuts a value into this environment in a way that may not succeed.Methods inherited from class net.hydromatic.morel.eval.EvalEnvs.ArraySubEvalEnv
getOpt, visitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.hydromatic.morel.eval.EvalEnv
bind, bindMutable, bindMutableArray, bindMutablePat, getOpt, valueMap, visit
-
Field Details
-
slot
private int slot
-
-
Constructor Details
-
MutablePatSubEvalEnv
-
-
Method Details
-
fix
Description copied from interface:EvalEnvConverts this environment to a non-mutable environment. -
set
Description copied from interface:MutableEvalEnvPuts a value into this environment.- Specified by:
setin interfaceMutableEvalEnv
-
setOpt
Description copied from interface:MutableEvalEnvPuts a value into this environment in a way that may not succeed.For example, if this environment is based on the pattern (x, 2) then (1, 2) will succeed and will bind x to 1, but (3, 4) will fail.
The default implementation calls
MutableEvalEnv.set(java.lang.Object)and always succeeds.- Specified by:
setOptin interfaceMutableEvalEnv
-
bindRecurse
-