| 742 | } |
| 743 | |
| 744 | static RepeatedField* toPackedRepeated(Field* field, RepeatedParser parser) { |
| 745 | if (field->getInternalType() == Field::InternalType::Raw) { |
| 746 | auto raw = field->getRaw(); |
| 747 | return parsePackedRepeated(field, raw.data, raw.length, parser); |
| 748 | } else { |
| 749 | auto* typedArray = field->getTypedArray(); |
| 750 | if (typedArray != nullptr) { |
| 751 | return parsePackedRepeated(field, typedArray->getBuffer().data(), typedArray->getBuffer().size(), parser); |
| 752 | } |
| 753 | } |
| 754 | |
| 755 | return field->toRepeated(); |
| 756 | } |
| 757 | |
| 758 | static void parseVarintRepeated(RepeatedField* repeated, const Byte* data, size_t length) { |
| 759 | google::protobuf::io::CodedInputStream inputStream(data, static_cast<int>(length)); |
no test coverage detected