diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-02-15 00:00:04 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-02-15 00:01:02 -0800 |
commit | 5cc0bbbafb2dc7d248bc3141b4cfa022d420abd1 (patch) | |
tree | e5ad432e378c86d259d7e2faba862839cce7ecc9 /tools/go_marshal/gomarshal/generator_interfaces.go | |
parent | 3d32ad1367b4e84a0822808f44bd7b9f9351db71 (diff) |
Ensure Marshallable.SizeBytes() always works on a typed nil pointer.
This lets go-marshal replace various calls to binary.Size() throughout
the sentry without requiring concrete objects.
PiperOrigin-RevId: 295299965
Diffstat (limited to 'tools/go_marshal/gomarshal/generator_interfaces.go')
-rw-r--r-- | tools/go_marshal/gomarshal/generator_interfaces.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/go_marshal/gomarshal/generator_interfaces.go b/tools/go_marshal/gomarshal/generator_interfaces.go index 22aae0f6b..3aa299ccd 100644 --- a/tools/go_marshal/gomarshal/generator_interfaces.go +++ b/tools/go_marshal/gomarshal/generator_interfaces.go @@ -301,7 +301,7 @@ func (g *interfaceGenerator) emitMarshallable() { primitiveSize += size } else { g.recordUsedMarshallable(t.Name) - dynamicSizeTerms = append(dynamicSizeTerms, fmt.Sprintf("%s.SizeBytes()", g.fieldAccessor(n))) + dynamicSizeTerms = append(dynamicSizeTerms, fmt.Sprintf("(*%s)(nil).SizeBytes()", t.Name)) } }, selector: func(n, tX, tSel *ast.Ident) { |