Package it.unive.lisa.symbolic.heap
Class AccessChild
- java.lang.Object
-
- it.unive.lisa.symbolic.SymbolicExpression
-
- it.unive.lisa.symbolic.heap.HeapExpression
-
- it.unive.lisa.symbolic.heap.AccessChild
-
public class AccessChild extends HeapExpression
An expression that accesses a memory location that is a child of another one, that is, the former is reachable from the latter.
-
-
Constructor Summary
Constructors Constructor Description AccessChild(ExternalSet<Type> types, SymbolicExpression container, SymbolicExpression child, CodeLocation location)Builds the child access.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Taccept(ExpressionVisitor<T> visitor, java.lang.Object... params)Accepts anExpressionVisitor, visiting this expression recursively.booleanequals(java.lang.Object obj)SymbolicExpressiongetChild()Yields the expression representing the child.SymbolicExpressiongetContainer()Yields the expression representing the parent.inthashCode()java.lang.StringtoString()-
Methods inherited from class it.unive.lisa.symbolic.heap.HeapExpression
popScope, pushScope
-
Methods inherited from class it.unive.lisa.symbolic.SymbolicExpression
getCodeLocation, getDynamicType, getTypes
-
-
-
-
Constructor Detail
-
AccessChild
public AccessChild(ExternalSet<Type> types, SymbolicExpression container, SymbolicExpression child, CodeLocation location)
Builds the child access.- Parameters:
types- the runtime types of this expressioncontainer- the expression representing the parentchild- the expression representing the childlocation- the code location of the statement that has generated this expression
-
-
Method Detail
-
getContainer
public SymbolicExpression getContainer()
Yields the expression representing the parent.- Returns:
- the container
-
getChild
public SymbolicExpression getChild()
Yields the expression representing the child.- Returns:
- the child
-
hashCode
public int hashCode()
- Overrides:
hashCodein classSymbolicExpression
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classSymbolicExpression
-
toString
public java.lang.String toString()
- Specified by:
toStringin classSymbolicExpression
-
accept
public <T> T accept(ExpressionVisitor<T> visitor, java.lang.Object... params) throws SemanticException
Description copied from class:SymbolicExpressionAccepts anExpressionVisitor, visiting this expression recursively.- Specified by:
acceptin classSymbolicExpression- Type Parameters:
T- the type of value produced by the visiting callbacks- Parameters:
visitor- the visitorparams- additional optional parameters to pass to each visiting callback- Returns:
- the value produced by the visiting operation
- Throws:
SemanticException- if an error occurs during the visiting
-
-