23 lines
552 B
Plaintext
23 lines
552 B
Plaintext
func (s {{.Node.Name}}) {{.Field.Name|title}}() ({{.FieldType}}, error) {
|
|
{{template "_checktag" . -}}
|
|
p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
|
|
{{with .Default -}}
|
|
return {{$.FieldType}}(p.DataDefault({{printf "%#v" .}})), err
|
|
{{- else -}}
|
|
return {{.FieldType}}(p.Data()), err
|
|
{{- end}}
|
|
}
|
|
|
|
{{template "_hasfield" .}}
|
|
|
|
func (s {{.Node.Name}}) Set{{.Field.Name|title}}(v {{.FieldType}}) error {
|
|
{{template "_settag" . -}}
|
|
{{if .Default -}}
|
|
if v == nil {
|
|
v = []byte{}
|
|
}
|
|
{{end -}}
|
|
return s.Struct.SetData({{.Field.Slot.Offset}}, v)
|
|
}
|
|
|