Package it.unive.lisa.interprocedural
Interface OpenCallPolicy
-
- All Known Implementing Classes:
ReturnTopPolicy
,WorstCasePolicy
public interface OpenCallPolicy
Policy that determines what happens to theAnalysisState
when anOpenCall
is encountered during the fixpoint. The state is directly transformed by this policy.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
RETURNED_VARIABLE_NAME
The 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 ofAbstractState
contained into the analysis stateH
- the type ofHeapDomain
contained into the computed abstract stateV
- the type ofValueDomain
contained into the computed abstract stateT
- the type ofTypeDomain
contained into the computed abstract state- Parameters:
call
- theOpenCall
under evaluationentryState
- the state when the call is executedparams
- the symbolic expressions representing the computed values of the parameters of the call- Returns:
- the
AnalysisState
representing the abstract result of the execution of this call - Throws:
SemanticException
- if something goes wrong during the computation
-
-