From 23a583a2e84a59e7b97b3d584be24d3639ca537c Mon Sep 17 00:00:00 2001 From: petersunbag Date: Wed, 31 Jan 2018 16:18:58 +0800 Subject: [PATCH] export Converter --- basic.go | 2 +- coven.go | 12 ++++++------ map.go | 2 +- slice.go | 2 +- struct.go | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/basic.go b/basic.go index 8cf7d45..2593f11 100644 --- a/basic.go +++ b/basic.go @@ -24,7 +24,7 @@ func newBasicConverter(convertType *convertType) (c converter) { // convert assigns converted source value to target. // dPtr and sPtr must pointed to a non-pointer value, -// it is assured by delegateConverter.Convert() and elemConverter.convert() +// it is assured by Converter.Convert() and elemConverter.convert() func (g *basicConverter) convert(dPtr, sPtr unsafe.Pointer) { g.cvtOp(sPtr, dPtr) } diff --git a/coven.go b/coven.go index 61239c0..07004c8 100644 --- a/coven.go +++ b/coven.go @@ -9,7 +9,7 @@ import ( var ( createdConvertersMu sync.Mutex - createdConverters = make(map[convertType]*delegateConverter) + createdConverters = make(map[convertType]*Converter) ) type convertType struct { @@ -27,12 +27,12 @@ type converter interface { convert(dPtr, sPtr unsafe.Pointer) } -type delegateConverter struct { +type Converter struct { *convertType converter } -func (d *delegateConverter) Convert(dst, src interface{}) { +func (d *Converter) Convert(dst, src interface{}) { dv := dereferencedValue(dst) if !dv.CanSet() { panic(fmt.Sprintf("target should be a pointer. [actual:%v]", dv.Type())) @@ -54,7 +54,7 @@ func (d *delegateConverter) Convert(dst, src interface{}) { d.converter.convert(unsafe.Pointer(dv.UnsafeAddr()), unsafe.Pointer(sv.UnsafeAddr())) } -func NewConverter(dst, src interface{}) *delegateConverter { +func NewConverter(dst, src interface{}) *Converter { dstTyp := reflect.TypeOf(dst) srcTyp := reflect.TypeOf(src) @@ -65,7 +65,7 @@ func NewConverter(dst, src interface{}) *delegateConverter { } } -func newConverter(dstTyp, srcTyp reflect.Type, lock bool) *delegateConverter { +func newConverter(dstTyp, srcTyp reflect.Type, lock bool) *Converter { if lock { createdConvertersMu.Lock() defer createdConvertersMu.Unlock() @@ -94,7 +94,7 @@ func newConverter(dstTyp, srcTyp reflect.Type, lock bool) *delegateConverter { } } if c != nil { - dc := &delegateConverter{cTyp, c} + dc := &Converter{cTyp, c} createdConverters[*cTyp] = dc return dc } diff --git a/map.go b/map.go index efa163f..f18d33b 100644 --- a/map.go +++ b/map.go @@ -40,7 +40,7 @@ func newMapConverter(convertType *convertType) (m converter) { // convert only affects target with keys that source map has, the rest will remain unchanged. // dPtr and sPtr must pointed to a non-pointer value, -// it is assured by delegateConverter.Convert() and elemConverter.convert() +// it is assured by Converter.Convert() and elemConverter.convert() func (m *mapConverter) convert(dPtr, sPtr unsafe.Pointer) { sv := ptrToMapValue(m.sEmptyMapInterface, sPtr) dv := ptrToMapValue(m.dEmptyMapInterface, dPtr) diff --git a/slice.go b/slice.go index 9f34aad..a3629ab 100644 --- a/slice.go +++ b/slice.go @@ -30,7 +30,7 @@ func newSliceConverter(convertType *convertType) (s converter) { // convert will overwrite the whole target slice. // dPtr and sPtr must pointed to a non-pointer value, -// it is assured by delegateConverter.Convert() and elemConverter.convert() +// it is assured by Converter.Convert() and elemConverter.convert() func (s *sliceConverter) convert(dPtr, sPtr unsafe.Pointer) { dSlice := (*sliceHeader)(dPtr) sSlice := (*sliceHeader)(sPtr) diff --git a/struct.go b/struct.go index fbdc332..baf5840 100644 --- a/struct.go +++ b/struct.go @@ -46,7 +46,7 @@ func newStructConverter(convertType *convertType) (s converter) { // convert only affects fields stored in fieldConverters, the rest will remain unchanged. // dPtr and sPtr must pointed to a non-pointer value, -// it is assured by delegateConverter.Convert() and elemConverter.convert() +// it is assured by Converter.Convert() and elemConverter.convert() func (s *structConverter) convert(dPtr, sPtr unsafe.Pointer) { if s.dstTyp == s.srcTyp { ptr.Copy(dPtr, sPtr, s.size)