From bedac8ec83fba22fa96118b6e8360e814dedf6a0 Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 7 Feb 2008 18:03:03 +0000 Subject: [PATCH] Fix isa() when used on classes with superclasses. --- Nasal/globals.nas | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Nasal/globals.nas b/Nasal/globals.nas index 47e3bf296..0b29e8572 100644 --- a/Nasal/globals.nas +++ b/Nasal/globals.nas @@ -3,11 +3,10 @@ # (class) object. Example: isa(someObject, props.Node) # var isa = func(obj, class) { - if(obj == nil or !contains(obj, "parents")) { return 0; } - foreach(c; obj.parents) { - if(c == class) { return 1; } - elsif(isa(obj, c)) { return 1; } - } + if(contains(obj, "parents")) + foreach(c; obj.parents) + if(c == class or isa(c, class)) + return 1; return 0; }