//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

package cfg;


import (
    "demo/luban"
)

import "errors"

type TestTestRow struct {
    X int32
    Y bool
    Z string
    A *TestTest3
    B []int32
}

const TypeId_TestTestRow = -543222164

func (*TestTestRow) GetTypeId() int32 {
    return -543222164
}

func NewTestTestRow(_buf *luban.ByteBuf) (_v *TestTestRow, err error) {
    _v = &TestTestRow{}
    { if _v.X, err = _buf.ReadInt(); err != nil { err = errors.New("error"); return } }
    { if _v.Y, err = _buf.ReadBool(); err != nil { err = errors.New("error"); err = errors.New("error"); return } }
    { if _v.Z, err = _buf.ReadString(); err != nil { err = errors.New("error"); return } }
    { if _v.A, err = NewTestTest3(_buf); err != nil { err = errors.New("error"); return } }
    {_v.B = make([]int32, 0); var _n_ int; if _n_, err = _buf.ReadSize(); err != nil { err = errors.New("error"); return}; for i := 0 ; i < _n_ ; i++ { var _e_ int32; { if _e_, err = _buf.ReadInt(); err != nil { err = errors.New("error"); return } }; _v.B = append(_v.B, _e_) } }
    return
}