Class PointBasedHeap.Rewriter
- java.lang.Object
-
- it.unive.lisa.analysis.heap.BaseHeapDomain.Rewriter
-
- it.unive.lisa.analysis.impl.heap.pointbased.PointBasedHeap.Rewriter
-
- All Implemented Interfaces:
ExpressionVisitor<ExpressionSet<ValueExpression>>
- Enclosing class:
- PointBasedHeap
protected class PointBasedHeap.Rewriter extends BaseHeapDomain.Rewriter
ABaseHeapDomain.Rewriterfor thePointBasedHeapdomain.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRewriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpressionSet<ValueExpression>visit(AccessChild expression, ExpressionSet<ValueExpression> receiver, ExpressionSet<ValueExpression> child, java.lang.Object... params)Visits anAccessChild.ExpressionSet<ValueExpression>visit(HeapAllocation expression, java.lang.Object... params)Visits aHeapAllocation.ExpressionSet<ValueExpression>visit(HeapDereference expression, ExpressionSet<ValueExpression> ref, java.lang.Object... params)Visits aHeapDereference.ExpressionSet<ValueExpression>visit(HeapReference expression, ExpressionSet<ValueExpression> loc, java.lang.Object... params)Visits aHeapReference.ExpressionSet<ValueExpression>visit(Identifier expression, java.lang.Object... params)Visits anIdentifier.
-
-
-
Method Detail
-
visit
public ExpressionSet<ValueExpression> visit(AccessChild expression, ExpressionSet<ValueExpression> receiver, ExpressionSet<ValueExpression> child, java.lang.Object... params) throws SemanticException
Description copied from interface:ExpressionVisitorVisits anAccessChild. This callback is invoked after the inner expressions have been visited, and their produced value is passed as argument.- Parameters:
expression- the expressionreceiver- the value produced by visiting the receiver (AccessChild.getContainer()) of the accesschild- the value produced by visiting the child (AccessChild.getChild()) of the accessparams- the additional parameters provided toSymbolicExpression.accept(ExpressionVisitor, Object...), if any- Returns:
- the value produced by visiting the expression
- Throws:
SemanticException- if an error occurs during the visit operation
-
visit
public ExpressionSet<ValueExpression> visit(HeapAllocation expression, java.lang.Object... params) throws SemanticException
Description copied from interface:ExpressionVisitorVisits aHeapAllocation.- Parameters:
expression- the allocationparams- the additional parameters provided toSymbolicExpression.accept(ExpressionVisitor, Object...), if any- Returns:
- the value produced by visiting the allocation
- Throws:
SemanticException- if an error occurs during the visit operation
-
visit
public ExpressionSet<ValueExpression> visit(HeapReference expression, ExpressionSet<ValueExpression> loc, java.lang.Object... params) throws SemanticException
Description copied from interface:ExpressionVisitorVisits aHeapReference.- Parameters:
expression- the heap referenceloc- the value produced by visiting the argument of the expressionparams- the additional parameters provided toSymbolicExpression.accept(ExpressionVisitor, Object...), if any- Returns:
- the value produced by visiting the heap reference
- Throws:
SemanticException- if an error occurs during the visit operation
-
visit
public ExpressionSet<ValueExpression> visit(HeapDereference expression, ExpressionSet<ValueExpression> ref, java.lang.Object... params) throws SemanticException
Description copied from interface:ExpressionVisitorVisits aHeapDereference.- Parameters:
expression- the heap dereferenceref- the value produced by visiting the argument of the expressionparams- the additional parameters provided toSymbolicExpression.accept(ExpressionVisitor, Object...), if any- Returns:
- the value produced by visiting the heap dereference
- Throws:
SemanticException- if an error occurs during the visit operation
-
visit
public final ExpressionSet<ValueExpression> visit(Identifier expression, java.lang.Object... params) throws SemanticException
Description copied from interface:ExpressionVisitorVisits anIdentifier.- Specified by:
visitin interfaceExpressionVisitor<ExpressionSet<ValueExpression>>- Overrides:
visitin classBaseHeapDomain.Rewriter- Parameters:
expression- the identifierparams- the additional parameters provided toSymbolicExpression.accept(ExpressionVisitor, Object...), if any- Returns:
- the value produced by visiting the identifier
- Throws:
SemanticException- if an error occurs during the visit operation
-
-