github.com/urso/go-structform@v0.0.2/gotype/fold_primitives.go (about)

     1  package gotype
     2  
     3  import "reflect"
     4  
     5  func foldNil(C *foldContext, v interface{}) error     { return C.OnNil() }
     6  func foldBool(C *foldContext, v interface{}) error    { return C.OnBool(v.(bool)) }
     7  func foldInt8(C *foldContext, v interface{}) error    { return C.OnInt8(v.(int8)) }
     8  func foldInt16(C *foldContext, v interface{}) error   { return C.OnInt16(v.(int16)) }
     9  func foldInt32(C *foldContext, v interface{}) error   { return C.OnInt32(v.(int32)) }
    10  func foldInt64(C *foldContext, v interface{}) error   { return C.OnInt64(v.(int64)) }
    11  func foldInt(C *foldContext, v interface{}) error     { return C.OnInt64(int64(v.(int))) }
    12  func foldByte(C *foldContext, v interface{}) error    { return C.OnByte(v.(byte)) }
    13  func foldUint8(C *foldContext, v interface{}) error   { return C.OnUint8(v.(uint8)) }
    14  func foldUint16(C *foldContext, v interface{}) error  { return C.OnUint16(v.(uint16)) }
    15  func foldUint32(C *foldContext, v interface{}) error  { return C.OnUint32(v.(uint32)) }
    16  func foldUint64(C *foldContext, v interface{}) error  { return C.OnUint64(v.(uint64)) }
    17  func foldUint(C *foldContext, v interface{}) error    { return C.OnUint(v.(uint)) }
    18  func foldFloat32(C *foldContext, v interface{}) error { return C.OnFloat32(v.(float32)) }
    19  func foldFloat64(C *foldContext, v interface{}) error { return C.OnFloat64(v.(float64)) }
    20  func foldString(C *foldContext, v interface{}) error  { return C.OnString(v.(string)) }
    21  
    22  func reFoldNil(C *foldContext, v reflect.Value) error    { return C.OnNil() }
    23  func reFoldBool(C *foldContext, v reflect.Value) error   { return C.OnBool(v.Bool()) }
    24  func reFoldInt8(C *foldContext, v reflect.Value) error   { return C.OnInt8(int8(v.Int())) }
    25  func reFoldInt16(C *foldContext, v reflect.Value) error  { return C.OnInt16(int16(v.Int())) }
    26  func reFoldInt32(C *foldContext, v reflect.Value) error  { return C.OnInt32(int32(v.Int())) }
    27  func reFoldInt64(C *foldContext, v reflect.Value) error  { return C.OnInt64(v.Int()) }
    28  func reFoldInt(C *foldContext, v reflect.Value) error    { return C.OnInt64(int64(int(v.Int()))) }
    29  func reFoldUint8(C *foldContext, v reflect.Value) error  { return C.OnUint8(uint8(v.Uint())) }
    30  func reFoldUint16(C *foldContext, v reflect.Value) error { return C.OnUint16(uint16(v.Uint())) }
    31  func reFoldUint32(C *foldContext, v reflect.Value) error { return C.OnUint32(uint32(v.Uint())) }
    32  func reFoldUint64(C *foldContext, v reflect.Value) error { return C.OnUint64(v.Uint()) }
    33  func reFoldUint(C *foldContext, v reflect.Value) error   { return C.OnUint(uint(v.Uint())) }
    34  func reFoldFloat32(C *foldContext, v reflect.Value) error {
    35  	return C.OnFloat32(float32(v.Float()))
    36  }
    37  func reFoldFloat64(C *foldContext, v reflect.Value) error { return C.OnFloat64(v.Float()) }
    38  func reFoldString(C *foldContext, v reflect.Value) error  { return C.OnString(v.String()) }
    39  
    40  func reFoldFolderIfc(C *foldContext, v reflect.Value) error {
    41  	return v.Interface().(Folder).Fold(C.visitor)
    42  }