Package soot.jimple.toolkits.typing.fast
Class DefaultTypingStrategy
- java.lang.Object
-
- soot.jimple.toolkits.typing.fast.DefaultTypingStrategy
-
- All Implemented Interfaces:
ITypingStrategy
public class DefaultTypingStrategy extends Object implements ITypingStrategy
The default typing strategy
-
-
Field Summary
Fields Modifier and Type Field Description static ITypingStrategyINSTANCEstatic booleanMINIMIZING_ENABLEDstatic intUSE_PARALLEL_MINIMIZE_IF_ENTRIES_MORE_THAN
-
Constructor Summary
Constructors Constructor Description DefaultTypingStrategy()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(Typing a, Typing b, IHierarchy h, Collection<Local> localsToIgnore)TypingcreateTyping(Typing tg)Creates a new typing class as a copy from a given classTypingcreateTyping(Chain<Local> locals)Creates a newTypingclass instance with initialized bottom types for the given localsvoidfinalizeTypes(Typing tp)Finalizes the given types, i.e., converts intermediate types such as [0..1] to final types such asboolean.static MultiMap<Local,Type>getFlatTyping(List<Typing> tgs)static Set<Local>getObjectLikeTypings(List<Typing> tgs)voidminimize(List<Typing> tgs, IHierarchy h)Minimize the given typing list using the hierarchyvoidminimizeParallel(List<Typing> tgs, IHierarchy h)voidminimizeSequential(List<Typing> tgs, IHierarchy h)
-
-
-
Field Detail
-
INSTANCE
public static final ITypingStrategy INSTANCE
-
MINIMIZING_ENABLED
public static boolean MINIMIZING_ENABLED
-
USE_PARALLEL_MINIMIZE_IF_ENTRIES_MORE_THAN
public static int USE_PARALLEL_MINIMIZE_IF_ENTRIES_MORE_THAN
-
-
Method Detail
-
createTyping
public Typing createTyping(Chain<Local> locals)
Description copied from interface:ITypingStrategyCreates a newTypingclass instance with initialized bottom types for the given locals- Specified by:
createTypingin interfaceITypingStrategy- Parameters:
locals- the locals- Returns:
- the
Typing
-
createTyping
public Typing createTyping(Typing tg)
Description copied from interface:ITypingStrategyCreates a new typing class as a copy from a given class- Specified by:
createTypingin interfaceITypingStrategy- Parameters:
tg- the existingTyping- Returns:
- the new
Typing
-
minimize
public void minimize(List<Typing> tgs, IHierarchy h)
Description copied from interface:ITypingStrategyMinimize the given typing list using the hierarchy- Specified by:
minimizein interfaceITypingStrategy- Parameters:
tgs- theTypinglisth- the hierarchy
-
minimizeSequential
public void minimizeSequential(List<Typing> tgs, IHierarchy h)
-
compare
public int compare(Typing a, Typing b, IHierarchy h, Collection<Local> localsToIgnore)
-
minimizeParallel
public void minimizeParallel(List<Typing> tgs, IHierarchy h)
-
finalizeTypes
public void finalizeTypes(Typing tp)
Description copied from interface:ITypingStrategyFinalizes the given types, i.e., converts intermediate types such as [0..1] to final types such asboolean.- Specified by:
finalizeTypesin interfaceITypingStrategy- Parameters:
tp- The typing to finalize
-
-