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

Function initializeFromArgs

class_reflect.go:176–184  ·  view source on GitHub ↗

initializeFromArgs implements mixed parameter constructor strategy

(instance interface{}, args []*Value, typ reflect.Type, ctx *Context)

Source from the content-addressed store, hash-verified

174
175// initializeFromArgs implements mixed parameter constructor strategy
176func initializeFromArgs(instance interface{}, args []*Value, typ reflect.Type, ctx *Context) error {
177 // Smart strategy: single object argument uses named parameters
178 if len(args) == 1 && args[0].IsObject() && !args[0].IsArray() {
179 return initializeFromObjectArgs(instance, args[0], typ, ctx)
180 }
181
182 // Otherwise use positional parameters
183 return initializeFromPositionalArgs(instance, args, typ, ctx)
184}
185
186// initializeFromPositionalArgs initializes struct fields from positional arguments
187func initializeFromPositionalArgs(instance interface{}, args []*Value, typ reflect.Type, ctx *Context) error {

Callers 1

buildClassFromReflectionFunction · 0.85

Calls 4

initializeFromObjectArgsFunction · 0.85
IsObjectMethod · 0.80
IsArrayMethod · 0.80

Tested by

no test coverage detected