Package it.unive.lisa.interprocedural
Class RecursionFreeToken
- java.lang.Object
-
- it.unive.lisa.interprocedural.RecursionFreeToken
-
- All Implemented Interfaces:
ContextSensitivityToken
public class RecursionFreeToken extends java.lang.Object implements ContextSensitivityToken
A context sensitive token representing an entire call chain up until a recursion.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ContextSensitivityToken
empty()
A token without any context sensitivity.boolean
equals(java.lang.Object o)
static RecursionFreeToken
getSingleton()
Return an empty token.int
hashCode()
ContextSensitivityToken
popToken()
Creates a context sensitive token popping the scope on top of the stack.ContextSensitivityToken
pushToken(it.unive.lisa.analysis.ScopeToken c)
Creates a context sensitive token with the given scope on the top of the stack.java.lang.String
toString()
-
-
-
Method Detail
-
empty
public ContextSensitivityToken empty()
Description copied from interface:ContextSensitivityToken
A token without any context sensitivity.- Specified by:
empty
in interfaceContextSensitivityToken
- Returns:
- an empty context sensitive token
-
pushToken
public ContextSensitivityToken pushToken(it.unive.lisa.analysis.ScopeToken c)
Description copied from interface:ContextSensitivityToken
Creates a context sensitive token with the given scope on the top of the stack.- Specified by:
pushToken
in interfaceContextSensitivityToken
- Parameters:
c
- theScopeToken
to be pushed at the top of the context sensitive- Returns:
- a token with the given scope on the top of the call stack
-
popToken
public ContextSensitivityToken popToken()
Description copied from interface:ContextSensitivityToken
Creates a context sensitive token popping the scope on top of the stack.- Specified by:
popToken
in interfaceContextSensitivityToken
- Returns:
- a token without the this token's top scope
-
getSingleton
public static RecursionFreeToken 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 o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-