Class ConstantPropagationStore

    • Constructor Detail

      • ConstantPropagationStore

        public ConstantPropagationStore()
        Creates a new ConstantPropagationStore.
      • ConstantPropagationStore

        protected ConstantPropagationStore​(java.util.Map<Node,​Constant> contents)
    • Method Detail

      • getInformation

        public Constant getInformation​(Node n)
      • mergeInformation

        public void mergeInformation​(Node n,
                                     Constant val)
      • setInformation

        public void setInformation​(Node n,
                                   Constant val)
      • leastUpperBound

        public ConstantPropagationStore leastUpperBound​(ConstantPropagationStore other)
        Description copied from interface: Store
        Compute the least upper bound of two stores.

        Important: This method must fulfill the following contract:

        • Does not change this.
        • Does not change other.
        • Returns a fresh object which is not aliased yet.
        • Returns an object of the same (dynamic) type as this, even if the signature is more permissive.
        • Is commutative.
        Specified by:
        leastUpperBound in interface Store<ConstantPropagationStore>
      • widenedUpperBound

        public ConstantPropagationStore widenedUpperBound​(ConstantPropagationStore previous)
        Description copied from interface: Store
        Compute an upper bound of two stores that is wider than the least upper bound of the two stores. Used to jump to a higher abstraction to allow faster termination of the fixed point computations in Analysis. previous must be the previous store.

        A particular analysis might not require widening and should implement this method by calling leastUpperBound.

        Important: This method must fulfill the following contract:

        • Does not change this.
        • Does not change previous.
        • Returns a fresh object which is not aliased yet.
        • Returns an object of the same (dynamic) type as this, even if the signature is more permissive.
        • Is commutative.
        Specified by:
        widenedUpperBound in interface Store<ConstantPropagationStore>
        Parameters:
        previous - must be the previous store
      • equals

        public boolean equals​(@Nullable java.lang.Object o)
        Description copied from interface: Store
        Returns true if this is equal to the given argument.
        Specified by:
        equals in interface Store<ConstantPropagationStore>
        Overrides:
        equals in class java.lang.Object
        Parameters:
        o - the object to compare against this
        Returns:
        true if this is equal to the given argument
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

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