github.com/googleapis/gnostic v0.4.1
This commit is contained in:
12
vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
generated
vendored
12
vendor/github.com/golang/protobuf/jsonpb/jsonpb.go
generated
vendored
@@ -165,6 +165,11 @@ type wkt interface {
|
||||
XXX_WellKnownType() string
|
||||
}
|
||||
|
||||
var (
|
||||
wktType = reflect.TypeOf((*wkt)(nil)).Elem()
|
||||
messageType = reflect.TypeOf((*proto.Message)(nil)).Elem()
|
||||
)
|
||||
|
||||
// marshalObject writes a struct to the Writer.
|
||||
func (m *Marshaler) marshalObject(out *errWriter, v proto.Message, indent, typeURL string) error {
|
||||
if jsm, ok := v.(JSONPBMarshaler); ok {
|
||||
@@ -531,7 +536,8 @@ func (m *Marshaler) marshalValue(out *errWriter, prop *proto.Properties, v refle
|
||||
|
||||
// Handle well-known types.
|
||||
// Most are handled up in marshalObject (because 99% are messages).
|
||||
if wkt, ok := v.Interface().(wkt); ok {
|
||||
if v.Type().Implements(wktType) {
|
||||
wkt := v.Interface().(wkt)
|
||||
switch wkt.XXX_WellKnownType() {
|
||||
case "NullValue":
|
||||
out.write("null")
|
||||
@@ -1277,8 +1283,8 @@ func checkRequiredFields(pb proto.Message) error {
|
||||
}
|
||||
|
||||
func checkRequiredFieldsInValue(v reflect.Value) error {
|
||||
if pm, ok := v.Interface().(proto.Message); ok {
|
||||
return checkRequiredFields(pm)
|
||||
if v.Type().Implements(messageType) {
|
||||
return checkRequiredFields(v.Interface().(proto.Message))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user