diff --git a/types/any_data_holder.go b/types/any_data_holder.go index 0791064..7310f81 100644 --- a/types/any_data_holder.go +++ b/types/any_data_holder.go @@ -1,7 +1,6 @@ package types import ( - "errors" "fmt" "strings" ) @@ -66,17 +65,14 @@ func (adh *AnyDataHolder) ExtractFrom(readable Readable) error { return fmt.Errorf("Unknown AnyDataHolder type: %s", typeName) } - adh.ObjectData = AnyDataHolderObjects[typeName].Copy() - - ptr, ok := any(&adh.ObjectData).(RVTypePtr) - if !ok { - return errors.New("AnyDataHolder object data is not a valid RVType. Missing ExtractFrom pointer receiver") - } + ptr := AnyDataHolderObjects[typeName].CopyRef() if err := ptr.ExtractFrom(readable); err != nil { return fmt.Errorf("Failed to read AnyDataHolder object data. %s", err.Error()) } + adh.ObjectData = ptr.Deref() + return nil }