Package it.unive.lisa.interprocedural
Interface OpenCallPolicy
-
- All Known Implementing Classes:
ReturnTopPolicy,WorstCasePolicy
public interface OpenCallPolicyPolicy that determines what happens to theAnalysisStatewhen anOpenCallis encountered during the fixpoint. The state is directly transformed by this policy.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringRETURNED_VARIABLE_NAMEThe name of the variable storing the return value of the call, if any.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>>
AnalysisState<A,H,V,T>apply(OpenCall call, AnalysisState<A,H,V,T> entryState, ExpressionSet<SymbolicExpression>[] params)Applies the policy to the given open call.
-
-
-
Field Detail
-
RETURNED_VARIABLE_NAME
static final java.lang.String RETURNED_VARIABLE_NAME
The name of the variable storing the return value of the call, if any.- See Also:
- Constant Field Values
-
-
Method Detail
-
apply
<A extends AbstractState<A,H,V,T>,H extends HeapDomain<H>,V extends ValueDomain<V>,T extends TypeDomain<T>> AnalysisState<A,H,V,T> apply(OpenCall call, AnalysisState<A,H,V,T> entryState, ExpressionSet<SymbolicExpression>[] params) throws SemanticException
Applies the policy to the given open call.- Type Parameters:
A- the type ofAbstractStatecontained into the analysis stateH- the type ofHeapDomaincontained into the computed abstract stateV- the type ofValueDomaincontained into the computed abstract stateT- the type ofTypeDomaincontained into the computed abstract state- Parameters:
call- theOpenCallunder evaluationentryState- the state when the call is executedparams- the symbolic expressions representing the computed values of the parameters of the call- Returns:
- the
AnalysisStaterepresenting the abstract result of the execution of this call - Throws:
SemanticException- if something goes wrong during the computation
-
-