MCPcopy Create free account
hub / github.com/deuill/go-php / engineReceiverCall

Function engineReceiverCall

engine/engine.go:261–281  ·  view source on GitHub ↗

export engineReceiverCall

(rcvr *C.struct__engine_receiver, name *C.char, args unsafe.Pointer)

Source from the content-addressed store, hash-verified

259
260//export engineReceiverCall
261func engineReceiverCall(rcvr *C.struct__engine_receiver, name *C.char, args unsafe.Pointer) unsafe.Pointer {
262 n := C.GoString(C.receiver_get_name(rcvr))
263 if engine == nil || engine.receivers[n].objects[rcvr] == nil {
264 return nil
265 }
266
267 // Process input arguments.
268 va, err := NewValueFromPtr(args)
269 if err != nil {
270 return nil
271 }
272
273 defer va.Destroy()
274
275 val := engine.receivers[n].objects[rcvr].Call(C.GoString(name), va.Slice())
276 if val == nil {
277 return nil
278 }
279
280 return val.Ptr()
281}

Callers 1

RECEIVER_METHOD_CALLFunction · 0.85

Calls 5

NewValueFromPtrFunction · 0.85
CallMethod · 0.80
SliceMethod · 0.80
PtrMethod · 0.80
DestroyMethod · 0.45

Tested by

no test coverage detected