Name
SPVM::Document::NativeAPI::Argument - Argument Native APIs
Description
The argument native APIs in SPVM are the APIs to get definition information for arguments.
Usage
SPVM_API_ARG* api_arg = env->api->arg;
SPVM_API_METHOD* api_method = env->api->method;
void* basic_type = env->get_basic_type(env, stack, "Foo");
void* method = env->api->basic_type->get_method_by_name(env->runtime, basic_type, "get");
void* arg = api_method->get_arg_by_index(env->runtime, method, 0);
void* arg_basic_type = api_arg->get_basic_type(env->runtime, arg);
Native APIs
get_name
const char* (*get_name)(void* runtime, void* arg);
Returns the name of the argument arg.
get_index
int32_t (*get_index)(void* runtime, void* arg);
Returns the index of the argument arg.
get_basic_type
void* (*get_basic_type)(void* runtime, void* arg);
Returns the basic type of the argument arg.
get_type_dimension
int32_t (*get_type_dimension)(void* runtime, void* arg);
Returns the type dimention of the argument arg.
get_type_flag
int32_t (*get_type_flag)(void* runtime, void* arg);
Returns the type flag ID of the argument arg.
get_stack_index
int32_t (*get_stack_index)(void* runtime, void* arg);
Returns the stack index of the argument arg. The stack index is the position in a runtime stack.
get_current_method
void* (*get_current_method)(void* runtime, void* arg);
Returns the method that owns the argment arg.
is_optional
int32_t (*is_optional)(void* runtime, void* arg);
If the argument arg is an optional argument, returns 1, otherwise returns 0.
get_default_value
SPVM_VALUE (*get_default_value)(void* runtime, void* arg);
Returns the default value of the optional argument arg.
Native API IDs
0 get_name
1 get_index
2 get_basic_type
3 get_type_dimension
4 get_type_flag
5 get_stack_index
6 get_current_method
7 is_optional
8 get_default_value
See Also
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License