Class RebindingMap


  • public class RebindingMap
    extends java.lang.Object
    A map from old bindings to new bindings, maintained during a copy() operation applied to an expression tree. When local variable bindings are copied, the mapping from old to new binding can be added to the list; when local variable references are encountered, the binding can be switched from the old binding to the new. Bindings are compared strictly using object identity. Some classes that implement the Binding interface have their own equals() method that could return true for two bindings that need to be treated as distinct.
    • Constructor Summary

      Constructors 
      Constructor Description
      RebindingMap()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Binding get​(Binding oldBinding)
      Get the new binding corresponding to an existing binding if there is one
      void put​(Binding oldBinding, Binding newBinding)
      Add an entry to the binding map
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RebindingMap

        public RebindingMap()
    • Method Detail

      • put

        public void put​(Binding oldBinding,
                        Binding newBinding)
        Add an entry to the binding map
        Parameters:
        oldBinding - the existing binding
        newBinding - the replacement binding
      • get

        public Binding get​(Binding oldBinding)
        Get the new binding corresponding to an existing binding if there is one
        Parameters:
        oldBinding - the existing binding
        Returns:
        the new binding if one exists, or null otherwise