SPVM::Runtime - Runtime
SPVM::Runtime is the Runtime class in the SPVM language.
SPVM::Runtime
Runtime
The instance has the runtime information such as operation codes, classes, methods, fields, class variables, constant strings.
This class provides only the minimal methods to get the information of classes and methods.
An instance of the Runtime class is build by the build_runtime method in the Compiler class.
A execution environemt is build by the build_env method in this class.
use Runtime; my $runtime = $compiler->build_runtime; my $class_names = $runtime->get_class_names; my $method_names = $runtime->get_method_names("Foo"); my $env = $runtime->build_env; my $stack = $env->build_stack;
The Runtime class is a pointer class.
Its insntace has a pointer to a runtime object.
method get_runtime_codes : int[] ();
Gets the runtime codes and returns it.
method get_classes_length : int ();
Gets the length of the classes and returns it.
method get_class_names : string[] ();
Gets the class names and returns it.
method get_parent_class_name : string ($class_name : string);
Gets the parent class name and returns it.
method get_method_names : string[] ($class_name : string, $options = undef : object[]);
Gets method names and returns it.
Options:
The options are key-value pairs. The key is the string type.
string
native : Int
native
Gets only native methods if this option is true.
precompile : Int
precompile
Gets only precompile methods if this option is true.
enum : Int
enum
Get only enum methods if this option is true.
method get_module_file : string ($class_name : string);
Gets the module file name and returns it.
method build_precompile_class_source : string ($class_name : string);
Builds the C source code of the class that contains precompile methods and return it.
method get_anon_class_names : string[] ($class_name : string);
Gets the anon class names and returns it.
method get_method_is_class_method : int ($class_name : string, $method_name : string);
Checks if the method is a class method. If it is so, returns 1, otherwise returns 0.
method build_precompile_method_source : string ($class_name : string, $method_name : string);
Builds the C source code of a precompile method and return it.
method get_native_method_address : Address ($class_name : string, $method_name : string);
Gets the address of a native method and returns it.
The return type is the Address class.
method set_native_method_address : string ($class_name : string, $method_name : string, $address : Address);
Sets the address of a native method.
The address is the Address class.
method get_precompile_method_address : Address ($class_name : string, $method_name : string);
Gets the address of a precompile method and returns it.
method set_precompile_method_address : string ($class_name : string, $method_name : string, $address : Address);
Sets the address of a precompile method.
method build_env : Env ();
Builds an execution environemnt and returns it.
The return type is the Env class.
method DESTROY : void ();
The destructor.
The build_runtime method in the Compiler class builds a rutnime.
The instance of the Env class is build by the "build_env" method in this class.
Copyright (c) 2023 Yuki Kimoto
MIT License
To install SPVM, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SPVM
CPAN shell
perl -MCPAN -e shell install SPVM
For more information on module installation, please visit the detailed CPAN module installation guide.