Commits on Jul 8, 2019
The golang/protobuf compatibility agreement reserves the right add/remove XXX fields and methods. Fix this code to avoid assuming: * that XXX_WellKnownType always exists (it won't in the future). Instead, it should determine whether a message is a well-known type based on its full name. * that Go struct field indexes are stable (they aren't). An internal field may be added to the front of the message, causing the current assumptions to be invalidated. Instead, access the struct field by name, which will not change.