| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // This file was auto-generated by the vanadium vdl tool. |
| // Source: signature.vdl |
| |
| // Package signature defines types representing interface and method signatures. |
| package signature |
| |
| import ( |
| "fmt" |
| "reflect" |
| "v.io/v23/vdl" |
| ) |
| |
| // Interface describes the signature of an interface. |
| type Interface struct { |
| Name string |
| PkgPath string |
| Doc string |
| Embeds []Embed // No special ordering. |
| Methods []Method // Ordered by method name. |
| } |
| |
| func (Interface) __VDLReflect(struct { |
| Name string `vdl:"signature.Interface"` |
| }) { |
| } |
| |
| func (m *Interface) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| if __VDLType_signature_signature_Interface == nil || __VDLTypesignature0 == nil { |
| panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.") |
| } |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Name") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget3.FromString(string(m.Name), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("PkgPath") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget5.FromString(string(m.PkgPath), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| keyTarget6, fieldTarget7, err := fieldsTarget1.StartField("Doc") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget7.FromString(string(m.Doc), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil { |
| return err |
| } |
| } |
| keyTarget8, fieldTarget9, err := fieldsTarget1.StartField("Embeds") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| listTarget10, err := fieldTarget9.StartList(__VDLTypesignature1, len(m.Embeds)) |
| if err != nil { |
| return err |
| } |
| for i, elem12 := range m.Embeds { |
| elemTarget11, err := listTarget10.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if err := elem12.FillVDLTarget(elemTarget11, __VDLType_signature_signature_Embed); err != nil { |
| return err |
| } |
| if err := listTarget10.FinishElem(elemTarget11); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget9.FinishList(listTarget10); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget8, fieldTarget9); err != nil { |
| return err |
| } |
| } |
| keyTarget13, fieldTarget14, err := fieldsTarget1.StartField("Methods") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| listTarget15, err := fieldTarget14.StartList(__VDLTypesignature2, len(m.Methods)) |
| if err != nil { |
| return err |
| } |
| for i, elem17 := range m.Methods { |
| elemTarget16, err := listTarget15.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if err := elem17.FillVDLTarget(elemTarget16, __VDLType_signature_signature_Method); err != nil { |
| return err |
| } |
| if err := listTarget15.FinishElem(elemTarget16); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget14.FinishList(listTarget15); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget13, fieldTarget14); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Interface) MakeVDLTarget() vdl.Target { |
| return &InterfaceTarget{Value: m} |
| } |
| |
| type InterfaceTarget struct { |
| Value *Interface |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *InterfaceTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| if !vdl.Compatible(tt, __VDLType_signature_signature_Interface) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_signature_signature_Interface) |
| } |
| return t, nil |
| } |
| func (t *InterfaceTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "Name": |
| val, err := &vdl.StringTarget{Value: &t.Value.Name}, error(nil) |
| return nil, val, err |
| case "PkgPath": |
| val, err := &vdl.StringTarget{Value: &t.Value.PkgPath}, error(nil) |
| return nil, val, err |
| case "Doc": |
| val, err := &vdl.StringTarget{Value: &t.Value.Doc}, error(nil) |
| return nil, val, err |
| case "Embeds": |
| val, err := &signature5b5d7369676e61747572652e456d626564207374727563747b4e616d6520737472696e673b506b675061746820737472696e673b446f6320737472696e677dTarget{Value: &t.Value.Embeds}, error(nil) |
| return nil, val, err |
| case "Methods": |
| val, err := &signature5b5d7369676e61747572652e4d6574686f64207374727563747b4e616d6520737472696e673b446f6320737472696e673b496e41726773205b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747d3b4f757441726773205b5d7369676e61747572652e4172673b496e53747265616d203f7369676e61747572652e4172673b4f757453747265616d203f7369676e61747572652e4172673b54616773205b5d616e797dTarget{Value: &t.Value.Methods}, error(nil) |
| return nil, val, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_signature_signature_Interface) |
| } |
| } |
| func (t *InterfaceTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *InterfaceTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| type signature5b5d7369676e61747572652e456d626564207374727563747b4e616d6520737472696e673b506b675061746820737472696e673b446f6320737472696e677dTarget struct { |
| Value *[]Embed |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *signature5b5d7369676e61747572652e456d626564207374727563747b4e616d6520737472696e673b506b675061746820737472696e673b446f6320737472696e677dTarget) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| if !vdl.Compatible(tt, __VDLTypesignature1) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLTypesignature1) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]Embed, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *signature5b5d7369676e61747572652e456d626564207374727563747b4e616d6520737472696e673b506b675061746820737472696e673b446f6320737472696e677dTarget) StartElem(index int) (elem vdl.Target, _ error) { |
| return &EmbedTarget{Value: &(*t.Value)[index]}, error(nil) |
| } |
| func (t *signature5b5d7369676e61747572652e456d626564207374727563747b4e616d6520737472696e673b506b675061746820737472696e673b446f6320737472696e677dTarget) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *signature5b5d7369676e61747572652e456d626564207374727563747b4e616d6520737472696e673b506b675061746820737472696e673b446f6320737472696e677dTarget) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| type EmbedTarget struct { |
| Value *Embed |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *EmbedTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| if !vdl.Compatible(tt, __VDLType_signature_signature_Embed) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_signature_signature_Embed) |
| } |
| return t, nil |
| } |
| func (t *EmbedTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "Name": |
| val, err := &vdl.StringTarget{Value: &t.Value.Name}, error(nil) |
| return nil, val, err |
| case "PkgPath": |
| val, err := &vdl.StringTarget{Value: &t.Value.PkgPath}, error(nil) |
| return nil, val, err |
| case "Doc": |
| val, err := &vdl.StringTarget{Value: &t.Value.Doc}, error(nil) |
| return nil, val, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_signature_signature_Embed) |
| } |
| } |
| func (t *EmbedTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *EmbedTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| type signature5b5d7369676e61747572652e4d6574686f64207374727563747b4e616d6520737472696e673b446f6320737472696e673b496e41726773205b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747d3b4f757441726773205b5d7369676e61747572652e4172673b496e53747265616d203f7369676e61747572652e4172673b4f757453747265616d203f7369676e61747572652e4172673b54616773205b5d616e797dTarget struct { |
| Value *[]Method |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *signature5b5d7369676e61747572652e4d6574686f64207374727563747b4e616d6520737472696e673b446f6320737472696e673b496e41726773205b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747d3b4f757441726773205b5d7369676e61747572652e4172673b496e53747265616d203f7369676e61747572652e4172673b4f757453747265616d203f7369676e61747572652e4172673b54616773205b5d616e797dTarget) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| if !vdl.Compatible(tt, __VDLTypesignature2) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLTypesignature2) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]Method, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *signature5b5d7369676e61747572652e4d6574686f64207374727563747b4e616d6520737472696e673b446f6320737472696e673b496e41726773205b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747d3b4f757441726773205b5d7369676e61747572652e4172673b496e53747265616d203f7369676e61747572652e4172673b4f757453747265616d203f7369676e61747572652e4172673b54616773205b5d616e797dTarget) StartElem(index int) (elem vdl.Target, _ error) { |
| return &MethodTarget{Value: &(*t.Value)[index]}, error(nil) |
| } |
| func (t *signature5b5d7369676e61747572652e4d6574686f64207374727563747b4e616d6520737472696e673b446f6320737472696e673b496e41726773205b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747d3b4f757441726773205b5d7369676e61747572652e4172673b496e53747265616d203f7369676e61747572652e4172673b4f757453747265616d203f7369676e61747572652e4172673b54616773205b5d616e797dTarget) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *signature5b5d7369676e61747572652e4d6574686f64207374727563747b4e616d6520737472696e673b446f6320737472696e673b496e41726773205b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747d3b4f757441726773205b5d7369676e61747572652e4172673b496e53747265616d203f7369676e61747572652e4172673b4f757453747265616d203f7369676e61747572652e4172673b54616773205b5d616e797dTarget) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| type MethodTarget struct { |
| Value *Method |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *MethodTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| if !vdl.Compatible(tt, __VDLType_signature_signature_Method) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_signature_signature_Method) |
| } |
| return t, nil |
| } |
| func (t *MethodTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "Name": |
| val, err := &vdl.StringTarget{Value: &t.Value.Name}, error(nil) |
| return nil, val, err |
| case "Doc": |
| val, err := &vdl.StringTarget{Value: &t.Value.Doc}, error(nil) |
| return nil, val, err |
| case "InArgs": |
| val, err := &signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget{Value: &t.Value.InArgs}, error(nil) |
| return nil, val, err |
| case "OutArgs": |
| val, err := &signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget{Value: &t.Value.OutArgs}, error(nil) |
| return nil, val, err |
| case "InStream": |
| val, err := &signature3f7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget{Value: &t.Value.InStream}, error(nil) |
| return nil, val, err |
| case "OutStream": |
| val, err := &signature3f7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget{Value: &t.Value.OutStream}, error(nil) |
| return nil, val, err |
| case "Tags": |
| val, err := &signature5b5d616e79Target{Value: &t.Value.Tags}, error(nil) |
| return nil, val, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_signature_signature_Method) |
| } |
| } |
| func (t *MethodTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *MethodTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| type signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget struct { |
| Value *[]Arg |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| if !vdl.Compatible(tt, __VDLTypesignature3) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLTypesignature3) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]Arg, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) StartElem(index int) (elem vdl.Target, _ error) { |
| return &ArgTarget{Value: &(*t.Value)[index]}, error(nil) |
| } |
| func (t *signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *signature5b5d7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| type ArgTarget struct { |
| Value *Arg |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *ArgTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| if !vdl.Compatible(tt, __VDLType_signature_signature_Arg) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLType_signature_signature_Arg) |
| } |
| return t, nil |
| } |
| func (t *ArgTarget) StartField(name string) (key, field vdl.Target, _ error) { |
| switch name { |
| case "Name": |
| val, err := &vdl.StringTarget{Value: &t.Value.Name}, error(nil) |
| return nil, val, err |
| case "Doc": |
| val, err := &vdl.StringTarget{Value: &t.Value.Doc}, error(nil) |
| return nil, val, err |
| case "Type": |
| val, err := &vdl.TypeObjectTarget{Value: &t.Value.Type}, error(nil) |
| return nil, val, err |
| default: |
| return nil, nil, fmt.Errorf("field %s not in struct %v", name, __VDLType_signature_signature_Arg) |
| } |
| } |
| func (t *ArgTarget) FinishField(_, _ vdl.Target) error { |
| return nil |
| } |
| func (t *ArgTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| |
| type signature3f7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget struct { |
| Value **Arg |
| vdl.TargetBase |
| vdl.FieldsTargetBase |
| } |
| |
| func (t *signature3f7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) StartFields(tt *vdl.Type) (vdl.FieldsTarget, error) { |
| if *t.Value == nil { |
| *t.Value = &Arg{ |
| Type: vdl.AnyType, |
| } |
| } |
| target, err := &ArgTarget{Value: *t.Value}, error(nil) |
| if err != nil { |
| return nil, err |
| } |
| return target.StartFields(tt) |
| } |
| func (t *signature3f7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) FinishFields(_ vdl.FieldsTarget) error { |
| |
| return nil |
| } |
| func (t *signature3f7369676e61747572652e417267207374727563747b4e616d6520737472696e673b446f6320737472696e673b5479706520747970656f626a6563747dTarget) FromNil(tt *vdl.Type) error { |
| *t.Value = nil |
| |
| return nil |
| } |
| |
| type signature5b5d616e79Target struct { |
| Value *[]*vdl.Value |
| vdl.TargetBase |
| vdl.ListTargetBase |
| } |
| |
| func (t *signature5b5d616e79Target) StartList(tt *vdl.Type, len int) (vdl.ListTarget, error) { |
| if !vdl.Compatible(tt, __VDLTypesignature4) { |
| return nil, fmt.Errorf("type %v incompatible with %v", tt, __VDLTypesignature4) |
| } |
| if cap(*t.Value) < len { |
| *t.Value = make([]*vdl.Value, len) |
| } else { |
| *t.Value = (*t.Value)[:len] |
| } |
| return t, nil |
| } |
| func (t *signature5b5d616e79Target) StartElem(index int) (elem vdl.Target, _ error) { |
| return vdl.ReflectTarget(reflect.ValueOf(&(*t.Value)[index])) |
| } |
| func (t *signature5b5d616e79Target) FinishElem(elem vdl.Target) error { |
| return nil |
| } |
| func (t *signature5b5d616e79Target) FinishList(elem vdl.ListTarget) error { |
| |
| return nil |
| } |
| |
| // Embed describes the signature of an embedded interface. |
| type Embed struct { |
| Name string |
| PkgPath string |
| Doc string |
| } |
| |
| func (Embed) __VDLReflect(struct { |
| Name string `vdl:"signature.Embed"` |
| }) { |
| } |
| |
| func (m *Embed) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| if __VDLType_signature_signature_Embed == nil || __VDLTypesignature5 == nil { |
| panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.") |
| } |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Name") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget3.FromString(string(m.Name), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("PkgPath") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget5.FromString(string(m.PkgPath), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| keyTarget6, fieldTarget7, err := fieldsTarget1.StartField("Doc") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget7.FromString(string(m.Doc), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Embed) MakeVDLTarget() vdl.Target { |
| return &EmbedTarget{Value: m} |
| } |
| |
| // Method describes the signature of an interface method. |
| type Method struct { |
| Name string |
| Doc string |
| InArgs []Arg // Input arguments |
| OutArgs []Arg // Output arguments |
| InStream *Arg // Input stream (optional) |
| OutStream *Arg // Output stream (optional) |
| Tags []*vdl.Value // Method tags |
| } |
| |
| func (Method) __VDLReflect(struct { |
| Name string `vdl:"signature.Method"` |
| }) { |
| } |
| |
| func (m *Method) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| if __VDLType_signature_signature_Method == nil || __VDLTypesignature6 == nil { |
| panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.") |
| } |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Name") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget3.FromString(string(m.Name), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("Doc") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget5.FromString(string(m.Doc), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| keyTarget6, fieldTarget7, err := fieldsTarget1.StartField("InArgs") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| listTarget8, err := fieldTarget7.StartList(__VDLTypesignature3, len(m.InArgs)) |
| if err != nil { |
| return err |
| } |
| for i, elem10 := range m.InArgs { |
| elemTarget9, err := listTarget8.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if err := elem10.FillVDLTarget(elemTarget9, __VDLType_signature_signature_Arg); err != nil { |
| return err |
| } |
| if err := listTarget8.FinishElem(elemTarget9); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget7.FinishList(listTarget8); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil { |
| return err |
| } |
| } |
| keyTarget11, fieldTarget12, err := fieldsTarget1.StartField("OutArgs") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| listTarget13, err := fieldTarget12.StartList(__VDLTypesignature3, len(m.OutArgs)) |
| if err != nil { |
| return err |
| } |
| for i, elem15 := range m.OutArgs { |
| elemTarget14, err := listTarget13.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if err := elem15.FillVDLTarget(elemTarget14, __VDLType_signature_signature_Arg); err != nil { |
| return err |
| } |
| if err := listTarget13.FinishElem(elemTarget14); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget12.FinishList(listTarget13); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget11, fieldTarget12); err != nil { |
| return err |
| } |
| } |
| keyTarget16, fieldTarget17, err := fieldsTarget1.StartField("InStream") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if m.InStream == nil { |
| if err := fieldTarget17.FromNil(__VDLTypesignature7); err != nil { |
| return err |
| } |
| } else { |
| if err := m.InStream.FillVDLTarget(fieldTarget17, __VDLType_signature_signature_Arg); err != nil { |
| return err |
| } |
| } |
| if err := fieldsTarget1.FinishField(keyTarget16, fieldTarget17); err != nil { |
| return err |
| } |
| } |
| keyTarget18, fieldTarget19, err := fieldsTarget1.StartField("OutStream") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| if m.OutStream == nil { |
| if err := fieldTarget19.FromNil(__VDLTypesignature7); err != nil { |
| return err |
| } |
| } else { |
| if err := m.OutStream.FillVDLTarget(fieldTarget19, __VDLType_signature_signature_Arg); err != nil { |
| return err |
| } |
| } |
| if err := fieldsTarget1.FinishField(keyTarget18, fieldTarget19); err != nil { |
| return err |
| } |
| } |
| keyTarget20, fieldTarget21, err := fieldsTarget1.StartField("Tags") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| |
| listTarget22, err := fieldTarget21.StartList(__VDLTypesignature4, len(m.Tags)) |
| if err != nil { |
| return err |
| } |
| for i, elem24 := range m.Tags { |
| elemTarget23, err := listTarget22.StartElem(i) |
| if err != nil { |
| return err |
| } |
| |
| if elem24 == nil { |
| if err := elemTarget23.FromNil(vdl.AnyType); err != nil { |
| return err |
| } |
| } else { |
| if err := vdl.FromValue(elemTarget23, elem24); err != nil { |
| return err |
| } |
| } |
| if err := listTarget22.FinishElem(elemTarget23); err != nil { |
| return err |
| } |
| } |
| if err := fieldTarget21.FinishList(listTarget22); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget20, fieldTarget21); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Method) MakeVDLTarget() vdl.Target { |
| return &MethodTarget{Value: m} |
| } |
| |
| // Arg describes the signature of a single argument. |
| type Arg struct { |
| Name string |
| Doc string |
| Type *vdl.Type // Type of the argument. |
| } |
| |
| func (Arg) __VDLReflect(struct { |
| Name string `vdl:"signature.Arg"` |
| }) { |
| } |
| |
| func (m *Arg) FillVDLTarget(t vdl.Target, tt *vdl.Type) error { |
| if __VDLType_signature_signature_Arg == nil || __VDLTypesignature7 == nil { |
| panic("Initialization order error: types generated for FillVDLTarget not initialized. Consider moving caller to an init() block.") |
| } |
| fieldsTarget1, err := t.StartFields(tt) |
| if err != nil { |
| return err |
| } |
| |
| keyTarget2, fieldTarget3, err := fieldsTarget1.StartField("Name") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget3.FromString(string(m.Name), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget2, fieldTarget3); err != nil { |
| return err |
| } |
| } |
| keyTarget4, fieldTarget5, err := fieldsTarget1.StartField("Doc") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| if err := fieldTarget5.FromString(string(m.Doc), vdl.StringType); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget4, fieldTarget5); err != nil { |
| return err |
| } |
| } |
| keyTarget6, fieldTarget7, err := fieldsTarget1.StartField("Type") |
| if err != vdl.ErrFieldNoExist && err != nil { |
| return err |
| } |
| if err != vdl.ErrFieldNoExist { |
| typeObjectVal8 := m.Type |
| if typeObjectVal8 == nil { |
| typeObjectVal8 = vdl.AnyType |
| } |
| if err := fieldTarget7.FromTypeObject(typeObjectVal8); err != nil { |
| return err |
| } |
| if err := fieldsTarget1.FinishField(keyTarget6, fieldTarget7); err != nil { |
| return err |
| } |
| } |
| if err := t.FinishFields(fieldsTarget1); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (m *Arg) MakeVDLTarget() vdl.Target { |
| return &ArgTarget{Value: m} |
| } |
| |
| func init() { |
| vdl.Register((*Interface)(nil)) |
| vdl.Register((*Embed)(nil)) |
| vdl.Register((*Method)(nil)) |
| vdl.Register((*Arg)(nil)) |
| } |
| |
| var __VDLTypesignature7 *vdl.Type = vdl.TypeOf((*Arg)(nil)) |
| var __VDLTypesignature5 *vdl.Type = vdl.TypeOf((*Embed)(nil)) |
| var __VDLTypesignature0 *vdl.Type = vdl.TypeOf((*Interface)(nil)) |
| var __VDLTypesignature6 *vdl.Type = vdl.TypeOf((*Method)(nil)) |
| var __VDLTypesignature4 *vdl.Type = vdl.TypeOf([]*vdl.Value(nil)) |
| var __VDLTypesignature3 *vdl.Type = vdl.TypeOf([]Arg(nil)) |
| var __VDLTypesignature1 *vdl.Type = vdl.TypeOf([]Embed(nil)) |
| var __VDLTypesignature2 *vdl.Type = vdl.TypeOf([]Method(nil)) |
| var __VDLType_signature_signature_Arg *vdl.Type = vdl.TypeOf(Arg{ |
| Type: vdl.AnyType, |
| }) |
| var __VDLType_signature_signature_Embed *vdl.Type = vdl.TypeOf(Embed{}) |
| var __VDLType_signature_signature_Interface *vdl.Type = vdl.TypeOf(Interface{}) |
| var __VDLType_signature_signature_Method *vdl.Type = vdl.TypeOf(Method{}) |
| |
| func __VDLEnsureNativeBuilt_signature() { |
| } |