Class BytecodeContext
- java.lang.Object
-
- com.tonic.analysis.execution.core.BytecodeContext
-
public final class BytecodeContext extends Object
Immutable configuration for a bytecode engine: execution mode, heap, resolution services, and execution limits.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBytecodeContext.BuilderBuilder forBytecodeContext; a heap manager and class resolver are required.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassResolvergetClassResolver()HeapManagergetHeapManager()InvocationHandlergetInvocationHandler()intgetMaxCallDepth()intgetMaxInstructions()ExecutionModegetMode()NativeRegistrygetNativeRegistry()booleanisTrackStatistics()
-
-
-
Method Detail
-
getMode
public ExecutionMode getMode()
- Returns:
- the mode
-
getHeapManager
public HeapManager getHeapManager()
- Returns:
- the heap manager
-
getClassResolver
public ClassResolver getClassResolver()
- Returns:
- the class resolver
-
getNativeRegistry
public NativeRegistry getNativeRegistry()
- Returns:
- the native registry
-
getInvocationHandler
public InvocationHandler getInvocationHandler()
- Returns:
- the custom invocation handler overriding the default per-mode handler, or
nullto use the default; only consulted inExecutionMode.RECURSIVE, where it lets a caller intercept every call (e.g. to stub the environment for differential execution)
-
getMaxCallDepth
public int getMaxCallDepth()
- Returns:
- the max call depth
-
getMaxInstructions
public int getMaxInstructions()
- Returns:
- the max instructions
-
isTrackStatistics
public boolean isTrackStatistics()
- Returns:
- whether track statistics
-
-