Class LastCallToken
- java.lang.Object
-
- it.unive.lisa.interprocedural.context.LastCallToken
-
- All Implemented Interfaces:
ContextSensitivityToken,it.unive.lisa.interprocedural.ScopeId
public class LastCallToken extends java.lang.Object implements ContextSensitivityToken
A context sensitive token representing a singleScopeToken. The token that is kept is always the last pushed one, enabling the analysis of infinite call chains by lubbing results obtained starting from the same call site, regardless of the call stack. This corresponds to having aKDepthTokenwithk = 1.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)static LastCallTokengetSingleton()Return an empty token.inthashCode()booleanisStartingId()ContextSensitivityTokenpush(it.unive.lisa.program.cfg.statement.call.CFGCall c)ContextSensitivityTokenstartingId()java.lang.StringtoString()
-
-
-
Method Detail
-
getSingleton
public static LastCallToken getSingleton()
Return an empty token.- Returns:
- an empty token
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
startingId
public ContextSensitivityToken startingId()
- Specified by:
startingIdin interfaceContextSensitivityToken- Specified by:
startingIdin interfaceit.unive.lisa.interprocedural.ScopeId
-
isStartingId
public boolean isStartingId()
- Specified by:
isStartingIdin interfaceit.unive.lisa.interprocedural.ScopeId
-
push
public ContextSensitivityToken push(it.unive.lisa.program.cfg.statement.call.CFGCall c)
- Specified by:
pushin interfaceContextSensitivityToken- Specified by:
pushin interfaceit.unive.lisa.interprocedural.ScopeId
-
-