SPVM::D...sicType(3)
๐ NAME ๐
okay so this page is literally SPVM::Document::NativeAPI::BasicType โ Basic Type Native APIs. the header vibes say SPVM::D...sicType(3) and User Contributed Perl Documentation, so yes bestie, you're in the right Perl-flavored corner of the internet ๐ซถ
๐ธ DESCRIPTION ๐ธ
the basic type native APIs in SPVM are the APIs that get you definition information for basic types. that's the whole assignment, and they ate ๐
โจ USAGE โจ
int32_t error_id
SPVM_API_BASIC_TYPE* api_basic_type = env->api->basic_type;
void* basic_type = env->get_basic_type(env, stack, "Int");
const char* basic_type_name = api_basic_type->get_name(env->runtime, basic_type);
๐ฆ NATIVE APIs ๐ฆ
get_name
"const char* (*get_name)(void* runtime, void* basic_type);"
returns the name of the basic type basic_type. iconic, no notes โจ
get_id
"int32_t (*get_id)(void* runtime, void* basic_type);"
returns the ID of the basic type basic_type. that's the id, bestie ๐ชช
get_category
"int32_t (*get_category)(void* runtime, void* basic_type);"
returns the base type category ID of the basic type basic_type. category is giving organized ๐
get_parent
"void* (*get_parent)(void* runtime, void* basic_type);"
returns the parent basic type object of the basic type basic_type. family tree behavior ๐ณ
get_version_string
"const char* (*get_version_string)(void* runtime, void* basic_type);"
returns the version string of the basic type basic_type. version string has main character energy ๐ฅ
get_class_dir
"const char* (*get_class_dir)(void* runtime, void* basic_type);"
returns the class directory of the basic type basic_type. directory reveal ๐
get_class_rel_file
"const char* (*get_class_rel_file)(void* runtime, void* basic_type);"
returns the class relative file of the basic type basic_type. relative file, slay ๐ฆ
is_pointer
"int32_t (*is_pointer)(void* runtime, void* basic_type);"
if the basic type basic_type is a pointer class, returns 1; otherwise returns 0. pointer check, periodt ๐
is_anon
"int32_t (*is_anon)(void* runtime, void* basic_type);"
if the basic type basic_type is an anon class, returns 1; otherwise returns 0. anon vibe check ๐
get_class_var_by_index
"void* (*get_class_var_by_index)(void* runtime, void* basic_type, int32_t class_var_index);"
searches a class variable owned by the basic type basic_type given the class variable index class_var_index.
if it is found, returns it. otherwise, returns NULL. no cap ๐ซถ
get_class_var_by_name
"void* (*get_class_var_by_name)(void* runtime, void* basic_type, const char* class_var_name);"
searches a class variable owned by the basic type basic_type given the class variable name class_var_name.
if it is found, returns it. otherwise, returns NULL. name search has entered the chat ๐ฌ
get_class_vars_length
"int32_t (*get_class_vars_length)(void* runtime, void* basic_type);"
returns the length of the class variables owned by the basic type basic_type. class vars count, literally ๐งฎ
get_field_by_index
"void* (*get_field_by_index)(void* runtime, void* basic_type, int32_t field_index);"
searches a field owned by the basic type basic_type given the field index field_index.
if it is found, returns it. otherwise, returns NULL. field found or field not found, that's the journey ๐
get_field_by_name
"void* (*get_field_by_name)(void* runtime, void* basic_type, const char* field_name);"
searches a field owned by the basic type basic_type given the field name field_name.
if it is found, returns it. otherwise, returns NULL. name-based field hunt ๐
get_fields_length
"int32_t (*get_fields_length)(void* runtime, void* basic_type);"
returns the length of the fields owned by the basic type basic_type. fields length, we love a number ๐
get_method_by_index
"void* (*get_method_by_index)(void* runtime, void* basic_type, int32_t method_index);"
searches a method owned by the basic type basic_type given the method index method_index.
if it is found, returns it. otherwise, returns NULL. method hunt by index, iconic ๐
get_method_by_name
"void* (*get_method_by_name)(void* runtime, void* basic_type, const char* method_name);"
searches a method owned by the basic type basic_type given the method name method_name.
if it is found, returns it. otherwise, returns NULL. method name search, go off ๐ฅ
get_methods_length
"int32_t (*get_methods_length)(void* runtime, void* basic_type);"
returns the length of the methods owned by the basic type basic_type. methods length, periodt ๐
get_anon_basic_type_by_index
"void* (*get_anon_basic_type_by_index)(void* runtime, void* basic_type, int32_t anon_basic_type_index);"
searches an anon basic type owned by the basic type basic_type given an anon basic type index anon_basic_type_index.
if it is found, returns it. otherwise, returns NULL. anon basic type said peekaboo ๐
get_anon_basic_types_length
"int32_t (*get_anon_basic_types_length)(void* runtime, void* basic_type);"
returns the length of the anon basic types owned by the basic type basic_type. anon count, bestie ๐ง
has_interface
"int32_t (*has_interface)(void* runtime, void* basic_type, void* interface_basic_type);"
if the basic type basic_type has an interface interface_basic_type, returns 1; otherwise returns 0. interface check, slay ๐ธ
is_super_class
"int32_t (*is_super_class)(void* runtime, void* dist_basic_type, void* src_basic_type);"
if dist_basic_type is a super class of src_basic_type, returns 1; otherwise returns 0. super class status check ๐
get_file
"const char* (*get_file)(void* runtime, void* basic_type);"
returns the file path of the basic type basic_type.
this can be changed by a file directive. example time, and yes we're keeping it exactly as written:
#file /tempaltes/foo.html.ep
class Foo {
}
get_current_runtime
"void* (*get_current_runtime)(void* runtime, void* basic_type);"
returns the runtime that owns the basic type basic_type. runtime owner reveal ๐ซถ
get_basic_type_in_version_from
"void* (*get_basic_type_in_version_from)(void* runtime, void* basic_type);"
void* (*get_basic_type_in_version_from)(void* runtime, void* basic_type)
returns the basic type basic type object specified by the version_from statement. yes, โbasic type basic typeโ is literally the original vibe, and we're not fixing it ๐
get_fields_size
int32_t (*get_fields_size)(void* runtime, void* basic_type);
Retunrs the total byte size of the fields. (the typo is in the source, bestie โ we keep those details.) ๐
๐ข NATIVE API IDs ๐ข
0 get_name
1 get_id
2 get_category
3 get_parent
4 get_version_string
5 get_class_dir
6 get_class_rel_file
7 is_pointer
8 is_anon
9 get_class_var_by_index
10 get_class_var_by_name
11 get_class_vars_length
12 get_field_by_index
13 get_field_by_name
14 get_fields_length
15 get_method_by_index
16 get_method_by_name
17 get_methods_length
18 get_anon_basic_type_by_index
19 get_anon_basic_types_length
20 has_interface
21 is_super_class
22 get_file
23 get_current_runtime
24 get_basic_type_in_version_from
25 get_fields_size
๐ SEE ALOSO ๐
SPVM::Document::NativeAPISPVM::Document::NativeAPI::TypeSPVM::Document::NativeClassSPVM::Document
๐ COPYRIGHT & LICENSE ๐
copyright (c) 2023 Yuki Kimoto
MIT License
footer tea, bestie โ: this whole cutie was served up by perl v5.42.2, dated 2026-02-03, under the manual name SPVM::D...sicType(3) โ mwah ๐โจ
๐ฆ where this page comes from
- alpine 3.24: spvm-doc 0.990125-r0 ยท MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms