| 387 | } |
| 388 | |
| 389 | func isSingularWellKnownValue(fd protoreflect.FieldDescriptor) bool { |
| 390 | if fd.Cardinality() == protoreflect.Repeated { |
| 391 | return false |
| 392 | } |
| 393 | if md := fd.Message(); md != nil { |
| 394 | return md.FullName() == "google.protobuf.Value" |
| 395 | } |
| 396 | if ed := fd.Enum(); ed != nil { |
| 397 | return ed.FullName() == "google.protobuf.NullValue" |
| 398 | } |
| 399 | return false |
| 400 | } |
| 401 | |
| 402 | func isSingularJSONPBUnmarshaler(v protoreflect.Value, fd protoreflect.FieldDescriptor) bool { |
| 403 | if fd.Message() != nil && fd.Cardinality() != protoreflect.Repeated { |