diff --git a/cmd/protoc-gen-go-grpc/testdata/go.mod b/cmd/protoc-gen-go-grpc/testdata/go.mod index 39d44c33..67856827 100644 --- a/cmd/protoc-gen-go-grpc/testdata/go.mod +++ b/cmd/protoc-gen-go-grpc/testdata/go.mod @@ -1,7 +1,7 @@ module github.com/golang/protobuf/v2/cmd/protoc-gen-go-grpc/testdata require ( - github.com/golang/protobuf v1.2.1-0.20190326022002-be03c15fcaa2 + github.com/golang/protobuf v1.2.1-0.20190416233244-13cf6e79fd39 github.com/golang/protobuf/v2 v2.0.0 google.golang.org/grpc v1.19.0 ) diff --git a/cmd/protoc-gen-go/testdata/go.mod b/cmd/protoc-gen-go/testdata/go.mod index c8b3c59a..2cf84ad0 100644 --- a/cmd/protoc-gen-go/testdata/go.mod +++ b/cmd/protoc-gen-go/testdata/go.mod @@ -1,7 +1,7 @@ module github.com/golang/protobuf/v2/cmd/protoc-gen-go/testdata require ( - github.com/golang/protobuf v1.2.1-0.20190326022002-be03c15fcaa2 + github.com/golang/protobuf v1.2.1-0.20190416233244-13cf6e79fd39 github.com/golang/protobuf/v2 v2.0.0 ) diff --git a/go.mod b/go.mod index cc9b0755..de2ddedf 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/golang/protobuf/v2 require ( - github.com/golang/protobuf v1.2.1-0.20190326022002-be03c15fcaa2 + github.com/golang/protobuf v1.2.1-0.20190416233244-13cf6e79fd39 github.com/google/go-cmp v0.2.1-0.20190312032427-6f77996f0c42 ) diff --git a/go.sum b/go.sum index f2f40010..06975727 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,8 @@ github.com/golang/protobuf v1.2.1-0.20190322195920-d94fb84e04b7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.1-0.20190326022002-be03c15fcaa2 h1:lkKDUagzhHJnfyahshk3wkddt6PWmUy/gVOV35CWQrA= github.com/golang/protobuf v1.2.1-0.20190326022002-be03c15fcaa2/go.mod h1:rZ4veVXHB1S2+o7TKqD9Isxml062IeDutnCDtFPUlCc= +github.com/golang/protobuf v1.2.1-0.20190416233244-13cf6e79fd39 h1:5ypd1txfe3cmWAw+lhzJXDrjc8gyh6/3KkhnPSfkrUQ= +github.com/golang/protobuf v1.2.1-0.20190416233244-13cf6e79fd39/go.mod h1:RgnTNLHWo9HXezTFX5MTeuXnXx9eeQX8y3Cukv+9HaE= github.com/golang/protobuf/v2 v2.0.0-20190322201422-f503c300f70e/go.mod h1:25ZALhydMFaBRgPH58a8zpFe9YXMAMjOYWtB6pNPcoo= +github.com/golang/protobuf/v2 v2.0.0-20190416222953-ab61d41ec93f/go.mod h1:baUT2weUsA1MR7ocRtLXLmi2B1s4VrUT3S6tO8AYzMw= github.com/google/go-cmp v0.2.1-0.20190312032427-6f77996f0c42 h1:q3pnF5JFBNRz8sRD+IRj7Y6DMyYGTNqnZ9axTbSfoNI= github.com/google/go-cmp v0.2.1-0.20190312032427-6f77996f0c42/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= diff --git a/internal/impl/legacy_export.go b/internal/impl/legacy_export.go index d40d4ffc..8038333b 100644 --- a/internal/impl/legacy_export.go +++ b/internal/impl/legacy_export.go @@ -7,7 +7,6 @@ package impl import ( "encoding/binary" "encoding/json" - "fmt" "hash/crc32" "math" @@ -75,17 +74,3 @@ func (Export) CompressGZIP(in []byte) (out []byte) { out = append(out, gzipFooter[:]...) return out } - -// ExtensionFieldsOf returns an interface abstraction over various -// internal representations of extension fields. -// -// TODO: Delete this once v1 no longer needs this. -// Remember to delete the HasInit, Lock, and Unlock methods. -func (Export) ExtensionFieldsOf(p interface{}) legacyExtensionFieldsIface { - switch p := p.(type) { - case *ExtensionFieldsV1: - return (*legacyExtensionMap)(p) - default: - panic(fmt.Sprintf("invalid extension fields type: %T", p)) - } -} diff --git a/internal/impl/legacy_extension.go b/internal/impl/legacy_extension.go index 16701b69..4a60f05c 100644 --- a/internal/impl/legacy_extension.go +++ b/internal/impl/legacy_extension.go @@ -6,7 +6,6 @@ package impl import ( "reflect" - "sync" pref "github.com/golang/protobuf/v2/reflect/protoreflect" piface "github.com/golang/protobuf/v2/runtime/protoiface" @@ -25,7 +24,7 @@ func makeLegacyExtensionFieldsFunc(t reflect.Type) func(p *messageDataType) pref } } -var extType = reflect.TypeOf(ExtensionFieldsV1{}) +var extType = reflect.TypeOf(map[int32]ExtensionFieldV1{}) func makeLegacyExtensionMapFunc(t reflect.Type) func(*messageDataType) *legacyExtensionMap { fx, _ := t.FieldByName("XXX_extensions") @@ -39,7 +38,7 @@ func makeLegacyExtensionMapFunc(t reflect.Type) func(*messageDataType) *legacyEx fieldOffset := offsetOf(fx) return func(p *messageDataType) *legacyExtensionMap { v := p.p.Apply(fieldOffset).AsValueOf(fx.Type).Interface() - return (*legacyExtensionMap)(v.(*ExtensionFieldsV1)) + return (*legacyExtensionMap)(v.(*map[int32]ExtensionFieldV1)) } } @@ -240,20 +239,6 @@ func extensionTypeFromDesc(desc *piface.ExtensionDescV1) pref.ExtensionType { return legacyWrapper.ExtensionTypeFromDesc(desc) } -type legacyExtensionFieldsIface = interface { - Len() int - Has(pref.FieldNumber) bool - Get(pref.FieldNumber) ExtensionFieldV1 - Set(pref.FieldNumber, ExtensionFieldV1) - Clear(pref.FieldNumber) - Range(f func(pref.FieldNumber, ExtensionFieldV1) bool) - - // HasInit and Locker are used by v1 GetExtension to provide - // an artificial degree of concurrent safety. - HasInit() bool - sync.Locker -} - type ExtensionFieldV1 struct { // TODO: We should turn this into a type alias to an unnamed type, // which means that v1 can have the same struct, and we no longer have to @@ -290,9 +275,7 @@ type ExtensionFieldV1 struct { Raw []byte // TODO: remove; let this be handled by XXX_unrecognized } -type ExtensionFieldsV1 = map[int32]ExtensionFieldV1 - -type legacyExtensionMap ExtensionFieldsV1 +type legacyExtensionMap map[int32]ExtensionFieldV1 func (m legacyExtensionMap) Len() int { return len(m) @@ -320,9 +303,3 @@ func (m legacyExtensionMap) Range(f func(pref.FieldNumber, ExtensionFieldV1) boo } } } - -func (m legacyExtensionMap) HasInit() bool { - return m != nil -} -func (m legacyExtensionMap) Lock() {} // noop -func (m legacyExtensionMap) Unlock() {} // noop diff --git a/internal/impl/legacy_test.go b/internal/impl/legacy_test.go index 1bc5acff..84cf0710 100644 --- a/internal/impl/legacy_test.go +++ b/internal/impl/legacy_test.go @@ -29,7 +29,7 @@ import ( type legacyTestMessage struct { XXX_unrecognized []byte - XXX_InternalExtensions pimpl.ExtensionFieldsV1 + XXX_InternalExtensions map[int32]pimpl.ExtensionFieldV1 } func (*legacyTestMessage) Reset() {} diff --git a/internal/legacy/extension_test.go b/internal/legacy/extension_test.go index 58af84bf..630c1586 100644 --- a/internal/legacy/extension_test.go +++ b/internal/legacy/extension_test.go @@ -21,7 +21,7 @@ import ( type legacyTestMessage struct { XXX_unrecognized []byte - XXX_InternalExtensions pimpl.ExtensionFieldsV1 + XXX_InternalExtensions map[int32]pimpl.ExtensionFieldV1 } func (*legacyTestMessage) Reset() {} diff --git a/runtime/protoimpl/impl.go b/runtime/protoimpl/impl.go index bbfab278..617aed6f 100644 --- a/runtime/protoimpl/impl.go +++ b/runtime/protoimpl/impl.go @@ -46,6 +46,5 @@ type ( UnknownFields = []byte SizeCache = int32 - ExtensionFieldV1 = impl.ExtensionFieldV1 - ExtensionFieldsV1 = impl.ExtensionFieldsV1 + ExtensionFieldV1 = impl.ExtensionFieldV1 )