1.1 --- a/templates/native/introspection.c Sat Mar 04 23:48:19 2017 +0100
1.2 +++ b/templates/native/introspection.c Sun Mar 05 18:08:19 2017 +0100
1.3 @@ -57,18 +57,13 @@
1.4 return out;
1.5 }
1.6
1.7 -static int __issubclass(__ref obj, __attr cls)
1.8 -{
1.9 - return (__HASATTR(obj, __TYPEPOS(cls.value), __TYPECODE(cls.value)));
1.10 -}
1.11 -
1.12 __attr __fn_native_introspection_isinstance(__attr __args[])
1.13 {
1.14 __attr * const obj = &__args[1];
1.15 __attr * const cls = &__args[2];
1.16
1.17 /* cls must be a class. */
1.18 - if (__is_instance(obj->value) && __issubclass(__get_class(obj->value), *cls))
1.19 + if (__is_instance_subclass(obj->value, *cls))
1.20 return __builtins___boolean_True;
1.21 else
1.22 return __builtins___boolean_False;
1.23 @@ -80,7 +75,7 @@
1.24 __attr * const cls = &__args[2];
1.25
1.26 /* obj and cls must be classes. */
1.27 - if (__issubclass(obj->value, *cls))
1.28 + if (__is_subclass(obj->value, *cls))
1.29 return __builtins___boolean_True;
1.30 else
1.31 return __builtins___boolean_False;