38 lines
1011 B
Plaintext
38 lines
1011 B
Plaintext
func (s {{.Node.Name}}) {{.Field.Name|title}}() ({{.G.Capnp}}.Pointer, error) {
|
|
{{template "_checktag" . -}}
|
|
{{if .Default.IsValid -}}
|
|
p, err := s.Struct.Pointer({{.Field.Slot.Offset}})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return {{.G.Capnp}}.PointerDefault(p, {{.Default}})
|
|
{{- else -}}
|
|
return s.Struct.Pointer({{.Field.Slot.Offset}})
|
|
{{- end}}
|
|
}
|
|
|
|
{{template "_hasfield" .}}
|
|
|
|
func (s {{.Node.Name}}) {{.Field.Name|title}}Ptr() ({{.G.Capnp}}.Ptr, error) {
|
|
{{if .Default.IsValid -}}
|
|
p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return p.Default({{.Default}})
|
|
{{- else -}}
|
|
return s.Struct.Ptr({{.Field.Slot.Offset}})
|
|
{{- end}}
|
|
}
|
|
|
|
func (s {{.Node.Name}}) Set{{.Field.Name|title}}(v {{.G.Capnp}}.Pointer) error {
|
|
{{template "_settag" . -}}
|
|
return s.Struct.SetPointer({{.Field.Slot.Offset}}, v)
|
|
}
|
|
|
|
func (s {{.Node.Name}}) Set{{.Field.Name|title}}Ptr(v {{.G.Capnp}}.Ptr) error {
|
|
{{template "_settag" . -}}
|
|
return s.Struct.SetPtr({{.Field.Slot.Offset}}, v)
|
|
}
|
|
|