BallEngine class
Constructors
BallEngine (Program program , {void stdout (String )?, void stderr (String )?, String stdinReader ()?, String envGet (String )?, List <String > ? args , bool enableProfiling = false , int maxRecursionDepth = 10000 , int ? timeoutMs , int ? maxMemoryBytes , int maxModules = 100 , int maxExpressionDepth = 1000 , int ? maxProgramSizeBytes , bool sandbox = false , List <BallModuleHandler > ? moduleHandlers , ModuleResolver? resolver })
Properties
hashCode
→ int
The hash code for this object.
no setter inherited
maxExpressionDepth
→ int
Maximum nested expression evaluation depth.
final
maxMemoryBytes
→ int ?
Maximum approximate memory allocated for Ball values in bytes.
null disables memory limit enforcement.
final
maxModules
→ int
Maximum number of modules accepted in the program.
final
maxProgramSizeBytes
→ int ?
Maximum protobuf binary size accepted for the program.
null disables program size enforcement (default — opt-in for trusted runs).
final
maxRecursionDepth
→ int
Maximum number of nested non-base Ball function calls allowed.
final
moduleHandlers
→ List <BallModuleHandler >
Registered module handlers consulted by _callBaseFunction.
final
program
→ Program
final
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
sandbox
→ bool
When true, blocks all I/O / process-affecting base functions
(file_, dir_ , env_get, exit, panic) by throwing BallRuntimeError .
Use for evaluating untrusted programs.
final
stderr
↔ void Function(String )
Standard error sink (overridable for testing).
getter/setter pair
stdinReader
↔ String Function() ?
Standard input line reader (overridable for testing). null = no stdin.
getter/setter pair
stdout
↔ void Function(String )
Standard output sink (overridable for testing).
getter/setter pair
timeoutMs
→ int ?
Maximum wall-clock execution time in milliseconds for run .
null disables timeout enforcement.
final
Methods
callFunction (String module , String function , Object ? input )
→ Future <Object ? >
Invoke any ball function by module and function name with input.
noSuchMethod (Invocation invocation )
→ dynamic
Invoked when a nonexistent method or property is accessed.
inherited
profilingReport ()
→ Map <String , int >
Returns an unmodifiable snapshot of profiling call counts.
Keys are std function names; values are invocation counts.
Returns an empty map when profiling was not enabled.
run ()
→ Future <Object ? >
Execute the program starting from the entry point.
toString ()
→ String
A string representation of this object.
inherited