Signed-off-by: Tomek Grabiec <[email protected]>
---
vm/class.c | 4 ++++
vm/classloader.c | 5 +----
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/vm/class.c b/vm/class.c
index df22058..48f30d2 100644
--- a/vm/class.c
+++ b/vm/class.c
@@ -34,6 +34,7 @@
#include <cafebabe/constant_pool.h>
#include <cafebabe/field_info.h>
#include <cafebabe/method_info.h>
+#include <cafebabe/stream.h>
#include <vm/class.h>
#include <vm/classloader.h>
@@ -146,6 +147,8 @@ int vm_class_link(struct vm_class *vmc, const struct
cafebabe_class *class)
vmc->name = strndup((char *) name->bytes, name->length);
+ vmc->source_file_name = cafebabe_class_get_source_file_name(class);
+
if (class->super_class) {
const struct cafebabe_constant_info_class *constant_super;
if (cafebabe_class_constant_get_class(class,
@@ -322,6 +325,7 @@ int vm_class_link_bogus_class(struct vm_class *vmc, const
char *class_name)
vmc->methods = NULL;
vmc->object_size = 0;
vmc->static_size = 0;
+ vmc->source_file_name = NULL;
vmc->vtable_size = vm_java_lang_Object->vtable_size;
vmc->vtable.native_ptr = vm_java_lang_Object->vtable.native_ptr;
diff --git a/vm/classloader.c b/vm/classloader.c
index 45cc608..d3247ed 100644
--- a/vm/classloader.c
+++ b/vm/classloader.c
@@ -411,10 +411,7 @@ struct vm_class *load_class(const char *class_name)
}
out_filename:
- if (result)
- result->source_file_name = filename;
- else
- free(filename);
+ free(filename);
return result;
}
--
1.6.0.6
------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jatovm-devel