Class PointBasedHeap.Rewriter

  • All Implemented Interfaces:
    it.unive.lisa.symbolic.ExpressionVisitor<it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression>>
    Direct Known Subclasses:
    FieldSensitivePointBasedHeap.Rewriter
    Enclosing class:
    PointBasedHeap

    public class PointBasedHeap.Rewriter
    extends it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
    A BaseHeapDomain.Rewriter for the PointBasedHeap domain.
    • Constructor Summary

      Constructors 
      Constructor Description
      Rewriter()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.AccessChild expression, it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> receiver, it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> child, java.lang.Object... params)  
      it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.HeapAllocation expression, java.lang.Object... params)  
      it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.HeapDereference expression, it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> arg, java.lang.Object... params)  
      it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.HeapReference expression, it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> arg, java.lang.Object... params)  
      it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.value.Identifier expression, java.lang.Object... params)  
      it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.value.PushAny expression, java.lang.Object... params)  
      • Methods inherited from class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter

        visit, visit, visit, visit, visit
      • Methods inherited from class java.lang.Object

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

      • Rewriter

        public Rewriter()
    • Method Detail

      • visit

        public it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.AccessChild expression,
                                                                                                                 it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> receiver,
                                                                                                                 it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> child,
                                                                                                                 java.lang.Object... params)
                                                                                                          throws it.unive.lisa.analysis.SemanticException
        Throws:
        it.unive.lisa.analysis.SemanticException
      • visit

        public it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.HeapAllocation expression,
                                                                                                                 java.lang.Object... params)
                                                                                                          throws it.unive.lisa.analysis.SemanticException
        Throws:
        it.unive.lisa.analysis.SemanticException
      • visit

        public it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.HeapReference expression,
                                                                                                                 it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> arg,
                                                                                                                 java.lang.Object... params)
                                                                                                          throws it.unive.lisa.analysis.SemanticException
        Throws:
        it.unive.lisa.analysis.SemanticException
      • visit

        public it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.heap.HeapDereference expression,
                                                                                                                 it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> arg,
                                                                                                                 java.lang.Object... params)
                                                                                                          throws it.unive.lisa.analysis.SemanticException
        Throws:
        it.unive.lisa.analysis.SemanticException
      • visit

        public it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.value.Identifier expression,
                                                                                                                 java.lang.Object... params)
                                                                                                          throws it.unive.lisa.analysis.SemanticException
        Specified by:
        visit in interface it.unive.lisa.symbolic.ExpressionVisitor<it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression>>
        Overrides:
        visit in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
        Throws:
        it.unive.lisa.analysis.SemanticException
      • visit

        public it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression> visit​(it.unive.lisa.symbolic.value.PushAny expression,
                                                                                                                 java.lang.Object... params)
                                                                                                          throws it.unive.lisa.analysis.SemanticException
        Specified by:
        visit in interface it.unive.lisa.symbolic.ExpressionVisitor<it.unive.lisa.analysis.lattices.ExpressionSet<it.unive.lisa.symbolic.value.ValueExpression>>
        Overrides:
        visit in class it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
        Throws:
        it.unive.lisa.analysis.SemanticException