func (e *Engine) NewContext(globalTemplate *ObjectTemplate) *Context { var globalTemplatePtr unsafe.Pointer if globalTemplate != nil { globalTemplatePtr = globalTemplate.self } self := C.V8_NewContext(e.self, globalTemplatePtr) if self == nil { return nil } result := &Context{ self: self, engine: e, } runtime.SetFinalizer(result, func(c *Context) { if traceDispose { println("v8.Context.Dispose()", c.self) } C.V8_DisposeContext(c.self) }) return result }
func (es EscapableScope) Escape(escontext *Context) *Context { self := C.V8_Context_Escape(es.context.self, escontext.self) if self == nil { return nil } e := es.GetEngine() result := &Context{ self: self, engine: e, } runtime.SetFinalizer(result, func(c *Context) { if traceDispose { println("v8.Context.Dispose()", c.self) } C.V8_DisposeContext(c.self) }) return result //return newValue(es.GetEngine(), C.V8_Escapable_Escape()) }