Index: service/datastore/pls_impl.go |
diff --git a/service/datastore/pls_impl.go b/service/datastore/pls_impl.go |
index 5f7fe4740d06b5dd585f3444435340cdec8841bd..f8db53bc718160f280dfaa6be968a9b8971eb0ee 100644 |
--- a/service/datastore/pls_impl.go |
+++ b/service/datastore/pls_impl.go |
@@ -196,7 +196,7 @@ func loadInner(codec *structCodec, structValue reflect.Value, index int, name st |
project = PTGeoPoint |
set = func(x interface{}) { v.Set(reflect.ValueOf(x)) } |
default: |
- panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.value, v))) |
+ panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.Value(), v))) |
} |
case reflect.Slice: |
project = PTBytes |
@@ -204,12 +204,12 @@ func loadInner(codec *structCodec, structValue reflect.Value, index int, name st |
v.SetBytes(reflect.ValueOf(x).Bytes()) |
} |
default: |
- panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.value, v))) |
+ panic(fmt.Errorf("helper: impossible: %s", typeMismatchReason(p.Value(), v))) |
} |
pVal, err := p.Project(project) |
if err != nil { |
- return typeMismatchReason(p.value, v) |
+ return typeMismatchReason(p.Value(), v) |
} |
if overflow != nil && overflow(pVal) { |
return fmt.Sprintf("value %v overflows struct field of type %v", pVal, v.Type()) |
@@ -334,7 +334,7 @@ func (p *structPLS) getMetaFor(idx int) (interface{}, bool) { |
if err != nil { |
return nil, false |
} |
- return prop.value, true |
+ return prop.Value(), true |
} |
if !reflect.DeepEqual(reflect.Zero(f.Type()).Interface(), f.Interface()) { |