#include <stdlib.h>
#include <string.h>
#include <spvm_native.h>
struct TestCase__Pointer {
int32_t x;
};
int32_t SPNATIVE__TestCase__Pointer__new(SPVM_ENV* env, SPVM_VALUE* args) {
(void)env;
(void)args;
int32_t x = args[0].ival;
struct TestCase__Pointer* pointer = malloc(sizeof(struct TestCase__Pointer));
pointer->x = x;
int32_t basic_type_id = env->get_basic_type_id(env, "TestCase::Pointer");
void* struct_object = env->new_pointer_raw(env, basic_type_id, pointer);
args[0].oval = struct_object;
return 0;
}
int32_t SPNATIVE__TestCase__Pointer__get_x(SPVM_ENV* env, SPVM_VALUE* args) {
(void)env;
(void)args;
void* self = args[0].oval;
struct TestCase__Pointer* pointer = (struct TestCase__Pointer*)env->get_pointer(env, self);
args[0].ival = pointer->x;
return 0;
}
int32_t SPNATIVE__TestCase__Pointer__DESTROY(SPVM_ENV* env, SPVM_VALUE* args) {
(void)env;
(void)args;
void* self = args[0].oval;
struct TestCase__Pointer* pointer = (struct TestCase__Pointer*)env->get_pointer(env, self);
free(pointer);
return 0;
}