Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
---
 vm/class.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/vm/class.c b/vm/class.c
index f39e0c0..15084af 100644
--- a/vm/class.c
+++ b/vm/class.c
@@ -989,6 +989,18 @@ bool vm_class_is_assignable_from(const struct vm_class 
*vmc, const struct vm_cla
        if (vmc == from)
                return true;
 
+       if (vm_class_is_array_class(vmc)) {
+               if (!vm_class_is_array_class(from))
+                       return from == vm_java_lang_Object;
+
+               const struct vm_class *vmc_el
+                       = vm_class_get_array_element_class(vmc);
+               const struct vm_class *from_el
+                       = vm_class_get_array_element_class(vmc);
+
+               return vm_class_is_assignable_from(vmc_el, from_el);
+       }
+
        if (from->super && vm_class_is_assignable_from(vmc, from->super))
                return true;
 
-- 
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

Reply via email to