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 aKDepthToken
withk = 1
.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
static LastCallToken
getSingleton()
Return an empty token.int
hashCode()
boolean
isStartingId()
ContextSensitivityToken
push(it.unive.lisa.program.cfg.statement.call.CFGCall c)
ContextSensitivityToken
startingId()
java.lang.String
toString()
-
-
-
Method Detail
-
getSingleton
public static LastCallToken getSingleton()
Return an empty token.- Returns:
- an empty token
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
startingId
public ContextSensitivityToken startingId()
- Specified by:
startingId
in interfaceContextSensitivityToken
- Specified by:
startingId
in interfaceit.unive.lisa.interprocedural.ScopeId
-
isStartingId
public boolean isStartingId()
- Specified by:
isStartingId
in interfaceit.unive.lisa.interprocedural.ScopeId
-
push
public ContextSensitivityToken push(it.unive.lisa.program.cfg.statement.call.CFGCall c)
- Specified by:
push
in interfaceContextSensitivityToken
- Specified by:
push
in interfaceit.unive.lisa.interprocedural.ScopeId
-
-