| // 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. |
| // Package: base |
| |
| // Package base is a simple single-file test of vdl functionality. |
| package base |
| |
| import ( |
| "fmt" |
| "io" |
| "v.io/v23" |
| "v.io/v23/context" |
| "v.io/v23/i18n" |
| "v.io/v23/rpc" |
| "v.io/v23/vdl" |
| "v.io/v23/verror" |
| "v.io/v23/vom" |
| ) |
| |
| var _ = __VDLInit() // Must be first; see __VDLInit comments for details. |
| |
| ////////////////////////////////////////////////// |
| // Type definitions |
| |
| type NamedBool bool |
| |
| func (NamedBool) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedBool"` |
| }) { |
| } |
| |
| func (x NamedBool) VDLIsZero() bool { |
| return bool(!x) |
| } |
| |
| func (x NamedBool) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueBool(__VDLType_bool_1, bool(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedBool) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedBool(value) |
| } |
| return nil |
| } |
| |
| type NamedByte byte |
| |
| func (NamedByte) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedByte"` |
| }) { |
| } |
| |
| func (x NamedByte) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedByte) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueUint(__VDLType_byte_2, uint64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedByte) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueUint(8); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedByte(value) |
| } |
| return nil |
| } |
| |
| type NamedUint16 uint16 |
| |
| func (NamedUint16) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedUint16"` |
| }) { |
| } |
| |
| func (x NamedUint16) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedUint16) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueUint(__VDLType_uint16_3, uint64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedUint16) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueUint(16); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedUint16(value) |
| } |
| return nil |
| } |
| |
| type NamedUint32 uint32 |
| |
| func (NamedUint32) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedUint32"` |
| }) { |
| } |
| |
| func (x NamedUint32) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedUint32) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueUint(__VDLType_uint32_4, uint64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedUint32) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueUint(32); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedUint32(value) |
| } |
| return nil |
| } |
| |
| type NamedUint64 uint64 |
| |
| func (NamedUint64) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedUint64"` |
| }) { |
| } |
| |
| func (x NamedUint64) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedUint64) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueUint(__VDLType_uint64_5, uint64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedUint64) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueUint(64); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedUint64(value) |
| } |
| return nil |
| } |
| |
| type NamedInt8 int8 |
| |
| func (NamedInt8) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedInt8"` |
| }) { |
| } |
| |
| func (x NamedInt8) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedInt8) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueInt(__VDLType_int8_6, int64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedInt8) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueInt(8); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedInt8(value) |
| } |
| return nil |
| } |
| |
| type NamedInt16 int16 |
| |
| func (NamedInt16) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedInt16"` |
| }) { |
| } |
| |
| func (x NamedInt16) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedInt16) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueInt(__VDLType_int16_7, int64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedInt16) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueInt(16); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedInt16(value) |
| } |
| return nil |
| } |
| |
| type NamedInt32 int32 |
| |
| func (NamedInt32) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedInt32"` |
| }) { |
| } |
| |
| func (x NamedInt32) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedInt32) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueInt(__VDLType_int32_8, int64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedInt32) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedInt32(value) |
| } |
| return nil |
| } |
| |
| type NamedInt64 int64 |
| |
| func (NamedInt64) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedInt64"` |
| }) { |
| } |
| |
| func (x NamedInt64) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedInt64) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueInt(__VDLType_int64_9, int64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedInt64) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueInt(64); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedInt64(value) |
| } |
| return nil |
| } |
| |
| type NamedFloat32 float32 |
| |
| func (NamedFloat32) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedFloat32"` |
| }) { |
| } |
| |
| func (x NamedFloat32) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedFloat32) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueFloat(__VDLType_float32_10, float64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedFloat32) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueFloat(32); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedFloat32(value) |
| } |
| return nil |
| } |
| |
| type NamedFloat64 float64 |
| |
| func (NamedFloat64) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedFloat64"` |
| }) { |
| } |
| |
| func (x NamedFloat64) VDLIsZero() bool { |
| return x == 0 |
| } |
| |
| func (x NamedFloat64) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueFloat(__VDLType_float64_11, float64(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedFloat64) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueFloat(64); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedFloat64(value) |
| } |
| return nil |
| } |
| |
| type NamedString string |
| |
| func (NamedString) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedString"` |
| }) { |
| } |
| |
| func (x NamedString) VDLIsZero() bool { |
| return x == "" |
| } |
| |
| func (x NamedString) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueString(__VDLType_string_12, string(x)); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedString) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| *x = NamedString(value) |
| } |
| return nil |
| } |
| |
| type NamedEnum int |
| |
| const ( |
| NamedEnumA NamedEnum = iota |
| NamedEnumB |
| NamedEnumC |
| ) |
| |
| // NamedEnumAll holds all labels for NamedEnum. |
| var NamedEnumAll = [...]NamedEnum{NamedEnumA, NamedEnumB, NamedEnumC} |
| |
| // NamedEnumFromString creates a NamedEnum from a string label. |
| func NamedEnumFromString(label string) (x NamedEnum, err error) { |
| err = x.Set(label) |
| return |
| } |
| |
| // Set assigns label to x. |
| func (x *NamedEnum) Set(label string) error { |
| switch label { |
| case "A", "a": |
| *x = NamedEnumA |
| return nil |
| case "B", "b": |
| *x = NamedEnumB |
| return nil |
| case "C", "c": |
| *x = NamedEnumC |
| return nil |
| } |
| *x = -1 |
| return fmt.Errorf("unknown label %q in base.NamedEnum", label) |
| } |
| |
| // String returns the string label of x. |
| func (x NamedEnum) String() string { |
| switch x { |
| case NamedEnumA: |
| return "A" |
| case NamedEnumB: |
| return "B" |
| case NamedEnumC: |
| return "C" |
| } |
| return "" |
| } |
| |
| func (NamedEnum) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedEnum"` |
| Enum struct{ A, B, C string } |
| }) { |
| } |
| |
| func (x NamedEnum) VDLIsZero() bool { |
| return x == NamedEnumA |
| } |
| |
| func (x NamedEnum) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.WriteValueString(__VDLType_enum_13, x.String()); err != nil { |
| return err |
| } |
| return nil |
| } |
| |
| func (x *NamedEnum) VDLRead(dec vdl.Decoder) error { |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| if err := x.Set(value); err != nil { |
| return err |
| } |
| } |
| return nil |
| } |
| |
| type NamedArray [2]bool |
| |
| func (NamedArray) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedArray"` |
| }) { |
| } |
| |
| func (x NamedArray) VDLIsZero() bool { |
| return x == NamedArray{} |
| } |
| |
| func (x NamedArray) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_array_14); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntryValueBool(vdl.BoolType, elem); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *NamedArray) VDLRead(dec vdl.Decoder) error { |
| if err := dec.StartValue(__VDLType_array_14); err != nil { |
| return err |
| } |
| for index := 0; index < 2; index++ { |
| switch done, elem, err := dec.NextEntryValueBool(); { |
| case err != nil: |
| return err |
| case done: |
| return fmt.Errorf("short array, got len %d < 2 %T)", index, *x) |
| default: |
| x[index] = elem |
| } |
| } |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case !done: |
| return fmt.Errorf("long array, got len > 2 %T", *x) |
| } |
| return dec.FinishValue() |
| } |
| |
| type NamedList []uint32 |
| |
| func (NamedList) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedList"` |
| }) { |
| } |
| |
| func (x NamedList) VDLIsZero() bool { |
| return len(x) == 0 |
| } |
| |
| func (x NamedList) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_list_15); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntryValueUint(vdl.Uint32Type, uint64(elem)); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *NamedList) VDLRead(dec vdl.Decoder) error { |
| if err := dec.StartValue(__VDLType_list_15); err != nil { |
| return err |
| } |
| if len := dec.LenHint(); len > 0 { |
| *x = make(NamedList, 0, len) |
| } else { |
| *x = nil |
| } |
| for { |
| switch done, elem, err := dec.NextEntryValueUint(32); { |
| case err != nil: |
| return err |
| case done: |
| return dec.FinishValue() |
| default: |
| *x = append(*x, uint32(elem)) |
| } |
| } |
| } |
| |
| type NamedSet map[string]struct{} |
| |
| func (NamedSet) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedSet"` |
| }) { |
| } |
| |
| func (x NamedSet) VDLIsZero() bool { |
| return len(x) == 0 |
| } |
| |
| func (x NamedSet) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_set_16); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for key := range x { |
| if err := enc.NextEntryValueString(vdl.StringType, key); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *NamedSet) VDLRead(dec vdl.Decoder) error { |
| if err := dec.StartValue(__VDLType_set_16); err != nil { |
| return err |
| } |
| var tmpMap NamedSet |
| if len := dec.LenHint(); len > 0 { |
| tmpMap = make(NamedSet, len) |
| } |
| for { |
| switch done, key, err := dec.NextEntryValueString(); { |
| case err != nil: |
| return err |
| case done: |
| *x = tmpMap |
| return dec.FinishValue() |
| default: |
| if tmpMap == nil { |
| tmpMap = make(NamedSet) |
| } |
| tmpMap[key] = struct{}{} |
| } |
| } |
| } |
| |
| type NamedMap map[string]float32 |
| |
| func (NamedMap) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedMap"` |
| }) { |
| } |
| |
| func (x NamedMap) VDLIsZero() bool { |
| return len(x) == 0 |
| } |
| |
| func (x NamedMap) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_map_17); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for key, elem := range x { |
| if err := enc.NextEntryValueString(vdl.StringType, key); err != nil { |
| return err |
| } |
| if err := enc.WriteValueFloat(vdl.Float32Type, float64(elem)); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *NamedMap) VDLRead(dec vdl.Decoder) error { |
| if err := dec.StartValue(__VDLType_map_17); err != nil { |
| return err |
| } |
| var tmpMap NamedMap |
| if len := dec.LenHint(); len > 0 { |
| tmpMap = make(NamedMap, len) |
| } |
| for { |
| switch done, key, err := dec.NextEntryValueString(); { |
| case err != nil: |
| return err |
| case done: |
| *x = tmpMap |
| return dec.FinishValue() |
| default: |
| var elem float32 |
| switch value, err := dec.ReadValueFloat(32); { |
| case err != nil: |
| return err |
| default: |
| elem = float32(value) |
| } |
| if tmpMap == nil { |
| tmpMap = make(NamedMap) |
| } |
| tmpMap[key] = elem |
| } |
| } |
| } |
| |
| type NamedStruct struct { |
| A bool |
| B string |
| C int32 |
| } |
| |
| func (NamedStruct) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedStruct"` |
| }) { |
| } |
| |
| func (x NamedStruct) VDLIsZero() bool { |
| return x == NamedStruct{} |
| } |
| |
| func (x NamedStruct) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_18); err != nil { |
| return err |
| } |
| if x.A { |
| if err := enc.NextFieldValueBool(0, vdl.BoolType, x.A); err != nil { |
| return err |
| } |
| } |
| if x.B != "" { |
| if err := enc.NextFieldValueString(1, vdl.StringType, x.B); err != nil { |
| return err |
| } |
| } |
| if x.C != 0 { |
| if err := enc.NextFieldValueInt(2, vdl.Int32Type, int64(x.C)); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *NamedStruct) VDLRead(dec vdl.Decoder) error { |
| *x = NamedStruct{} |
| if err := dec.StartValue(__VDLType_struct_18); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_18 { |
| index = __VDLType_struct_18.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| x.A = value |
| } |
| case 1: |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| x.B = value |
| } |
| case 2: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.C = int32(value) |
| } |
| } |
| } |
| } |
| |
| type ( |
| // NamedUnion represents any single field of the NamedUnion union type. |
| NamedUnion interface { |
| // Index returns the field index. |
| Index() int |
| // Interface returns the field value as an interface. |
| Interface() interface{} |
| // Name returns the field name. |
| Name() string |
| // __VDLReflect describes the NamedUnion union type. |
| __VDLReflect(__NamedUnionReflect) |
| VDLIsZero() bool |
| VDLWrite(vdl.Encoder) error |
| } |
| // NamedUnionA represents field A of the NamedUnion union type. |
| NamedUnionA struct{ Value bool } |
| // NamedUnionB represents field B of the NamedUnion union type. |
| NamedUnionB struct{ Value string } |
| // NamedUnionC represents field C of the NamedUnion union type. |
| NamedUnionC struct{ Value int32 } |
| // __NamedUnionReflect describes the NamedUnion union type. |
| __NamedUnionReflect struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NamedUnion"` |
| Type NamedUnion |
| Union struct { |
| A NamedUnionA |
| B NamedUnionB |
| C NamedUnionC |
| } |
| } |
| ) |
| |
| func (x NamedUnionA) Index() int { return 0 } |
| func (x NamedUnionA) Interface() interface{} { return x.Value } |
| func (x NamedUnionA) Name() string { return "A" } |
| func (x NamedUnionA) __VDLReflect(__NamedUnionReflect) {} |
| |
| func (x NamedUnionB) Index() int { return 1 } |
| func (x NamedUnionB) Interface() interface{} { return x.Value } |
| func (x NamedUnionB) Name() string { return "B" } |
| func (x NamedUnionB) __VDLReflect(__NamedUnionReflect) {} |
| |
| func (x NamedUnionC) Index() int { return 2 } |
| func (x NamedUnionC) Interface() interface{} { return x.Value } |
| func (x NamedUnionC) Name() string { return "C" } |
| func (x NamedUnionC) __VDLReflect(__NamedUnionReflect) {} |
| |
| func (x NamedUnionA) VDLIsZero() bool { |
| return !x.Value |
| } |
| |
| func (x NamedUnionB) VDLIsZero() bool { |
| return false |
| } |
| |
| func (x NamedUnionC) VDLIsZero() bool { |
| return false |
| } |
| |
| func (x NamedUnionA) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_union_19); err != nil { |
| return err |
| } |
| if err := enc.NextFieldValueBool(0, vdl.BoolType, x.Value); err != nil { |
| return err |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x NamedUnionB) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_union_19); err != nil { |
| return err |
| } |
| if err := enc.NextFieldValueString(1, vdl.StringType, x.Value); err != nil { |
| return err |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x NamedUnionC) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_union_19); err != nil { |
| return err |
| } |
| if err := enc.NextFieldValueInt(2, vdl.Int32Type, int64(x.Value)); err != nil { |
| return err |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func VDLReadNamedUnion(dec vdl.Decoder, x *NamedUnion) error { |
| if err := dec.StartValue(__VDLType_union_19); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return fmt.Errorf("missing field in union %T, from %v", x, decType) |
| } |
| if decType != __VDLType_union_19 { |
| name := decType.Field(index).Name |
| index = __VDLType_union_19.FieldIndexByName(name) |
| if index == -1 { |
| return fmt.Errorf("field %q not in union %T, from %v", name, x, decType) |
| } |
| } |
| switch index { |
| case 0: |
| var field NamedUnionA |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| field.Value = value |
| } |
| *x = field |
| case 1: |
| var field NamedUnionB |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| field.Value = value |
| } |
| *x = field |
| case 2: |
| var field NamedUnionC |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| field.Value = int32(value) |
| } |
| *x = field |
| } |
| switch index, err := dec.NextField(); { |
| case err != nil: |
| return err |
| case index != -1: |
| return fmt.Errorf("extra field %d in union %T, from %v", index, x, dec.Type()) |
| } |
| return dec.FinishValue() |
| } |
| |
| type Scalars struct { |
| A0 bool |
| A1 byte |
| A2 uint16 |
| A3 uint32 |
| A4 uint64 |
| A5 int8 |
| A6 int16 |
| A7 int32 |
| A8 int64 |
| A9 float32 |
| A10 float64 |
| A11 string |
| A12 error |
| A13 *vom.RawBytes |
| A14 *vdl.Type |
| B0 NamedBool |
| B1 NamedByte |
| B2 NamedUint16 |
| B3 NamedUint32 |
| B4 NamedUint64 |
| B5 NamedInt8 |
| B6 NamedInt16 |
| B7 NamedInt32 |
| B8 NamedInt64 |
| B9 NamedFloat32 |
| B10 NamedFloat64 |
| B11 NamedString |
| B12 NamedEnum |
| B13 NamedUnion |
| } |
| |
| func (Scalars) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.Scalars"` |
| }) { |
| } |
| |
| func (x Scalars) VDLIsZero() bool { |
| if x.A0 { |
| return false |
| } |
| if x.A1 != 0 { |
| return false |
| } |
| if x.A2 != 0 { |
| return false |
| } |
| if x.A3 != 0 { |
| return false |
| } |
| if x.A4 != 0 { |
| return false |
| } |
| if x.A5 != 0 { |
| return false |
| } |
| if x.A6 != 0 { |
| return false |
| } |
| if x.A7 != 0 { |
| return false |
| } |
| if x.A8 != 0 { |
| return false |
| } |
| if x.A9 != 0 { |
| return false |
| } |
| if x.A10 != 0 { |
| return false |
| } |
| if x.A11 != "" { |
| return false |
| } |
| if x.A12 != nil { |
| return false |
| } |
| if x.A13 != nil && !x.A13.VDLIsZero() { |
| return false |
| } |
| if x.A14 != nil && x.A14 != vdl.AnyType { |
| return false |
| } |
| if x.B0 { |
| return false |
| } |
| if x.B1 != 0 { |
| return false |
| } |
| if x.B2 != 0 { |
| return false |
| } |
| if x.B3 != 0 { |
| return false |
| } |
| if x.B4 != 0 { |
| return false |
| } |
| if x.B5 != 0 { |
| return false |
| } |
| if x.B6 != 0 { |
| return false |
| } |
| if x.B7 != 0 { |
| return false |
| } |
| if x.B8 != 0 { |
| return false |
| } |
| if x.B9 != 0 { |
| return false |
| } |
| if x.B10 != 0 { |
| return false |
| } |
| if x.B11 != "" { |
| return false |
| } |
| if x.B12 != NamedEnumA { |
| return false |
| } |
| if x.B13 != nil && !x.B13.VDLIsZero() { |
| return false |
| } |
| return true |
| } |
| |
| func (x Scalars) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_20); err != nil { |
| return err |
| } |
| if x.A0 { |
| if err := enc.NextFieldValueBool(0, vdl.BoolType, x.A0); err != nil { |
| return err |
| } |
| } |
| if x.A1 != 0 { |
| if err := enc.NextFieldValueUint(1, vdl.ByteType, uint64(x.A1)); err != nil { |
| return err |
| } |
| } |
| if x.A2 != 0 { |
| if err := enc.NextFieldValueUint(2, vdl.Uint16Type, uint64(x.A2)); err != nil { |
| return err |
| } |
| } |
| if x.A3 != 0 { |
| if err := enc.NextFieldValueUint(3, vdl.Uint32Type, uint64(x.A3)); err != nil { |
| return err |
| } |
| } |
| if x.A4 != 0 { |
| if err := enc.NextFieldValueUint(4, vdl.Uint64Type, x.A4); err != nil { |
| return err |
| } |
| } |
| if x.A5 != 0 { |
| if err := enc.NextFieldValueInt(5, vdl.Int8Type, int64(x.A5)); err != nil { |
| return err |
| } |
| } |
| if x.A6 != 0 { |
| if err := enc.NextFieldValueInt(6, vdl.Int16Type, int64(x.A6)); err != nil { |
| return err |
| } |
| } |
| if x.A7 != 0 { |
| if err := enc.NextFieldValueInt(7, vdl.Int32Type, int64(x.A7)); err != nil { |
| return err |
| } |
| } |
| if x.A8 != 0 { |
| if err := enc.NextFieldValueInt(8, vdl.Int64Type, x.A8); err != nil { |
| return err |
| } |
| } |
| if x.A9 != 0 { |
| if err := enc.NextFieldValueFloat(9, vdl.Float32Type, float64(x.A9)); err != nil { |
| return err |
| } |
| } |
| if x.A10 != 0 { |
| if err := enc.NextFieldValueFloat(10, vdl.Float64Type, x.A10); err != nil { |
| return err |
| } |
| } |
| if x.A11 != "" { |
| if err := enc.NextFieldValueString(11, vdl.StringType, x.A11); err != nil { |
| return err |
| } |
| } |
| if x.A12 != nil { |
| if err := enc.NextField(12); err != nil { |
| return err |
| } |
| if err := verror.VDLWrite(enc, x.A12); err != nil { |
| return err |
| } |
| } |
| if x.A13 != nil && !x.A13.VDLIsZero() { |
| if err := enc.NextField(13); err != nil { |
| return err |
| } |
| if err := x.A13.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if x.A14 != nil && x.A14 != vdl.AnyType { |
| if err := enc.NextFieldValueTypeObject(14, x.A14); err != nil { |
| return err |
| } |
| } |
| if x.B0 { |
| if err := enc.NextFieldValueBool(15, __VDLType_bool_1, bool(x.B0)); err != nil { |
| return err |
| } |
| } |
| if x.B1 != 0 { |
| if err := enc.NextFieldValueUint(16, __VDLType_byte_2, uint64(x.B1)); err != nil { |
| return err |
| } |
| } |
| if x.B2 != 0 { |
| if err := enc.NextFieldValueUint(17, __VDLType_uint16_3, uint64(x.B2)); err != nil { |
| return err |
| } |
| } |
| if x.B3 != 0 { |
| if err := enc.NextFieldValueUint(18, __VDLType_uint32_4, uint64(x.B3)); err != nil { |
| return err |
| } |
| } |
| if x.B4 != 0 { |
| if err := enc.NextFieldValueUint(19, __VDLType_uint64_5, uint64(x.B4)); err != nil { |
| return err |
| } |
| } |
| if x.B5 != 0 { |
| if err := enc.NextFieldValueInt(20, __VDLType_int8_6, int64(x.B5)); err != nil { |
| return err |
| } |
| } |
| if x.B6 != 0 { |
| if err := enc.NextFieldValueInt(21, __VDLType_int16_7, int64(x.B6)); err != nil { |
| return err |
| } |
| } |
| if x.B7 != 0 { |
| if err := enc.NextFieldValueInt(22, __VDLType_int32_8, int64(x.B7)); err != nil { |
| return err |
| } |
| } |
| if x.B8 != 0 { |
| if err := enc.NextFieldValueInt(23, __VDLType_int64_9, int64(x.B8)); err != nil { |
| return err |
| } |
| } |
| if x.B9 != 0 { |
| if err := enc.NextFieldValueFloat(24, __VDLType_float32_10, float64(x.B9)); err != nil { |
| return err |
| } |
| } |
| if x.B10 != 0 { |
| if err := enc.NextFieldValueFloat(25, __VDLType_float64_11, float64(x.B10)); err != nil { |
| return err |
| } |
| } |
| if x.B11 != "" { |
| if err := enc.NextFieldValueString(26, __VDLType_string_12, string(x.B11)); err != nil { |
| return err |
| } |
| } |
| if x.B12 != NamedEnumA { |
| if err := enc.NextFieldValueString(27, __VDLType_enum_13, x.B12.String()); err != nil { |
| return err |
| } |
| } |
| if x.B13 != nil && !x.B13.VDLIsZero() { |
| if err := enc.NextField(28); err != nil { |
| return err |
| } |
| if err := x.B13.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *Scalars) VDLRead(dec vdl.Decoder) error { |
| *x = Scalars{ |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| } |
| if err := dec.StartValue(__VDLType_struct_20); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_20 { |
| index = __VDLType_struct_20.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| x.A0 = value |
| } |
| case 1: |
| switch value, err := dec.ReadValueUint(8); { |
| case err != nil: |
| return err |
| default: |
| x.A1 = byte(value) |
| } |
| case 2: |
| switch value, err := dec.ReadValueUint(16); { |
| case err != nil: |
| return err |
| default: |
| x.A2 = uint16(value) |
| } |
| case 3: |
| switch value, err := dec.ReadValueUint(32); { |
| case err != nil: |
| return err |
| default: |
| x.A3 = uint32(value) |
| } |
| case 4: |
| switch value, err := dec.ReadValueUint(64); { |
| case err != nil: |
| return err |
| default: |
| x.A4 = value |
| } |
| case 5: |
| switch value, err := dec.ReadValueInt(8); { |
| case err != nil: |
| return err |
| default: |
| x.A5 = int8(value) |
| } |
| case 6: |
| switch value, err := dec.ReadValueInt(16); { |
| case err != nil: |
| return err |
| default: |
| x.A6 = int16(value) |
| } |
| case 7: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.A7 = int32(value) |
| } |
| case 8: |
| switch value, err := dec.ReadValueInt(64); { |
| case err != nil: |
| return err |
| default: |
| x.A8 = value |
| } |
| case 9: |
| switch value, err := dec.ReadValueFloat(32); { |
| case err != nil: |
| return err |
| default: |
| x.A9 = float32(value) |
| } |
| case 10: |
| switch value, err := dec.ReadValueFloat(64); { |
| case err != nil: |
| return err |
| default: |
| x.A10 = value |
| } |
| case 11: |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| x.A11 = value |
| } |
| case 12: |
| if err := verror.VDLRead(dec, &x.A12); err != nil { |
| return err |
| } |
| case 13: |
| x.A13 = new(vom.RawBytes) |
| if err := x.A13.VDLRead(dec); err != nil { |
| return err |
| } |
| case 14: |
| switch value, err := dec.ReadValueTypeObject(); { |
| case err != nil: |
| return err |
| default: |
| x.A14 = value |
| } |
| case 15: |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| x.B0 = NamedBool(value) |
| } |
| case 16: |
| switch value, err := dec.ReadValueUint(8); { |
| case err != nil: |
| return err |
| default: |
| x.B1 = NamedByte(value) |
| } |
| case 17: |
| switch value, err := dec.ReadValueUint(16); { |
| case err != nil: |
| return err |
| default: |
| x.B2 = NamedUint16(value) |
| } |
| case 18: |
| switch value, err := dec.ReadValueUint(32); { |
| case err != nil: |
| return err |
| default: |
| x.B3 = NamedUint32(value) |
| } |
| case 19: |
| switch value, err := dec.ReadValueUint(64); { |
| case err != nil: |
| return err |
| default: |
| x.B4 = NamedUint64(value) |
| } |
| case 20: |
| switch value, err := dec.ReadValueInt(8); { |
| case err != nil: |
| return err |
| default: |
| x.B5 = NamedInt8(value) |
| } |
| case 21: |
| switch value, err := dec.ReadValueInt(16); { |
| case err != nil: |
| return err |
| default: |
| x.B6 = NamedInt16(value) |
| } |
| case 22: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.B7 = NamedInt32(value) |
| } |
| case 23: |
| switch value, err := dec.ReadValueInt(64); { |
| case err != nil: |
| return err |
| default: |
| x.B8 = NamedInt64(value) |
| } |
| case 24: |
| switch value, err := dec.ReadValueFloat(32); { |
| case err != nil: |
| return err |
| default: |
| x.B9 = NamedFloat32(value) |
| } |
| case 25: |
| switch value, err := dec.ReadValueFloat(64); { |
| case err != nil: |
| return err |
| default: |
| x.B10 = NamedFloat64(value) |
| } |
| case 26: |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| x.B11 = NamedString(value) |
| } |
| case 27: |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| if err := x.B12.Set(value); err != nil { |
| return err |
| } |
| } |
| case 28: |
| if err := VDLReadNamedUnion(dec, &x.B13); err != nil { |
| return err |
| } |
| } |
| } |
| } |
| |
| // These are all scalars that may be used as map or set keys. |
| type KeyScalars struct { |
| A0 bool |
| A1 byte |
| A2 uint16 |
| A3 uint32 |
| A4 uint64 |
| A5 int8 |
| A6 int16 |
| A7 int32 |
| A8 int64 |
| A9 float32 |
| A10 float64 |
| A11 string |
| B0 NamedBool |
| B1 NamedByte |
| B2 NamedUint16 |
| B3 NamedUint32 |
| B4 NamedUint64 |
| B5 NamedInt8 |
| B6 NamedInt16 |
| B7 NamedInt32 |
| B8 NamedInt64 |
| B9 NamedFloat32 |
| B10 NamedFloat64 |
| B13 NamedString |
| } |
| |
| func (KeyScalars) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.KeyScalars"` |
| }) { |
| } |
| |
| func (x KeyScalars) VDLIsZero() bool { |
| return x == KeyScalars{} |
| } |
| |
| func (x KeyScalars) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_21); err != nil { |
| return err |
| } |
| if x.A0 { |
| if err := enc.NextFieldValueBool(0, vdl.BoolType, x.A0); err != nil { |
| return err |
| } |
| } |
| if x.A1 != 0 { |
| if err := enc.NextFieldValueUint(1, vdl.ByteType, uint64(x.A1)); err != nil { |
| return err |
| } |
| } |
| if x.A2 != 0 { |
| if err := enc.NextFieldValueUint(2, vdl.Uint16Type, uint64(x.A2)); err != nil { |
| return err |
| } |
| } |
| if x.A3 != 0 { |
| if err := enc.NextFieldValueUint(3, vdl.Uint32Type, uint64(x.A3)); err != nil { |
| return err |
| } |
| } |
| if x.A4 != 0 { |
| if err := enc.NextFieldValueUint(4, vdl.Uint64Type, x.A4); err != nil { |
| return err |
| } |
| } |
| if x.A5 != 0 { |
| if err := enc.NextFieldValueInt(5, vdl.Int8Type, int64(x.A5)); err != nil { |
| return err |
| } |
| } |
| if x.A6 != 0 { |
| if err := enc.NextFieldValueInt(6, vdl.Int16Type, int64(x.A6)); err != nil { |
| return err |
| } |
| } |
| if x.A7 != 0 { |
| if err := enc.NextFieldValueInt(7, vdl.Int32Type, int64(x.A7)); err != nil { |
| return err |
| } |
| } |
| if x.A8 != 0 { |
| if err := enc.NextFieldValueInt(8, vdl.Int64Type, x.A8); err != nil { |
| return err |
| } |
| } |
| if x.A9 != 0 { |
| if err := enc.NextFieldValueFloat(9, vdl.Float32Type, float64(x.A9)); err != nil { |
| return err |
| } |
| } |
| if x.A10 != 0 { |
| if err := enc.NextFieldValueFloat(10, vdl.Float64Type, x.A10); err != nil { |
| return err |
| } |
| } |
| if x.A11 != "" { |
| if err := enc.NextFieldValueString(11, vdl.StringType, x.A11); err != nil { |
| return err |
| } |
| } |
| if x.B0 { |
| if err := enc.NextFieldValueBool(12, __VDLType_bool_1, bool(x.B0)); err != nil { |
| return err |
| } |
| } |
| if x.B1 != 0 { |
| if err := enc.NextFieldValueUint(13, __VDLType_byte_2, uint64(x.B1)); err != nil { |
| return err |
| } |
| } |
| if x.B2 != 0 { |
| if err := enc.NextFieldValueUint(14, __VDLType_uint16_3, uint64(x.B2)); err != nil { |
| return err |
| } |
| } |
| if x.B3 != 0 { |
| if err := enc.NextFieldValueUint(15, __VDLType_uint32_4, uint64(x.B3)); err != nil { |
| return err |
| } |
| } |
| if x.B4 != 0 { |
| if err := enc.NextFieldValueUint(16, __VDLType_uint64_5, uint64(x.B4)); err != nil { |
| return err |
| } |
| } |
| if x.B5 != 0 { |
| if err := enc.NextFieldValueInt(17, __VDLType_int8_6, int64(x.B5)); err != nil { |
| return err |
| } |
| } |
| if x.B6 != 0 { |
| if err := enc.NextFieldValueInt(18, __VDLType_int16_7, int64(x.B6)); err != nil { |
| return err |
| } |
| } |
| if x.B7 != 0 { |
| if err := enc.NextFieldValueInt(19, __VDLType_int32_8, int64(x.B7)); err != nil { |
| return err |
| } |
| } |
| if x.B8 != 0 { |
| if err := enc.NextFieldValueInt(20, __VDLType_int64_9, int64(x.B8)); err != nil { |
| return err |
| } |
| } |
| if x.B9 != 0 { |
| if err := enc.NextFieldValueFloat(21, __VDLType_float32_10, float64(x.B9)); err != nil { |
| return err |
| } |
| } |
| if x.B10 != 0 { |
| if err := enc.NextFieldValueFloat(22, __VDLType_float64_11, float64(x.B10)); err != nil { |
| return err |
| } |
| } |
| if x.B13 != "" { |
| if err := enc.NextFieldValueString(23, __VDLType_string_12, string(x.B13)); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *KeyScalars) VDLRead(dec vdl.Decoder) error { |
| *x = KeyScalars{} |
| if err := dec.StartValue(__VDLType_struct_21); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_21 { |
| index = __VDLType_struct_21.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| x.A0 = value |
| } |
| case 1: |
| switch value, err := dec.ReadValueUint(8); { |
| case err != nil: |
| return err |
| default: |
| x.A1 = byte(value) |
| } |
| case 2: |
| switch value, err := dec.ReadValueUint(16); { |
| case err != nil: |
| return err |
| default: |
| x.A2 = uint16(value) |
| } |
| case 3: |
| switch value, err := dec.ReadValueUint(32); { |
| case err != nil: |
| return err |
| default: |
| x.A3 = uint32(value) |
| } |
| case 4: |
| switch value, err := dec.ReadValueUint(64); { |
| case err != nil: |
| return err |
| default: |
| x.A4 = value |
| } |
| case 5: |
| switch value, err := dec.ReadValueInt(8); { |
| case err != nil: |
| return err |
| default: |
| x.A5 = int8(value) |
| } |
| case 6: |
| switch value, err := dec.ReadValueInt(16); { |
| case err != nil: |
| return err |
| default: |
| x.A6 = int16(value) |
| } |
| case 7: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.A7 = int32(value) |
| } |
| case 8: |
| switch value, err := dec.ReadValueInt(64); { |
| case err != nil: |
| return err |
| default: |
| x.A8 = value |
| } |
| case 9: |
| switch value, err := dec.ReadValueFloat(32); { |
| case err != nil: |
| return err |
| default: |
| x.A9 = float32(value) |
| } |
| case 10: |
| switch value, err := dec.ReadValueFloat(64); { |
| case err != nil: |
| return err |
| default: |
| x.A10 = value |
| } |
| case 11: |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| x.A11 = value |
| } |
| case 12: |
| switch value, err := dec.ReadValueBool(); { |
| case err != nil: |
| return err |
| default: |
| x.B0 = NamedBool(value) |
| } |
| case 13: |
| switch value, err := dec.ReadValueUint(8); { |
| case err != nil: |
| return err |
| default: |
| x.B1 = NamedByte(value) |
| } |
| case 14: |
| switch value, err := dec.ReadValueUint(16); { |
| case err != nil: |
| return err |
| default: |
| x.B2 = NamedUint16(value) |
| } |
| case 15: |
| switch value, err := dec.ReadValueUint(32); { |
| case err != nil: |
| return err |
| default: |
| x.B3 = NamedUint32(value) |
| } |
| case 16: |
| switch value, err := dec.ReadValueUint(64); { |
| case err != nil: |
| return err |
| default: |
| x.B4 = NamedUint64(value) |
| } |
| case 17: |
| switch value, err := dec.ReadValueInt(8); { |
| case err != nil: |
| return err |
| default: |
| x.B5 = NamedInt8(value) |
| } |
| case 18: |
| switch value, err := dec.ReadValueInt(16); { |
| case err != nil: |
| return err |
| default: |
| x.B6 = NamedInt16(value) |
| } |
| case 19: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.B7 = NamedInt32(value) |
| } |
| case 20: |
| switch value, err := dec.ReadValueInt(64); { |
| case err != nil: |
| return err |
| default: |
| x.B8 = NamedInt64(value) |
| } |
| case 21: |
| switch value, err := dec.ReadValueFloat(32); { |
| case err != nil: |
| return err |
| default: |
| x.B9 = NamedFloat32(value) |
| } |
| case 22: |
| switch value, err := dec.ReadValueFloat(64); { |
| case err != nil: |
| return err |
| default: |
| x.B10 = NamedFloat64(value) |
| } |
| case 23: |
| switch value, err := dec.ReadValueString(); { |
| case err != nil: |
| return err |
| default: |
| x.B13 = NamedString(value) |
| } |
| } |
| } |
| } |
| |
| type ScalarsArray [2]Scalars |
| |
| func (ScalarsArray) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.ScalarsArray"` |
| }) { |
| } |
| |
| func (x ScalarsArray) VDLIsZero() bool { |
| for _, elem := range x { |
| if !elem.VDLIsZero() { |
| return false |
| } |
| } |
| return true |
| } |
| |
| func (x ScalarsArray) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_array_22); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := elem.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *ScalarsArray) VDLRead(dec vdl.Decoder) error { |
| if err := dec.StartValue(__VDLType_array_22); err != nil { |
| return err |
| } |
| for index := 0; index < 2; index++ { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| return fmt.Errorf("short array, got len %d < 2 %T)", index, *x) |
| default: |
| if err := x[index].VDLRead(dec); err != nil { |
| return err |
| } |
| } |
| } |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case !done: |
| return fmt.Errorf("long array, got len > 2 %T", *x) |
| } |
| return dec.FinishValue() |
| } |
| |
| type Composites struct { |
| A0 Scalars |
| A1 ScalarsArray |
| A2 []Scalars |
| A3 map[KeyScalars]struct{} |
| A4 map[string]Scalars |
| } |
| |
| func (Composites) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.Composites"` |
| }) { |
| } |
| |
| func (x Composites) VDLIsZero() bool { |
| if !x.A0.VDLIsZero() { |
| return false |
| } |
| if !x.A1.VDLIsZero() { |
| return false |
| } |
| if len(x.A2) != 0 { |
| return false |
| } |
| if len(x.A3) != 0 { |
| return false |
| } |
| if len(x.A4) != 0 { |
| return false |
| } |
| return true |
| } |
| |
| func (x Composites) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_23); err != nil { |
| return err |
| } |
| if !x.A0.VDLIsZero() { |
| if err := enc.NextField(0); err != nil { |
| return err |
| } |
| if err := x.A0.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if !x.A1.VDLIsZero() { |
| if err := enc.NextField(1); err != nil { |
| return err |
| } |
| if err := x.A1.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if len(x.A2) != 0 { |
| if err := enc.NextField(2); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_list_1(enc, x.A2); err != nil { |
| return err |
| } |
| } |
| if len(x.A3) != 0 { |
| if err := enc.NextField(3); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_set_2(enc, x.A3); err != nil { |
| return err |
| } |
| } |
| if len(x.A4) != 0 { |
| if err := enc.NextField(4); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_map_3(enc, x.A4); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_list_1(enc vdl.Encoder, x []Scalars) error { |
| if err := enc.StartValue(__VDLType_list_24); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := elem.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_set_2(enc vdl.Encoder, x map[KeyScalars]struct{}) error { |
| if err := enc.StartValue(__VDLType_set_25); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for key := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := key.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_map_3(enc vdl.Encoder, x map[string]Scalars) error { |
| if err := enc.StartValue(__VDLType_map_26); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for key, elem := range x { |
| if err := enc.NextEntryValueString(vdl.StringType, key); err != nil { |
| return err |
| } |
| if err := elem.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *Composites) VDLRead(dec vdl.Decoder) error { |
| *x = Composites{ |
| A0: Scalars{ |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| A1: ScalarsArray{ |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| }, |
| } |
| if err := dec.StartValue(__VDLType_struct_23); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_23 { |
| index = __VDLType_struct_23.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| if err := x.A0.VDLRead(dec); err != nil { |
| return err |
| } |
| case 1: |
| if err := x.A1.VDLRead(dec); err != nil { |
| return err |
| } |
| case 2: |
| if err := __VDLReadAnon_list_1(dec, &x.A2); err != nil { |
| return err |
| } |
| case 3: |
| if err := __VDLReadAnon_set_2(dec, &x.A3); err != nil { |
| return err |
| } |
| case 4: |
| if err := __VDLReadAnon_map_3(dec, &x.A4); err != nil { |
| return err |
| } |
| } |
| } |
| } |
| |
| func __VDLReadAnon_list_1(dec vdl.Decoder, x *[]Scalars) error { |
| if err := dec.StartValue(__VDLType_list_24); err != nil { |
| return err |
| } |
| if len := dec.LenHint(); len > 0 { |
| *x = make([]Scalars, 0, len) |
| } else { |
| *x = nil |
| } |
| for { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| return dec.FinishValue() |
| default: |
| var elem Scalars |
| if err := elem.VDLRead(dec); err != nil { |
| return err |
| } |
| *x = append(*x, elem) |
| } |
| } |
| } |
| |
| func __VDLReadAnon_set_2(dec vdl.Decoder, x *map[KeyScalars]struct{}) error { |
| if err := dec.StartValue(__VDLType_set_25); err != nil { |
| return err |
| } |
| var tmpMap map[KeyScalars]struct{} |
| if len := dec.LenHint(); len > 0 { |
| tmpMap = make(map[KeyScalars]struct{}, len) |
| } |
| for { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| *x = tmpMap |
| return dec.FinishValue() |
| default: |
| var key KeyScalars |
| if err := key.VDLRead(dec); err != nil { |
| return err |
| } |
| if tmpMap == nil { |
| tmpMap = make(map[KeyScalars]struct{}) |
| } |
| tmpMap[key] = struct{}{} |
| } |
| } |
| } |
| |
| func __VDLReadAnon_map_3(dec vdl.Decoder, x *map[string]Scalars) error { |
| if err := dec.StartValue(__VDLType_map_26); err != nil { |
| return err |
| } |
| var tmpMap map[string]Scalars |
| if len := dec.LenHint(); len > 0 { |
| tmpMap = make(map[string]Scalars, len) |
| } |
| for { |
| switch done, key, err := dec.NextEntryValueString(); { |
| case err != nil: |
| return err |
| case done: |
| *x = tmpMap |
| return dec.FinishValue() |
| default: |
| var elem Scalars |
| if err := elem.VDLRead(dec); err != nil { |
| return err |
| } |
| if tmpMap == nil { |
| tmpMap = make(map[string]Scalars) |
| } |
| tmpMap[key] = elem |
| } |
| } |
| } |
| |
| type CompositesArray [2]Composites |
| |
| func (CompositesArray) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.CompositesArray"` |
| }) { |
| } |
| |
| func (x CompositesArray) VDLIsZero() bool { |
| for _, elem := range x { |
| if !elem.VDLIsZero() { |
| return false |
| } |
| } |
| return true |
| } |
| |
| func (x CompositesArray) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_array_27); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := elem.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *CompositesArray) VDLRead(dec vdl.Decoder) error { |
| if err := dec.StartValue(__VDLType_array_27); err != nil { |
| return err |
| } |
| for index := 0; index < 2; index++ { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| return fmt.Errorf("short array, got len %d < 2 %T)", index, *x) |
| default: |
| if err := x[index].VDLRead(dec); err != nil { |
| return err |
| } |
| } |
| } |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case !done: |
| return fmt.Errorf("long array, got len > 2 %T", *x) |
| } |
| return dec.FinishValue() |
| } |
| |
| type CompComp struct { |
| A0 Composites |
| A1 CompositesArray |
| A2 []Composites |
| A3 map[string]Composites |
| A4 map[KeyScalars][]map[string]Composites |
| } |
| |
| func (CompComp) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.CompComp"` |
| }) { |
| } |
| |
| func (x CompComp) VDLIsZero() bool { |
| if !x.A0.VDLIsZero() { |
| return false |
| } |
| if !x.A1.VDLIsZero() { |
| return false |
| } |
| if len(x.A2) != 0 { |
| return false |
| } |
| if len(x.A3) != 0 { |
| return false |
| } |
| if len(x.A4) != 0 { |
| return false |
| } |
| return true |
| } |
| |
| func (x CompComp) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_28); err != nil { |
| return err |
| } |
| if !x.A0.VDLIsZero() { |
| if err := enc.NextField(0); err != nil { |
| return err |
| } |
| if err := x.A0.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if !x.A1.VDLIsZero() { |
| if err := enc.NextField(1); err != nil { |
| return err |
| } |
| if err := x.A1.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if len(x.A2) != 0 { |
| if err := enc.NextField(2); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_list_4(enc, x.A2); err != nil { |
| return err |
| } |
| } |
| if len(x.A3) != 0 { |
| if err := enc.NextField(3); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_map_5(enc, x.A3); err != nil { |
| return err |
| } |
| } |
| if len(x.A4) != 0 { |
| if err := enc.NextField(4); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_map_6(enc, x.A4); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_list_4(enc vdl.Encoder, x []Composites) error { |
| if err := enc.StartValue(__VDLType_list_29); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := elem.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_map_5(enc vdl.Encoder, x map[string]Composites) error { |
| if err := enc.StartValue(__VDLType_map_30); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for key, elem := range x { |
| if err := enc.NextEntryValueString(vdl.StringType, key); err != nil { |
| return err |
| } |
| if err := elem.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_map_6(enc vdl.Encoder, x map[KeyScalars][]map[string]Composites) error { |
| if err := enc.StartValue(__VDLType_map_31); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for key, elem := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := key.VDLWrite(enc); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_list_7(enc, elem); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func __VDLWriteAnon_list_7(enc vdl.Encoder, x []map[string]Composites) error { |
| if err := enc.StartValue(__VDLType_list_32); err != nil { |
| return err |
| } |
| if err := enc.SetLenHint(len(x)); err != nil { |
| return err |
| } |
| for _, elem := range x { |
| if err := enc.NextEntry(false); err != nil { |
| return err |
| } |
| if err := __VDLWriteAnon_map_5(enc, elem); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextEntry(true); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *CompComp) VDLRead(dec vdl.Decoder) error { |
| *x = CompComp{ |
| A0: Composites{ |
| A0: Scalars{ |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| A1: ScalarsArray{ |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| }, |
| }, |
| A1: CompositesArray{ |
| { |
| A0: Scalars{ |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| A1: ScalarsArray{ |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| }, |
| }, |
| { |
| A0: Scalars{ |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| A1: ScalarsArray{ |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| { |
| A13: vom.RawBytesOf(vdl.ZeroValue(vdl.AnyType)), |
| A14: vdl.AnyType, |
| B13: NamedUnionA{}, |
| }, |
| }, |
| }, |
| }, |
| } |
| if err := dec.StartValue(__VDLType_struct_28); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_28 { |
| index = __VDLType_struct_28.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| if err := x.A0.VDLRead(dec); err != nil { |
| return err |
| } |
| case 1: |
| if err := x.A1.VDLRead(dec); err != nil { |
| return err |
| } |
| case 2: |
| if err := __VDLReadAnon_list_4(dec, &x.A2); err != nil { |
| return err |
| } |
| case 3: |
| if err := __VDLReadAnon_map_5(dec, &x.A3); err != nil { |
| return err |
| } |
| case 4: |
| if err := __VDLReadAnon_map_6(dec, &x.A4); err != nil { |
| return err |
| } |
| } |
| } |
| } |
| |
| func __VDLReadAnon_list_4(dec vdl.Decoder, x *[]Composites) error { |
| if err := dec.StartValue(__VDLType_list_29); err != nil { |
| return err |
| } |
| if len := dec.LenHint(); len > 0 { |
| *x = make([]Composites, 0, len) |
| } else { |
| *x = nil |
| } |
| for { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| return dec.FinishValue() |
| default: |
| var elem Composites |
| if err := elem.VDLRead(dec); err != nil { |
| return err |
| } |
| *x = append(*x, elem) |
| } |
| } |
| } |
| |
| func __VDLReadAnon_map_5(dec vdl.Decoder, x *map[string]Composites) error { |
| if err := dec.StartValue(__VDLType_map_30); err != nil { |
| return err |
| } |
| var tmpMap map[string]Composites |
| if len := dec.LenHint(); len > 0 { |
| tmpMap = make(map[string]Composites, len) |
| } |
| for { |
| switch done, key, err := dec.NextEntryValueString(); { |
| case err != nil: |
| return err |
| case done: |
| *x = tmpMap |
| return dec.FinishValue() |
| default: |
| var elem Composites |
| if err := elem.VDLRead(dec); err != nil { |
| return err |
| } |
| if tmpMap == nil { |
| tmpMap = make(map[string]Composites) |
| } |
| tmpMap[key] = elem |
| } |
| } |
| } |
| |
| func __VDLReadAnon_map_6(dec vdl.Decoder, x *map[KeyScalars][]map[string]Composites) error { |
| if err := dec.StartValue(__VDLType_map_31); err != nil { |
| return err |
| } |
| var tmpMap map[KeyScalars][]map[string]Composites |
| if len := dec.LenHint(); len > 0 { |
| tmpMap = make(map[KeyScalars][]map[string]Composites, len) |
| } |
| for { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| *x = tmpMap |
| return dec.FinishValue() |
| default: |
| var key KeyScalars |
| if err := key.VDLRead(dec); err != nil { |
| return err |
| } |
| var elem []map[string]Composites |
| if err := __VDLReadAnon_list_7(dec, &elem); err != nil { |
| return err |
| } |
| if tmpMap == nil { |
| tmpMap = make(map[KeyScalars][]map[string]Composites) |
| } |
| tmpMap[key] = elem |
| } |
| } |
| } |
| |
| func __VDLReadAnon_list_7(dec vdl.Decoder, x *[]map[string]Composites) error { |
| if err := dec.StartValue(__VDLType_list_32); err != nil { |
| return err |
| } |
| if len := dec.LenHint(); len > 0 { |
| *x = make([]map[string]Composites, 0, len) |
| } else { |
| *x = nil |
| } |
| for { |
| switch done, err := dec.NextEntry(); { |
| case err != nil: |
| return err |
| case done: |
| return dec.FinishValue() |
| default: |
| var elem map[string]Composites |
| if err := __VDLReadAnon_map_5(dec, &elem); err != nil { |
| return err |
| } |
| *x = append(*x, elem) |
| } |
| } |
| } |
| |
| // Args will be reordered to show up before NestedArgs in the generated output. |
| type Args struct { |
| A int32 |
| B int32 |
| } |
| |
| func (Args) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.Args"` |
| }) { |
| } |
| |
| func (x Args) VDLIsZero() bool { |
| return x == Args{} |
| } |
| |
| func (x Args) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_33); err != nil { |
| return err |
| } |
| if x.A != 0 { |
| if err := enc.NextFieldValueInt(0, vdl.Int32Type, int64(x.A)); err != nil { |
| return err |
| } |
| } |
| if x.B != 0 { |
| if err := enc.NextFieldValueInt(1, vdl.Int32Type, int64(x.B)); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *Args) VDLRead(dec vdl.Decoder) error { |
| *x = Args{} |
| if err := dec.StartValue(__VDLType_struct_33); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_33 { |
| index = __VDLType_struct_33.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.A = int32(value) |
| } |
| case 1: |
| switch value, err := dec.ReadValueInt(32); { |
| case err != nil: |
| return err |
| default: |
| x.B = int32(value) |
| } |
| } |
| } |
| } |
| |
| // NestedArgs is defined before Args; that's allowed in regular Go, and also |
| // allowed in our vdl files. The compiler will re-order dependent types to ease |
| // code generation in other languages. |
| type NestedArgs struct { |
| Args Args |
| } |
| |
| func (NestedArgs) __VDLReflect(struct { |
| Name string `vdl:"v.io/x/ref/lib/vdl/testdata/base.NestedArgs"` |
| }) { |
| } |
| |
| func (x NestedArgs) VDLIsZero() bool { |
| return x == NestedArgs{} |
| } |
| |
| func (x NestedArgs) VDLWrite(enc vdl.Encoder) error { |
| if err := enc.StartValue(__VDLType_struct_34); err != nil { |
| return err |
| } |
| if x.Args != (Args{}) { |
| if err := enc.NextField(0); err != nil { |
| return err |
| } |
| if err := x.Args.VDLWrite(enc); err != nil { |
| return err |
| } |
| } |
| if err := enc.NextField(-1); err != nil { |
| return err |
| } |
| return enc.FinishValue() |
| } |
| |
| func (x *NestedArgs) VDLRead(dec vdl.Decoder) error { |
| *x = NestedArgs{} |
| if err := dec.StartValue(__VDLType_struct_34); err != nil { |
| return err |
| } |
| decType := dec.Type() |
| for { |
| index, err := dec.NextField() |
| switch { |
| case err != nil: |
| return err |
| case index == -1: |
| return dec.FinishValue() |
| } |
| if decType != __VDLType_struct_34 { |
| index = __VDLType_struct_34.FieldIndexByName(decType.Field(index).Name) |
| if index == -1 { |
| if err := dec.SkipValue(); err != nil { |
| return err |
| } |
| continue |
| } |
| } |
| switch index { |
| case 0: |
| if err := x.Args.VDLRead(dec); err != nil { |
| return err |
| } |
| } |
| } |
| } |
| |
| ////////////////////////////////////////////////// |
| // Const definitions |
| |
| const Cbool = true |
| const Cbyte = byte(1) |
| const Cint32 = int32(2) |
| const Cint64 = int64(3) |
| const Cuint32 = uint32(4) |
| const Cuint64 = uint64(5) |
| const Cfloat32 = float32(6) |
| const Cfloat64 = float64(7) |
| const CNamedBool = NamedBool(true) |
| |
| var CNamedStruct = NamedStruct{ |
| A: true, |
| B: "test", |
| } |
| |
| const Cstring = "foo" |
| const Cenum = NamedEnumA |
| |
| var Cunion = NamedUnion(NamedUnionA{true}) |
| var Carray = NamedArray{ |
| true, |
| false, |
| } |
| var Clist = []int32{ |
| 1, |
| 2, |
| 3, |
| } |
| var Cset = map[int32]struct{}{ |
| 1: struct{}{}, |
| 2: struct{}{}, |
| 3: struct{}{}, |
| } |
| var cmap = map[int32]string{ |
| 1: "A", |
| 2: "B", |
| 3: "C", |
| } |
| var Cargs = Args{ |
| A: 1, |
| B: 2, |
| } |
| var CScalars = Scalars{ |
| A0: true, |
| A1: 1, |
| A2: 2, |
| A3: 3, |
| A4: 4, |
| A5: 5, |
| A6: 6, |
| A7: 7, |
| A8: 8, |
| A9: 9, |
| A10: 10, |
| A11: "abc", |
| A13: vom.RawBytesOf(false), |
| A14: vdl.BoolType, |
| B0: true, |
| B1: 1, |
| B2: 2, |
| B3: 3, |
| B4: 4, |
| B5: 5, |
| B6: 6, |
| B7: 7, |
| B8: 8, |
| B9: 9, |
| B10: 10, |
| B11: "abc", |
| B12: NamedEnumB, |
| B13: NamedUnionC{123}, |
| } |
| |
| const True = true |
| const Foo = "foo" |
| const Five = int32(5) |
| const Six = uint64(6) |
| const SixSquared = uint64(36) |
| const FiveSquared = int32(25) |
| |
| var CTypeObject_bool = vdl.BoolType |
| var CTypeObject_string = vdl.StringType |
| var CTypeObject_bytes = __VDLType_list_35 |
| var CTypeObject_byte = vdl.ByteType |
| var CTypeObject_uint16 = vdl.Uint16Type |
| var CTypeObject_int8 = vdl.Int8Type |
| var CTypeObject_int16 = vdl.Int16Type |
| var CTypeObject_float32 = vdl.Float32Type |
| var CTypeObject_enum = __VDLType_enum_13 |
| var CTypeObject_Array = __VDLType_array_14 |
| var CTypeObject_List = __VDLType_list_36 |
| var CTypeObject_Set = __VDLType_set_37 |
| var CTypeObject_Map = __VDLType_map_38 |
| var CTypeObject_Struct = __VDLType_struct_20 |
| var CTypeObject_Union = __VDLType_union_19 |
| var CTypeObject_TypeObject = vdl.TypeObjectType |
| var CTypeObject_Any = vdl.AnyType |
| |
| ////////////////////////////////////////////////// |
| // Error definitions |
| |
| var ( |
| ErrNoParams1 = verror.Register("v.io/x/ref/lib/vdl/testdata/base.NoParams1", verror.NoRetry, "{1:}{2:} en msg") |
| ErrNoParams2 = verror.Register("v.io/x/ref/lib/vdl/testdata/base.NoParams2", verror.RetryRefetch, "{1:}{2:} en msg") |
| ErrWithParams1 = verror.Register("v.io/x/ref/lib/vdl/testdata/base.WithParams1", verror.NoRetry, "{1:}{2:} en x={3} y={4}") |
| ErrWithParams2 = verror.Register("v.io/x/ref/lib/vdl/testdata/base.WithParams2", verror.RetryRefetch, "{1:}{2:} en x={3} y={4}") |
| errNotExported = verror.Register("v.io/x/ref/lib/vdl/testdata/base.notExported", verror.NoRetry, "{1:}{2:} en x={3} y={4}") |
| ) |
| |
| // NewErrNoParams1 returns an error with the ErrNoParams1 ID. |
| func NewErrNoParams1(ctx *context.T) error { |
| return verror.New(ErrNoParams1, ctx) |
| } |
| |
| // NewErrNoParams2 returns an error with the ErrNoParams2 ID. |
| func NewErrNoParams2(ctx *context.T) error { |
| return verror.New(ErrNoParams2, ctx) |
| } |
| |
| // NewErrWithParams1 returns an error with the ErrWithParams1 ID. |
| func NewErrWithParams1(ctx *context.T, x string, y int32) error { |
| return verror.New(ErrWithParams1, ctx, x, y) |
| } |
| |
| // NewErrWithParams2 returns an error with the ErrWithParams2 ID. |
| func NewErrWithParams2(ctx *context.T, x string, y int32) error { |
| return verror.New(ErrWithParams2, ctx, x, y) |
| } |
| |
| // newErrNotExported returns an error with the errNotExported ID. |
| func newErrNotExported(ctx *context.T, x string, y int32) error { |
| return verror.New(errNotExported, ctx, x, y) |
| } |
| |
| ////////////////////////////////////////////////// |
| // Interface definitions |
| |
| // ServiceAClientMethods is the client interface |
| // containing ServiceA methods. |
| type ServiceAClientMethods interface { |
| MethodA1(*context.T, ...rpc.CallOpt) error |
| MethodA2(_ *context.T, a int32, b string, _ ...rpc.CallOpt) (s string, _ error) |
| MethodA3(_ *context.T, a int32, _ ...rpc.CallOpt) (ServiceAMethodA3ClientCall, error) |
| MethodA4(_ *context.T, a int32, _ ...rpc.CallOpt) (ServiceAMethodA4ClientCall, error) |
| } |
| |
| // ServiceAClientStub adds universal methods to ServiceAClientMethods. |
| type ServiceAClientStub interface { |
| ServiceAClientMethods |
| rpc.UniversalServiceMethods |
| } |
| |
| // ServiceAClient returns a client stub for ServiceA. |
| func ServiceAClient(name string) ServiceAClientStub { |
| return implServiceAClientStub{name} |
| } |
| |
| type implServiceAClientStub struct { |
| name string |
| } |
| |
| func (c implServiceAClientStub) MethodA1(ctx *context.T, opts ...rpc.CallOpt) (err error) { |
| err = v23.GetClient(ctx).Call(ctx, c.name, "MethodA1", nil, nil, opts...) |
| return |
| } |
| |
| func (c implServiceAClientStub) MethodA2(ctx *context.T, i0 int32, i1 string, opts ...rpc.CallOpt) (o0 string, err error) { |
| err = v23.GetClient(ctx).Call(ctx, c.name, "MethodA2", []interface{}{i0, i1}, []interface{}{&o0}, opts...) |
| return |
| } |
| |
| func (c implServiceAClientStub) MethodA3(ctx *context.T, i0 int32, opts ...rpc.CallOpt) (ocall ServiceAMethodA3ClientCall, err error) { |
| var call rpc.ClientCall |
| if call, err = v23.GetClient(ctx).StartCall(ctx, c.name, "MethodA3", []interface{}{i0}, opts...); err != nil { |
| return |
| } |
| ocall = &implServiceAMethodA3ClientCall{ClientCall: call} |
| return |
| } |
| |
| func (c implServiceAClientStub) MethodA4(ctx *context.T, i0 int32, opts ...rpc.CallOpt) (ocall ServiceAMethodA4ClientCall, err error) { |
| var call rpc.ClientCall |
| if call, err = v23.GetClient(ctx).StartCall(ctx, c.name, "MethodA4", []interface{}{i0}, opts...); err != nil { |
| return |
| } |
| ocall = &implServiceAMethodA4ClientCall{ClientCall: call} |
| return |
| } |
| |
| // ServiceAMethodA3ClientStream is the client stream for ServiceA.MethodA3. |
| type ServiceAMethodA3ClientStream interface { |
| // RecvStream returns the receiver side of the ServiceA.MethodA3 client stream. |
| RecvStream() interface { |
| // Advance stages an item so that it may be retrieved via Value. Returns |
| // true iff there is an item to retrieve. Advance must be called before |
| // Value is called. May block if an item is not available. |
| Advance() bool |
| // Value returns the item that was staged by Advance. May panic if Advance |
| // returned false or was not called. Never blocks. |
| Value() Scalars |
| // Err returns any error encountered by Advance. Never blocks. |
| Err() error |
| } |
| } |
| |
| // ServiceAMethodA3ClientCall represents the call returned from ServiceA.MethodA3. |
| type ServiceAMethodA3ClientCall interface { |
| ServiceAMethodA3ClientStream |
| // Finish blocks until the server is done, and returns the positional return |
| // values for call. |
| // |
| // Finish returns immediately if the call has been canceled; depending on the |
| // timing the output could either be an error signaling cancelation, or the |
| // valid positional return values from the server. |
| // |
| // Calling Finish is mandatory for releasing stream resources, unless the call |
| // has been canceled or any of the other methods return an error. Finish should |
| // be called at most once. |
| Finish() (s string, _ error) |
| } |
| |
| type implServiceAMethodA3ClientCall struct { |
| rpc.ClientCall |
| valRecv Scalars |
| errRecv error |
| } |
| |
| func (c *implServiceAMethodA3ClientCall) RecvStream() interface { |
| Advance() bool |
| Value() Scalars |
| Err() error |
| } { |
| return implServiceAMethodA3ClientCallRecv{c} |
| } |
| |
| type implServiceAMethodA3ClientCallRecv struct { |
| c *implServiceAMethodA3ClientCall |
| } |
| |
| func (c implServiceAMethodA3ClientCallRecv) Advance() bool { |
| c.c.valRecv = Scalars{} |
| c.c.errRecv = c.c.Recv(&c.c.valRecv) |
| return c.c.errRecv == nil |
| } |
| func (c implServiceAMethodA3ClientCallRecv) Value() Scalars { |
| return c.c.valRecv |
| } |
| func (c implServiceAMethodA3ClientCallRecv) Err() error { |
| if c.c.errRecv == io.EOF { |
| return nil |
| } |
| return c.c.errRecv |
| } |
| func (c *implServiceAMethodA3ClientCall) Finish() (o0 string, err error) { |
| err = c.ClientCall.Finish(&o0) |
| return |
| } |
| |
| // ServiceAMethodA4ClientStream is the client stream for ServiceA.MethodA4. |
| type ServiceAMethodA4ClientStream interface { |
| // RecvStream returns the receiver side of the ServiceA.MethodA4 client stream. |
| RecvStream() interface { |
| // Advance stages an item so that it may be retrieved via Value. Returns |
| // true iff there is an item to retrieve. Advance must be called before |
| // Value is called. May block if an item is not available. |
| Advance() bool |
| // Value returns the item that was staged by Advance. May panic if Advance |
| // returned false or was not called. Never blocks. |
| Value() string |
| // Err returns any error encountered by Advance. Never blocks. |
| Err() error |
| } |
| // SendStream returns the send side of the ServiceA.MethodA4 client stream. |
| SendStream() interface { |
| // Send places the item onto the output stream. Returns errors |
| // encountered while sending, or if Send is called after Close or |
| // the stream has been canceled. Blocks if there is no buffer |
| // space; will unblock when buffer space is available or after |
| // the stream has been canceled. |
| Send(item int32) error |
| // Close indicates to the server that no more items will be sent; |
| // server Recv calls will receive io.EOF after all sent items. |
| // This is an optional call - e.g. a client might call Close if it |
| // needs to continue receiving items from the server after it's |
| // done sending. Returns errors encountered while closing, or if |
| // Close is called after the stream has been canceled. Like Send, |
| // blocks if there is no buffer space available. |
| Close() error |
| } |
| } |
| |
| // ServiceAMethodA4ClientCall represents the call returned from ServiceA.MethodA4. |
| type ServiceAMethodA4ClientCall interface { |
| ServiceAMethodA4ClientStream |
| // Finish performs the equivalent of SendStream().Close, then blocks until |
| // the server is done, and returns the positional return values for the call. |
| // |
| // Finish returns immediately if the call has been canceled; depending on the |
| // timing the output could either be an error signaling cancelation, or the |
| // valid positional return values from the server. |
| // |
| // Calling Finish is mandatory for releasing stream resources, unless the call |
| // has been canceled or any of the other methods return an error. Finish should |
| // be called at most once. |
| Finish() error |
| } |
| |
| type implServiceAMethodA4ClientCall struct { |
| rpc.ClientCall |
| valRecv string |
| errRecv error |
| } |
| |
| func (c *implServiceAMethodA4ClientCall) RecvStream() interface { |
| Advance() bool |
| Value() string |
| Err() error |
| } { |
| return implServiceAMethodA4ClientCallRecv{c} |
| } |
| |
| type implServiceAMethodA4ClientCallRecv struct { |
| c *implServiceAMethodA4ClientCall |
| } |
| |
| func (c implServiceAMethodA4ClientCallRecv) Advance() bool { |
| c.c.errRecv = c.c.Recv(&c.c.valRecv) |
| return c.c.errRecv == nil |
| } |
| func (c implServiceAMethodA4ClientCallRecv) Value() string { |
| return c.c.valRecv |
| } |
| func (c implServiceAMethodA4ClientCallRecv) Err() error { |
| if c.c.errRecv == io.EOF { |
| return nil |
| } |
| return c.c.errRecv |
| } |
| func (c *implServiceAMethodA4ClientCall) SendStream() interface { |
| Send(item int32) error |
| Close() error |
| } { |
| return implServiceAMethodA4ClientCallSend{c} |
| } |
| |
| type implServiceAMethodA4ClientCallSend struct { |
| c *implServiceAMethodA4ClientCall |
| } |
| |
| func (c implServiceAMethodA4ClientCallSend) Send(item int32) error { |
| return c.c.Send(item) |
| } |
| func (c implServiceAMethodA4ClientCallSend) Close() error { |
| return c.c.CloseSend() |
| } |
| func (c *implServiceAMethodA4ClientCall) Finish() (err error) { |
| err = c.ClientCall.Finish() |
| return |
| } |
| |
| // ServiceAServerMethods is the interface a server writer |
| // implements for ServiceA. |
| type ServiceAServerMethods interface { |
| MethodA1(*context.T, rpc.ServerCall) error |
| MethodA2(_ *context.T, _ rpc.ServerCall, a int32, b string) (s string, _ error) |
| MethodA3(_ *context.T, _ ServiceAMethodA3ServerCall, a int32) (s string, _ error) |
| MethodA4(_ *context.T, _ ServiceAMethodA4ServerCall, a int32) error |
| } |
| |
| // ServiceAServerStubMethods is the server interface containing |
| // ServiceA methods, as expected by rpc.Server. |
| // The only difference between this interface and ServiceAServerMethods |
| // is the streaming methods. |
| type ServiceAServerStubMethods interface { |
| MethodA1(*context.T, rpc.ServerCall) error |
| MethodA2(_ *context.T, _ rpc.ServerCall, a int32, b string) (s string, _ error) |
| MethodA3(_ *context.T, _ *ServiceAMethodA3ServerCallStub, a int32) (s string, _ error) |
| MethodA4(_ *context.T, _ *ServiceAMethodA4ServerCallStub, a int32) error |
| } |
| |
| // ServiceAServerStub adds universal methods to ServiceAServerStubMethods. |
| type ServiceAServerStub interface { |
| ServiceAServerStubMethods |
| // Describe the ServiceA interfaces. |
| Describe__() []rpc.InterfaceDesc |
| } |
| |
| // ServiceAServer returns a server stub for ServiceA. |
| // It converts an implementation of ServiceAServerMethods into |
| // an object that may be used by rpc.Server. |
| func ServiceAServer(impl ServiceAServerMethods) ServiceAServerStub { |
| stub := implServiceAServerStub{ |
| impl: impl, |
| } |
| // Initialize GlobState; always check the stub itself first, to handle the |
| // case where the user has the Glob method defined in their VDL source. |
| if gs := rpc.NewGlobState(stub); gs != nil { |
| stub.gs = gs |
| } else if gs := rpc.NewGlobState(impl); gs != nil { |
| stub.gs = gs |
| } |
| return stub |
| } |
| |
| type implServiceAServerStub struct { |
| impl ServiceAServerMethods |
| gs *rpc.GlobState |
| } |
| |
| func (s implServiceAServerStub) MethodA1(ctx *context.T, call rpc.ServerCall) error { |
| return s.impl.MethodA1(ctx, call) |
| } |
| |
| func (s implServiceAServerStub) MethodA2(ctx *context.T, call rpc.ServerCall, i0 int32, i1 string) (string, error) { |
| return s.impl.MethodA2(ctx, call, i0, i1) |
| } |
| |
| func (s implServiceAServerStub) MethodA3(ctx *context.T, call *ServiceAMethodA3ServerCallStub, i0 int32) (string, error) { |
| return s.impl.MethodA3(ctx, call, i0) |
| } |
| |
| func (s implServiceAServerStub) MethodA4(ctx *context.T, call *ServiceAMethodA4ServerCallStub, i0 int32) error { |
| return s.impl.MethodA4(ctx, call, i0) |
| } |
| |
| func (s implServiceAServerStub) Globber() *rpc.GlobState { |
| return s.gs |
| } |
| |
| func (s implServiceAServerStub) Describe__() []rpc.InterfaceDesc { |
| return []rpc.InterfaceDesc{ServiceADesc} |
| } |
| |
| // ServiceADesc describes the ServiceA interface. |
| var ServiceADesc rpc.InterfaceDesc = descServiceA |
| |
| // descServiceA hides the desc to keep godoc clean. |
| var descServiceA = rpc.InterfaceDesc{ |
| Name: "ServiceA", |
| PkgPath: "v.io/x/ref/lib/vdl/testdata/base", |
| Methods: []rpc.MethodDesc{ |
| { |
| Name: "MethodA1", |
| }, |
| { |
| Name: "MethodA2", |
| InArgs: []rpc.ArgDesc{ |
| {"a", ``}, // int32 |
| {"b", ``}, // string |
| }, |
| OutArgs: []rpc.ArgDesc{ |
| {"s", ``}, // string |
| }, |
| }, |
| { |
| Name: "MethodA3", |
| InArgs: []rpc.ArgDesc{ |
| {"a", ``}, // int32 |
| }, |
| OutArgs: []rpc.ArgDesc{ |
| {"s", ``}, // string |
| }, |
| Tags: []*vdl.Value{vdl.ValueOf("tag"), vdl.ValueOf(uint64(6))}, |
| }, |
| { |
| Name: "MethodA4", |
| InArgs: []rpc.ArgDesc{ |
| {"a", ``}, // int32 |
| }, |
| }, |
| }, |
| } |
| |
| // ServiceAMethodA3ServerStream is the server stream for ServiceA.MethodA3. |
| type ServiceAMethodA3ServerStream interface { |
| // SendStream returns the send side of the ServiceA.MethodA3 server stream. |
| SendStream() interface { |
| // Send places the item onto the output stream. Returns errors encountered |
| // while sending. Blocks if there is no buffer space; will unblock when |
| // buffer space is available. |
| Send(item Scalars) error |
| } |
| } |
| |
| // ServiceAMethodA3ServerCall represents the context passed to ServiceA.MethodA3. |
| type ServiceAMethodA3ServerCall interface { |
| rpc.ServerCall |
| ServiceAMethodA3ServerStream |
| } |
| |
| // ServiceAMethodA3ServerCallStub is a wrapper that converts rpc.StreamServerCall into |
| // a typesafe stub that implements ServiceAMethodA3ServerCall. |
| type ServiceAMethodA3ServerCallStub struct { |
| rpc.StreamServerCall |
| } |
| |
| // Init initializes ServiceAMethodA3ServerCallStub from rpc.StreamServerCall. |
| func (s *ServiceAMethodA3ServerCallStub) Init(call rpc.StreamServerCall) { |
| s.StreamServerCall = call |
| } |
| |
| // SendStream returns the send side of the ServiceA.MethodA3 server stream. |
| func (s *ServiceAMethodA3ServerCallStub) SendStream() interface { |
| Send(item Scalars) error |
| } { |
| return implServiceAMethodA3ServerCallSend{s} |
| } |
| |
| type implServiceAMethodA3ServerCallSend struct { |
| s *ServiceAMethodA3ServerCallStub |
| } |
| |
| func (s implServiceAMethodA3ServerCallSend) Send(item Scalars) error { |
| return s.s.Send(item) |
| } |
| |
| // ServiceAMethodA4ServerStream is the server stream for ServiceA.MethodA4. |
| type ServiceAMethodA4ServerStream interface { |
| // RecvStream returns the receiver side of the ServiceA.MethodA4 server stream. |
| RecvStream() interface { |
| // Advance stages an item so that it may be retrieved via Value. Returns |
| // true iff there is an item to retrieve. Advance must be called before |
| // Value is called. May block if an item is not available. |
| Advance() bool |
| // Value returns the item that was staged by Advance. May panic if Advance |
| // returned false or was not called. Never blocks. |
| Value() int32 |
| // Err returns any error encountered by Advance. Never blocks. |
| Err() error |
| } |
| // SendStream returns the send side of the ServiceA.MethodA4 server stream. |
| SendStream() interface { |
| // Send places the item onto the output stream. Returns errors encountered |
| // while sending. Blocks if there is no buffer space; will unblock when |
| // buffer space is available. |
| Send(item string) error |
| } |
| } |
| |
| // ServiceAMethodA4ServerCall represents the context passed to ServiceA.MethodA4. |
| type ServiceAMethodA4ServerCall interface { |
| rpc.ServerCall |
| ServiceAMethodA4ServerStream |
| } |
| |
| // ServiceAMethodA4ServerCallStub is a wrapper that converts rpc.StreamServerCall into |
| // a typesafe stub that implements ServiceAMethodA4ServerCall. |
| type ServiceAMethodA4ServerCallStub struct { |
| rpc.StreamServerCall |
| valRecv int32 |
| errRecv error |
| } |
| |
| // Init initializes ServiceAMethodA4ServerCallStub from rpc.StreamServerCall. |
| func (s *ServiceAMethodA4ServerCallStub) Init(call rpc.StreamServerCall) { |
| s.StreamServerCall = call |
| } |
| |
| // RecvStream returns the receiver side of the ServiceA.MethodA4 server stream. |
| func (s *ServiceAMethodA4ServerCallStub) RecvStream() interface { |
| Advance() bool |
| Value() int32 |
| Err() error |
| } { |
| return implServiceAMethodA4ServerCallRecv{s} |
| } |
| |
| type implServiceAMethodA4ServerCallRecv struct { |
| s *ServiceAMethodA4ServerCallStub |
| } |
| |
| func (s implServiceAMethodA4ServerCallRecv) Advance() bool { |
| s.s.errRecv = s.s.Recv(&s.s.valRecv) |
| return s.s.errRecv == nil |
| } |
| func (s implServiceAMethodA4ServerCallRecv) Value() int32 { |
| return s.s.valRecv |
| } |
| func (s implServiceAMethodA4ServerCallRecv) Err() error { |
| if s.s.errRecv == io.EOF { |
| return nil |
| } |
| return s.s.errRecv |
| } |
| |
| // SendStream returns the send side of the ServiceA.MethodA4 server stream. |
| func (s *ServiceAMethodA4ServerCallStub) SendStream() interface { |
| Send(item string) error |
| } { |
| return implServiceAMethodA4ServerCallSend{s} |
| } |
| |
| type implServiceAMethodA4ServerCallSend struct { |
| s *ServiceAMethodA4ServerCallStub |
| } |
| |
| func (s implServiceAMethodA4ServerCallSend) Send(item string) error { |
| return s.s.Send(item) |
| } |
| |
| // ServiceBClientMethods is the client interface |
| // containing ServiceB methods. |
| type ServiceBClientMethods interface { |
| ServiceAClientMethods |
| MethodB1(_ *context.T, a Scalars, b Composites, _ ...rpc.CallOpt) (c CompComp, _ error) |
| } |
| |
| // ServiceBClientStub adds universal methods to ServiceBClientMethods. |
| type ServiceBClientStub interface { |
| ServiceBClientMethods |
| rpc.UniversalServiceMethods |
| } |
| |
| // ServiceBClient returns a client stub for ServiceB. |
| func ServiceBClient(name string) ServiceBClientStub { |
| return implServiceBClientStub{name, ServiceAClient(name)} |
| } |
| |
| type implServiceBClientStub struct { |
| name string |
| |
| ServiceAClientStub |
| } |
| |
| func (c implServiceBClientStub) MethodB1(ctx *context.T, i0 Scalars, i1 Composites, opts ...rpc.CallOpt) (o0 CompComp, err error) { |
| err = v23.GetClient(ctx).Call(ctx, c.name, "MethodB1", []interface{}{i0, i1}, []interface{}{&o0}, opts...) |
| return |
| } |
| |
| // ServiceBServerMethods is the interface a server writer |
| // implements for ServiceB. |
| type ServiceBServerMethods interface { |
| ServiceAServerMethods |
| MethodB1(_ *context.T, _ rpc.ServerCall, a Scalars, b Composites) (c CompComp, _ error) |
| } |
| |
| // ServiceBServerStubMethods is the server interface containing |
| // ServiceB methods, as expected by rpc.Server. |
| // The only difference between this interface and ServiceBServerMethods |
| // is the streaming methods. |
| type ServiceBServerStubMethods interface { |
| ServiceAServerStubMethods |
| MethodB1(_ *context.T, _ rpc.ServerCall, a Scalars, b Composites) (c CompComp, _ error) |
| } |
| |
| // ServiceBServerStub adds universal methods to ServiceBServerStubMethods. |
| type ServiceBServerStub interface { |
| ServiceBServerStubMethods |
| // Describe the ServiceB interfaces. |
| Describe__() []rpc.InterfaceDesc |
| } |
| |
| // ServiceBServer returns a server stub for ServiceB. |
| // It converts an implementation of ServiceBServerMethods into |
| // an object that may be used by rpc.Server. |
| func ServiceBServer(impl ServiceBServerMethods) ServiceBServerStub { |
| stub := implServiceBServerStub{ |
| impl: impl, |
| ServiceAServerStub: ServiceAServer(impl), |
| } |
| // Initialize GlobState; always check the stub itself first, to handle the |
| // case where the user has the Glob method defined in their VDL source. |
| if gs := rpc.NewGlobState(stub); gs != nil { |
| stub.gs = gs |
| } else if gs := rpc.NewGlobState(impl); gs != nil { |
| stub.gs = gs |
| } |
| return stub |
| } |
| |
| type implServiceBServerStub struct { |
| impl ServiceBServerMethods |
| ServiceAServerStub |
| gs *rpc.GlobState |
| } |
| |
| func (s implServiceBServerStub) MethodB1(ctx *context.T, call rpc.ServerCall, i0 Scalars, i1 Composites) (CompComp, error) { |
| return s.impl.MethodB1(ctx, call, i0, i1) |
| } |
| |
| func (s implServiceBServerStub) Globber() *rpc.GlobState { |
| return s.gs |
| } |
| |
| func (s implServiceBServerStub) Describe__() []rpc.InterfaceDesc { |
| return []rpc.InterfaceDesc{ServiceBDesc, ServiceADesc} |
| } |
| |
| // ServiceBDesc describes the ServiceB interface. |
| var ServiceBDesc rpc.InterfaceDesc = descServiceB |
| |
| // descServiceB hides the desc to keep godoc clean. |
| var descServiceB = rpc.InterfaceDesc{ |
| Name: "ServiceB", |
| PkgPath: "v.io/x/ref/lib/vdl/testdata/base", |
| Embeds: []rpc.EmbedDesc{ |
| {"ServiceA", "v.io/x/ref/lib/vdl/testdata/base", ``}, |
| }, |
| Methods: []rpc.MethodDesc{ |
| { |
| Name: "MethodB1", |
| InArgs: []rpc.ArgDesc{ |
| {"a", ``}, // Scalars |
| {"b", ``}, // Composites |
| }, |
| OutArgs: []rpc.ArgDesc{ |
| {"c", ``}, // CompComp |
| }, |
| }, |
| }, |
| } |
| |
| // Hold type definitions in package-level variables, for better performance. |
| var ( |
| __VDLType_bool_1 *vdl.Type |
| __VDLType_byte_2 *vdl.Type |
| __VDLType_uint16_3 *vdl.Type |
| __VDLType_uint32_4 *vdl.Type |
| __VDLType_uint64_5 *vdl.Type |
| __VDLType_int8_6 *vdl.Type |
| __VDLType_int16_7 *vdl.Type |
| __VDLType_int32_8 *vdl.Type |
| __VDLType_int64_9 *vdl.Type |
| __VDLType_float32_10 *vdl.Type |
| __VDLType_float64_11 *vdl.Type |
| __VDLType_string_12 *vdl.Type |
| __VDLType_enum_13 *vdl.Type |
| __VDLType_array_14 *vdl.Type |
| __VDLType_list_15 *vdl.Type |
| __VDLType_set_16 *vdl.Type |
| __VDLType_map_17 *vdl.Type |
| __VDLType_struct_18 *vdl.Type |
| __VDLType_union_19 *vdl.Type |
| __VDLType_struct_20 *vdl.Type |
| __VDLType_struct_21 *vdl.Type |
| __VDLType_array_22 *vdl.Type |
| __VDLType_struct_23 *vdl.Type |
| __VDLType_list_24 *vdl.Type |
| __VDLType_set_25 *vdl.Type |
| __VDLType_map_26 *vdl.Type |
| __VDLType_array_27 *vdl.Type |
| __VDLType_struct_28 *vdl.Type |
| __VDLType_list_29 *vdl.Type |
| __VDLType_map_30 *vdl.Type |
| __VDLType_map_31 *vdl.Type |
| __VDLType_list_32 *vdl.Type |
| __VDLType_struct_33 *vdl.Type |
| __VDLType_struct_34 *vdl.Type |
| __VDLType_list_35 *vdl.Type |
| __VDLType_list_36 *vdl.Type |
| __VDLType_set_37 *vdl.Type |
| __VDLType_map_38 *vdl.Type |
| ) |
| |
| var __VDLInitCalled bool |
| |
| // __VDLInit performs vdl initialization. It is safe to call multiple times. |
| // If you have an init ordering issue, just insert the following line verbatim |
| // into your source files in this package, right after the "package foo" clause: |
| // |
| // var _ = __VDLInit() |
| // |
| // The purpose of this function is to ensure that vdl initialization occurs in |
| // the right order, and very early in the init sequence. In particular, vdl |
| // registration and package variable initialization needs to occur before |
| // functions like vdl.TypeOf will work properly. |
| // |
| // This function returns a dummy value, so that it can be used to initialize the |
| // first var in the file, to take advantage of Go's defined init order. |
| func __VDLInit() struct{} { |
| if __VDLInitCalled { |
| return struct{}{} |
| } |
| __VDLInitCalled = true |
| |
| // Register types. |
| vdl.Register((*NamedBool)(nil)) |
| vdl.Register((*NamedByte)(nil)) |
| vdl.Register((*NamedUint16)(nil)) |
| vdl.Register((*NamedUint32)(nil)) |
| vdl.Register((*NamedUint64)(nil)) |
| vdl.Register((*NamedInt8)(nil)) |
| vdl.Register((*NamedInt16)(nil)) |
| vdl.Register((*NamedInt32)(nil)) |
| vdl.Register((*NamedInt64)(nil)) |
| vdl.Register((*NamedFloat32)(nil)) |
| vdl.Register((*NamedFloat64)(nil)) |
| vdl.Register((*NamedString)(nil)) |
| vdl.Register((*NamedEnum)(nil)) |
| vdl.Register((*NamedArray)(nil)) |
| vdl.Register((*NamedList)(nil)) |
| vdl.Register((*NamedSet)(nil)) |
| vdl.Register((*NamedMap)(nil)) |
| vdl.Register((*NamedStruct)(nil)) |
| vdl.Register((*NamedUnion)(nil)) |
| vdl.Register((*Scalars)(nil)) |
| vdl.Register((*KeyScalars)(nil)) |
| vdl.Register((*ScalarsArray)(nil)) |
| vdl.Register((*Composites)(nil)) |
| vdl.Register((*CompositesArray)(nil)) |
| vdl.Register((*CompComp)(nil)) |
| vdl.Register((*Args)(nil)) |
| vdl.Register((*NestedArgs)(nil)) |
| |
| // Initialize type definitions. |
| __VDLType_bool_1 = vdl.TypeOf((*NamedBool)(nil)) |
| __VDLType_byte_2 = vdl.TypeOf((*NamedByte)(nil)) |
| __VDLType_uint16_3 = vdl.TypeOf((*NamedUint16)(nil)) |
| __VDLType_uint32_4 = vdl.TypeOf((*NamedUint32)(nil)) |
| __VDLType_uint64_5 = vdl.TypeOf((*NamedUint64)(nil)) |
| __VDLType_int8_6 = vdl.TypeOf((*NamedInt8)(nil)) |
| __VDLType_int16_7 = vdl.TypeOf((*NamedInt16)(nil)) |
| __VDLType_int32_8 = vdl.TypeOf((*NamedInt32)(nil)) |
| __VDLType_int64_9 = vdl.TypeOf((*NamedInt64)(nil)) |
| __VDLType_float32_10 = vdl.TypeOf((*NamedFloat32)(nil)) |
| __VDLType_float64_11 = vdl.TypeOf((*NamedFloat64)(nil)) |
| __VDLType_string_12 = vdl.TypeOf((*NamedString)(nil)) |
| __VDLType_enum_13 = vdl.TypeOf((*NamedEnum)(nil)) |
| __VDLType_array_14 = vdl.TypeOf((*NamedArray)(nil)) |
| __VDLType_list_15 = vdl.TypeOf((*NamedList)(nil)) |
| __VDLType_set_16 = vdl.TypeOf((*NamedSet)(nil)) |
| __VDLType_map_17 = vdl.TypeOf((*NamedMap)(nil)) |
| __VDLType_struct_18 = vdl.TypeOf((*NamedStruct)(nil)).Elem() |
| __VDLType_union_19 = vdl.TypeOf((*NamedUnion)(nil)) |
| __VDLType_struct_20 = vdl.TypeOf((*Scalars)(nil)).Elem() |
| __VDLType_struct_21 = vdl.TypeOf((*KeyScalars)(nil)).Elem() |
| __VDLType_array_22 = vdl.TypeOf((*ScalarsArray)(nil)) |
| __VDLType_struct_23 = vdl.TypeOf((*Composites)(nil)).Elem() |
| __VDLType_list_24 = vdl.TypeOf((*[]Scalars)(nil)) |
| __VDLType_set_25 = vdl.TypeOf((*map[KeyScalars]struct{})(nil)) |
| __VDLType_map_26 = vdl.TypeOf((*map[string]Scalars)(nil)) |
| __VDLType_array_27 = vdl.TypeOf((*CompositesArray)(nil)) |
| __VDLType_struct_28 = vdl.TypeOf((*CompComp)(nil)).Elem() |
| __VDLType_list_29 = vdl.TypeOf((*[]Composites)(nil)) |
| __VDLType_map_30 = vdl.TypeOf((*map[string]Composites)(nil)) |
| __VDLType_map_31 = vdl.TypeOf((*map[KeyScalars][]map[string]Composites)(nil)) |
| __VDLType_list_32 = vdl.TypeOf((*[]map[string]Composites)(nil)) |
| __VDLType_struct_33 = vdl.TypeOf((*Args)(nil)).Elem() |
| __VDLType_struct_34 = vdl.TypeOf((*NestedArgs)(nil)).Elem() |
| __VDLType_list_35 = vdl.TypeOf((*[]byte)(nil)) |
| __VDLType_list_36 = vdl.TypeOf((*[]string)(nil)) |
| __VDLType_set_37 = vdl.TypeOf((*map[string]struct{})(nil)) |
| __VDLType_map_38 = vdl.TypeOf((*map[string]int64)(nil)) |
| |
| // Set error format strings. |
| i18n.Cat().SetWithBase(i18n.LangID("en"), i18n.MsgID(ErrNoParams1.ID), "{1:}{2:} en msg") |
| i18n.Cat().SetWithBase(i18n.LangID("en"), i18n.MsgID(ErrNoParams2.ID), "{1:}{2:} en msg") |
| i18n.Cat().SetWithBase(i18n.LangID("fr"), i18n.MsgID(ErrNoParams2.ID), "{1:}{2:} fr msg") |
| i18n.Cat().SetWithBase(i18n.LangID("en"), i18n.MsgID(ErrWithParams1.ID), "{1:}{2:} en x={3} y={4}") |
| i18n.Cat().SetWithBase(i18n.LangID("en"), i18n.MsgID(ErrWithParams2.ID), "{1:}{2:} en x={3} y={4}") |
| i18n.Cat().SetWithBase(i18n.LangID("fr"), i18n.MsgID(ErrWithParams2.ID), "{1:}{2:} fr y={4} x={3}") |
| i18n.Cat().SetWithBase(i18n.LangID("en"), i18n.MsgID(errNotExported.ID), "{1:}{2:} en x={3} y={4}") |
| |
| return struct{}{} |
| } |