#include <stdint.h>
-#include "vm/class.h"
+#include "vm/class.hpp"
#include "vm/global.h"
-#include "vm/linker.h"
+#include "vm/linker.hpp"
#include "vm/utf8.h"
static classinfo* get_arrayclass_by_type(int type);
static int get_type_by_wrapperclass(classinfo *c);
+ static int get_type_by_primitiveclass(classinfo *c);
static java_handle_t* box(int type, imm_union value);
static java_handle_t* box(double value);
static imm_union unbox(java_handle_t *o);
+ static bool unbox_typed(java_handle_t *o, int type, imm_union* value);
static uint8_t unbox_boolean(java_handle_t* o);
static int8_t unbox_byte(java_handle_t* o);
void primitive_init(void);
void primitive_postinit(void);
-#ifndef __cplusplus
-// Legacy C interface.
-classinfo *Primitive_get_class_by_name(utf *name);
-classinfo *Primitive_get_class_by_type(int type);
-
-classinfo *Primitive_get_arrayclass_by_name(utf *name);
-classinfo *Primitive_get_arrayclass_by_type(int type);
-
-int Primitive_get_type_by_wrapperclass(classinfo *c);
-
-java_handle_t *Primitive_box(int type, imm_union value);
-imm_union Primitive_unbox(java_handle_t *h);
-#endif
-
#endif // _PRIMITIVE_HPP