| crossLink() |   | 48% |   | 61% | 24 | 40 | 39 | 96 | 0 | 1 |
| fieldNameToJsonName(String) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| Descriptors.FieldDescriptor(DescriptorProtos.FieldDescriptorProto, Descriptors.FileDescriptor, Descriptors.Descriptor, int, boolean) |   | 69% |   | 60% | 8 | 11 | 7 | 37 | 0 | 1 |
| isGroupLike() |  | 0% |  | 0% | 7 | 7 | 9 | 9 | 1 | 1 |
| needsUtf8Check() |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| getOptions() |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| getJsonName() |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| inferLegacyProtoFeatures() |   | 68% |   | 50% | 6 | 9 | 4 | 13 | 0 | 1 |
| legacyEnumFieldTreatedAsClosed() |   | 44% |   | 25% | 6 | 7 | 3 | 5 | 0 | 1 |
| getExtensionScope() |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| hasOptionalKeyword() |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 1 | 1 |
| validateFeatures() |   | 37% |   | 20% | 5 | 6 | 3 | 6 | 0 | 1 |
| hasInferredLegacyProtoFeatures() |   | 67% |   | 50% | 5 | 8 | 4 | 12 | 0 | 1 |
| isOptional() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| getMessageType() |   | 35% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| getEnumType() |   | 35% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| getDefaultValue() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| setProto(DescriptorProtos.FieldDescriptorProto) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| isPacked() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| static {...} |   | 70% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| compareTo(Descriptors.FieldDescriptor) |   | 68% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| hasDefaultValue() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| hasPresence() |  | 90% |   | 64% | 5 | 8 | 1 | 8 | 0 | 1 |
| toProto() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toString() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getType() |  | 94% |   | 64% | 5 | 8 | 1 | 6 | 0 | 1 |
| isMapField() |  | 88% |   | 66% | 2 | 4 | 0 | 3 | 0 | 1 |
| isPackable() |  | 90% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| getRealContainingOneof() |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| isRequired() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| isRepeated() |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| resolveAllFeatures() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getLiteType() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| internalMergeFrom(MessageLite.Builder, MessageLite) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getName() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNumber() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getJavaType() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLiteJavaType() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isExtension() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getIndex() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFullName() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFile() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getContainingType() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getContainingOneof() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |