Now we take interfaces into account as well.

Signed-off-by: Vegard Nossum <vegard.nos...@gmail.com>
---
 vm/class.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/vm/class.c b/vm/class.c
index d4f099b..f3f1512 100644
--- a/vm/class.c
+++ b/vm/class.c
@@ -753,7 +753,11 @@ bool vm_class_is_assignable_from(const struct vm_class 
*vmc, const struct vm_cla
        if (from->super && vm_class_is_assignable_from(vmc, from->super))
                return true;
 
-       NOT_IMPLEMENTED;
+       for (unsigned int i = 0; i < from->class->interfaces_count; ++i) {
+               if (vm_class_is_assignable_from(vmc, from->interfaces[i]))
+                       return true;
+       }
+
        return false;
 }
 
-- 
1.6.0.4


------------------------------------------------------------------------------
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to