X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FJSReflection.java;h=4712d0829616ac93292b68dda0de78710cf42994;hb=f63da7aeac2f942be41aefde91002d14117a8573;hp=9c2383005c364b5fd59fb8ee057806c4c9d69c27;hpb=a1e6b7e9307319c0195b0efbe5e5354c128be481;p=org.ibex.js.git diff --git a/src/org/ibex/js/JSReflection.java b/src/org/ibex/js/JSReflection.java index 9c23830..4712d08 100644 --- a/src/org/ibex/js/JSReflection.java +++ b/src/org/ibex/js/JSReflection.java @@ -41,12 +41,16 @@ public class JSReflection extends JS.Immutable { public JS get(JS key) throws JSExn { String k = JSU.toString(key); - try { - Field f = this.getClass().getField(k); - return wrap(f.get(this)); - } catch (NoSuchFieldException nfe) { - } catch (IllegalAccessException nfe) { - } catch (SecurityException nfe) { } + Class c = this.getClass(); + while(c != null) { + try { + Field f = c.getField(k); + if (f != null) return wrap(f.get(this)); + } catch (NoSuchFieldException nfe) { + } catch (IllegalAccessException nfe) { + } catch (SecurityException nfe) { } + c = c.getSuperclass(); + } try { java.lang.reflect.Method[] methods = this.getClass().getMethods();