Class EvalEnvs.SubEvalEnv

  • All Implemented Interfaces:
    EvalEnv
    Direct Known Subclasses:
    EvalEnvs.MutableSubEvalEnv
    Enclosing class:
    EvalEnvs

    static class EvalEnvs.SubEvalEnv
    extends java.lang.Object
    implements EvalEnv
    Evaluation environment that inherits from a parent environment and adds one binding.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String name  
      private EvalEnv parentEnv  
      protected java.lang.Object value  
    • Constructor Summary

      Constructors 
      Constructor Description
      SubEvalEnv​(EvalEnv parentEnv, java.lang.String name, java.lang.Object value)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object getOpt​(java.lang.String name)
      Returns the binding of name if bound, null if not.
      java.lang.String toString()  
      void visit​(java.util.function.BiConsumer<java.lang.String,​java.lang.Object> consumer)
      Visits every variable binding in this environment.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • parentEnv

        private final EvalEnv parentEnv
      • name

        private final java.lang.String name
      • value

        protected java.lang.Object value
    • Constructor Detail

      • SubEvalEnv

        SubEvalEnv​(EvalEnv parentEnv,
                   java.lang.String name,
                   java.lang.Object value)
    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • visit

        public void visit​(java.util.function.BiConsumer<java.lang.String,​java.lang.Object> consumer)
        Description copied from interface: EvalEnv
        Visits every variable binding in this environment.

        Bindings that are obscured by more recent bindings of the same name are visited, but after the more obscuring bindings.

        Specified by:
        visit in interface EvalEnv
      • getOpt

        public java.lang.Object getOpt​(java.lang.String name)
        Description copied from interface: EvalEnv
        Returns the binding of name if bound, null if not.
        Specified by:
        getOpt in interface EvalEnv