Hi,

I have a situation where I want to do lazy-loading of a javascript object's
properties.  I'm using the C API, in particular the getProperty callback.

I want to write code that looks like:

JSValueRef GetProperty(JSContextRef ctx, JSObjectRef obj, JSStringRef prop,
JSValueRef* exception)
{
  if (!JSValueHasProperty(ctx, obj, prop)) {
    JSValueRef lazy_loaded = lazy_load(...);
    JSObjectSetProperty(ctx, obj, prop, lazy_loaded, ...)
    return lazy_loaded;
  } else {
    return JSObjectGetProperty(ctx, obj, prop, exception);
  }
}

That is, I want use obj as a cache for my lazy_load function.  This code
doesn't work though, because the calls to JSObjectHasProperty and
JSObjectGetProperty recursively call GetProperty.

Is there a way to make this work?

Thanks,
Michael

_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to