MCPcopy Create free account
hub / github.com/buke/quickjs-go / resolveClassObjectFromOpaque

Function resolveClassObjectFromOpaque

class_bridge.go:21–38  ·  view source on GitHub ↗
(ctx *Context, opaque unsafe.Pointer)

Source from the content-addressed store, hash-verified

19}
20
21func resolveClassObjectFromOpaque(ctx *Context, opaque unsafe.Pointer) (*Context, int32, bool) {
22 if ctx == nil || ctx.runtime == nil || opaque == nil {
23 return nil, 0, false
24 }
25
26 objectID := int32(C.OpaqueToInt(opaque))
27 if objectID < 0 {
28 identity, ok := ctx.runtime.getClassObjectIdentity(objectID)
29 if ok {
30 ownerCtx := ctx.runtime.getOwnedContextByID(identity.contextID)
31 if ownerCtx == nil || ownerCtx.handleStore == nil {
32 return nil, 0, false
33 }
34 return ownerCtx, identity.handleID, true
35 }
36 }
37 return nil, 0, false
38}
39
40//export goClassConstructorProxy
41func goClassConstructorProxy(ctx *C.JSContext, newTarget C.JSValueConst,

Callers 3

HasInstanceDataMethod · 0.85
GetGoObjectMethod · 0.85

Calls 2

getOwnedContextByIDMethod · 0.80