blob: 915f0a33c376321ee67c9cef3f53a923e258ab2b [file] [log] [blame]
// 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() {
}