Make wrapped lists in PbList monomorphic (#902)

In `PbList`, the list field becomes monomorphic growable list (from the list
base class). This makes `add` calls monomorphic and inlinable, and avoids
double mutability checks (once in `PbList.add`, again in `_wrappedList.add`).

Also simplifies immutable `PbMap` allocations.

`PbMap._isReadonly` is renamed to `_isReadOnly` for consistency with
`PbList._isReadOnly`.
4 files changed
tree: cd0ebf6ff784db561ef196ba1948c3ff2c62764a
  1. .github/
  2. api_benchmark/
  3. benchmarks/
  4. protobuf/
  5. protoc_plugin/
  6. tool/
  7. .gitignore
  8. analysis_options.yaml
  9. AUTHORS
  10. LICENSE
  11. mono_repo.yaml
  12. README.md
README.md

CI status

Protobuf support for Dart

Protocol Buffers (protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

This repository is home to packages related to protobuf for Dart.

PackageDescriptionPublished Version
protobufA support library for the generated codepub package
protoc_pluginA Dart back-end for the protoc compilerpub package
api_benchmarkBenchmarking for various API calls
query_benchmarkBenchmark for encoding and decoding of a “real-world” protobuf

Publishing automation

For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.