#ifndef RR_FUNCTION #define RR_FUNCTION namespace rr { class Function : public Ref { public: static void Init(); static VALUE NewInstance(int argc, VALUE argv[], VALUE self); static VALUE Call(VALUE self, VALUE receiver, VALUE argv); static VALUE SetName(VALUE self, VALUE name); static VALUE GetName(VALUE self); static VALUE GetInferredName(VALUE self); static VALUE GetScriptLineNumber(VALUE self); static VALUE GetScriptColumnNumber(VALUE self); static VALUE GetScriptId(VALUE self); static VALUE GetScriptOrigin(VALUE self); inline Function(VALUE value) : Ref(value) {} inline Function(v8::Isolate* isolate, v8::Handle function) : Ref(isolate, function) {} }; } #endif