We will have to return this class as void method's result type class. Signed-off-by: Tomek Grabiec <tgrab...@gmail.com> --- include/vm/preload.h | 1 + vm/classloader.c | 2 +- vm/preload.c | 2 ++ vm/reflection.c | 7 +++++-- 4 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/vm/preload.h b/include/vm/preload.h index 0617ba6..4976468 100644 --- a/include/vm/preload.h +++ b/include/vm/preload.h @@ -56,6 +56,7 @@ extern struct vm_class *vm_byte_class; extern struct vm_class *vm_short_class; extern struct vm_class *vm_int_class; extern struct vm_class *vm_long_class; +extern struct vm_class *vm_void_class; extern struct vm_field *vm_java_lang_Class_vmdata; extern struct vm_field *vm_java_lang_String_offset; diff --git a/vm/classloader.c b/vm/classloader.c index 5011b3e..73bfcd7 100644 --- a/vm/classloader.c +++ b/vm/classloader.c @@ -382,7 +382,7 @@ struct vm_class *classloader_load_primitive(const char *class_name) cache_index = str_to_type(class_name); - if (cache_index == J_VOID || cache_index == J_REFERENCE) + if (cache_index == J_REFERENCE) return NULL; if (primitive_class_cache[cache_index]) diff --git a/vm/preload.c b/vm/preload.c index 4d477db..f75304b 100644 --- a/vm/preload.c +++ b/vm/preload.c @@ -97,6 +97,7 @@ struct vm_class *vm_byte_class; struct vm_class *vm_short_class; struct vm_class *vm_int_class; struct vm_class *vm_long_class; +struct vm_class *vm_void_class; static const struct preload_entry preload_entries[] = { { "java/lang/Object", &vm_java_lang_Object }, @@ -159,6 +160,7 @@ static const struct preload_entry primitive_preload_entries[] = { {"S", &vm_short_class}, {"I", &vm_int_class}, {"J", &vm_long_class}, + {"V", &vm_void_class}, }; struct field_preload_entry { diff --git a/vm/reflection.c b/vm/reflection.c index 8270f1a..14fdb12 100644 --- a/vm/reflection.c +++ b/vm/reflection.c @@ -294,10 +294,13 @@ static struct vm_class *vm_type_to_class(char *type_name, enum vm_type type) return vm_int_class; case J_LONG: return vm_long_class; + case J_VOID: + return vm_void_class; case J_REFERENCE: return classloader_load(type_name); - default: - NOT_IMPLEMENTED; + case J_RETURN_ADDRESS: + case VM_TYPE_MAX: + error("invalid type"); } return NULL; -- 1.6.0.6 ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel