Showing preview only (2,075K chars total). Download the full file or copy to clipboard to get everything.
Repository: google/protobuf.dart
Branch: master
Commit: 84079e8b8531
Files: 380
Total size: 1.9 MB
Directory structure:
gitextract_2g3fdimv/
├── .github/
│ ├── dependabot.yml
│ └── workflows/
│ ├── benchmark.yaml
│ ├── post_summaries.yaml
│ ├── protobuf.yaml
│ ├── protoc_plugin.yaml
│ └── publish.yaml
├── .gitignore
├── AUTHORS
├── LICENSE
├── README.md
├── analysis_options.yaml
├── benchmarks/
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── bin/
│ │ ├── binary_decode_packed.dart
│ │ ├── deep_copy.dart
│ │ ├── from_binary.dart
│ │ ├── from_json_string.dart
│ │ ├── from_proto3_json_object.dart
│ │ ├── from_proto3_json_string.dart
│ │ ├── hash_code.dart
│ │ ├── query_decode_binary.dart
│ │ ├── query_decode_json.dart
│ │ ├── query_encode_binary.dart
│ │ ├── query_encode_json.dart
│ │ ├── query_set_nested_value.dart
│ │ ├── repeated_field.dart
│ │ ├── to_binary.dart
│ │ ├── to_json_string.dart
│ │ ├── to_proto3_json_object.dart
│ │ └── to_proto3_json_string.dart
│ ├── datasets/
│ │ ├── google_message1_proto2.pb
│ │ ├── google_message1_proto3.pb
│ │ ├── google_message2.pb
│ │ └── query_benchmark.pb
│ ├── lib/
│ │ ├── benchmark_base.dart
│ │ ├── readfile.dart
│ │ ├── readfile_js.dart
│ │ └── readfile_vm.dart
│ ├── protoc_version
│ ├── protos/
│ │ ├── google_message1_proto2.proto
│ │ ├── google_message1_proto3.proto
│ │ ├── google_message2.proto
│ │ ├── packed_fields.proto
│ │ └── query_benchmark/
│ │ ├── f0.proto
│ │ ├── f1.proto
│ │ ├── f10.proto
│ │ ├── f11.proto
│ │ ├── f12.proto
│ │ ├── f13.proto
│ │ ├── f14.proto
│ │ ├── f15.proto
│ │ ├── f16.proto
│ │ ├── f17.proto
│ │ ├── f18.proto
│ │ ├── f19.proto
│ │ ├── f2.proto
│ │ ├── f20.proto
│ │ ├── f21.proto
│ │ ├── f22.proto
│ │ ├── f23.proto
│ │ ├── f24.proto
│ │ ├── f25.proto
│ │ ├── f26.proto
│ │ ├── f27.proto
│ │ ├── f28.proto
│ │ ├── f3.proto
│ │ ├── f4.proto
│ │ ├── f5.proto
│ │ ├── f6.proto
│ │ ├── f7.proto
│ │ ├── f8.proto
│ │ └── f9.proto
│ ├── pubspec.yaml
│ └── tool/
│ ├── compile_benchmarks.dart
│ ├── compile_protos.sh
│ └── run_protoc_plugin.sh
├── protobuf/
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── build_wkts.sh
│ ├── google/
│ │ └── protobuf/
│ │ ├── any.proto
│ │ ├── api.proto
│ │ ├── duration.proto
│ │ ├── empty.proto
│ │ ├── field_mask.proto
│ │ ├── source_context.proto
│ │ ├── struct.proto
│ │ ├── timestamp.proto
│ │ ├── type.proto
│ │ └── wrappers.proto
│ ├── lib/
│ │ ├── meta.dart
│ │ ├── protobuf.dart
│ │ ├── src/
│ │ │ └── protobuf/
│ │ │ ├── annotations.dart
│ │ │ ├── builder_info.dart
│ │ │ ├── coded_buffer.dart
│ │ │ ├── coded_buffer_reader.dart
│ │ │ ├── coded_buffer_writer.dart
│ │ │ ├── consts.dart
│ │ │ ├── exceptions.dart
│ │ │ ├── extension.dart
│ │ │ ├── extension_field_set.dart
│ │ │ ├── extension_registry.dart
│ │ │ ├── field_error.dart
│ │ │ ├── field_info.dart
│ │ │ ├── field_set.dart
│ │ │ ├── field_type.dart
│ │ │ ├── generated_message.dart
│ │ │ ├── generated_service.dart
│ │ │ ├── internal.dart
│ │ │ ├── json/
│ │ │ │ ├── json.dart
│ │ │ │ ├── json_vm.dart
│ │ │ │ └── json_web.dart
│ │ │ ├── json_parsing_context.dart
│ │ │ ├── message_set.dart
│ │ │ ├── mixins/
│ │ │ │ ├── map_mixin.dart
│ │ │ │ └── well_known.dart
│ │ │ ├── pb_list.dart
│ │ │ ├── pb_map.dart
│ │ │ ├── permissive_compare.dart
│ │ │ ├── proto3_json.dart
│ │ │ ├── protobuf_enum.dart
│ │ │ ├── rpc_client.dart
│ │ │ ├── type_registry.dart
│ │ │ ├── unknown_field_set.dart
│ │ │ ├── unpack.dart
│ │ │ ├── utils.dart
│ │ │ └── wire_format.dart
│ │ └── well_known_types/
│ │ └── google/
│ │ └── protobuf/
│ │ ├── any.pb.dart
│ │ ├── any.pbjson.dart
│ │ ├── api.pb.dart
│ │ ├── api.pbjson.dart
│ │ ├── duration.pb.dart
│ │ ├── duration.pbjson.dart
│ │ ├── empty.pb.dart
│ │ ├── empty.pbjson.dart
│ │ ├── field_mask.pb.dart
│ │ ├── field_mask.pbjson.dart
│ │ ├── source_context.pb.dart
│ │ ├── source_context.pbjson.dart
│ │ ├── struct.pb.dart
│ │ ├── struct.pbenum.dart
│ │ ├── struct.pbjson.dart
│ │ ├── timestamp.pb.dart
│ │ ├── timestamp.pbjson.dart
│ │ ├── type.pb.dart
│ │ ├── type.pbenum.dart
│ │ ├── type.pbjson.dart
│ │ ├── wrappers.pb.dart
│ │ └── wrappers.pbjson.dart
│ ├── pubspec.yaml
│ └── test/
│ ├── builder_info_test.dart
│ ├── codec_test.dart
│ ├── coded_buffer_reader_test.dart
│ ├── dummy_field_test.dart
│ ├── json_test.dart
│ ├── json_vm_test.dart
│ ├── list_equality_test.dart
│ ├── list_test.dart
│ ├── map_mixin_test.dart
│ ├── message_test.dart
│ ├── mock_util.dart
│ ├── permissive_compare_test.dart
│ ├── readonly_message_test.dart
│ └── test_util.dart
├── protoc_plugin/
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── bin/
│ │ ├── protoc-gen-dart
│ │ ├── protoc-gen-dart-debug
│ │ ├── protoc-gen-dart.bat
│ │ ├── protoc_plugin.dart
│ │ └── protoc_plugin_bazel.dart
│ ├── lib/
│ │ ├── bazel.dart
│ │ ├── const_generator.dart
│ │ ├── indenting_writer.dart
│ │ ├── mixins.dart
│ │ ├── names.dart
│ │ ├── protoc.dart
│ │ ├── src/
│ │ │ ├── base_type.dart
│ │ │ ├── client_generator.dart
│ │ │ ├── code_generator.dart
│ │ │ ├── enum_generator.dart
│ │ │ ├── extension_generator.dart
│ │ │ ├── file_generator.dart
│ │ │ ├── formatter.dart
│ │ │ ├── gen/
│ │ │ │ ├── dart_options.pb.dart
│ │ │ │ ├── dart_options.pbenum.dart
│ │ │ │ └── google/
│ │ │ │ ├── api/
│ │ │ │ │ ├── client.pb.dart
│ │ │ │ │ ├── client.pbenum.dart
│ │ │ │ │ ├── http.pb.dart
│ │ │ │ │ ├── http.pbenum.dart
│ │ │ │ │ ├── launch_stage.pb.dart
│ │ │ │ │ ├── launch_stage.pbenum.dart
│ │ │ │ │ ├── routing.pb.dart
│ │ │ │ │ └── routing.pbenum.dart
│ │ │ │ └── protobuf/
│ │ │ │ ├── compiler/
│ │ │ │ │ ├── plugin.pb.dart
│ │ │ │ │ └── plugin.pbenum.dart
│ │ │ │ ├── dart_edition_defaults.pb.dart
│ │ │ │ ├── descriptor.pb.dart
│ │ │ │ ├── descriptor.pbenum.dart
│ │ │ │ ├── unittest_features.pb.dart
│ │ │ │ └── unittest_features.pbenum.dart
│ │ │ ├── grpc_generator.dart
│ │ │ ├── linker.dart
│ │ │ ├── message_generator.dart
│ │ │ ├── options.dart
│ │ │ ├── output_config.dart
│ │ │ ├── paths.dart
│ │ │ ├── protobuf_field.dart
│ │ │ ├── service_generator.dart
│ │ │ ├── shared.dart
│ │ │ └── well_known_types.dart
│ │ ├── string_escape.dart
│ │ └── testing/
│ │ └── mixins.dart
│ ├── protos/
│ │ ├── README.md
│ │ ├── dart_options.proto
│ │ └── google/
│ │ ├── api/
│ │ │ ├── client.proto
│ │ │ ├── http.proto
│ │ │ ├── launch_stage.proto
│ │ │ └── routing.proto
│ │ └── protobuf/
│ │ ├── compiler/
│ │ │ └── plugin.proto
│ │ ├── descriptor.proto
│ │ └── unittest_features.proto
│ ├── pubspec.yaml
│ ├── test/
│ │ ├── any_test.dart
│ │ ├── bazel_test.dart
│ │ ├── client_generator_test.dart
│ │ ├── coded_buffer_test.dart
│ │ ├── const_generator_test.dart
│ │ ├── constructor_args_test.dart
│ │ ├── default_value_escape_test.dart
│ │ ├── deprecations_test.dart
│ │ ├── descriptor_test.dart
│ │ ├── doc_comments_test.dart
│ │ ├── duration_test.dart
│ │ ├── enum_generator_test.dart
│ │ ├── extension_generator_test.dart
│ │ ├── extension_test.dart
│ │ ├── extension_unknown_interaction_test.dart
│ │ ├── feature_set_defaults_test.dart
│ │ ├── file_generator_test.dart
│ │ ├── freeze_test.dart
│ │ ├── generated_message_test.dart
│ │ ├── goldens/
│ │ │ ├── client.pb.dart
│ │ │ ├── deprecations.pb.dart
│ │ │ ├── deprecations.pbenum.dart
│ │ │ ├── doc_comments.pb.dart
│ │ │ ├── doc_comments.pbenum.dart
│ │ │ ├── enum.pbenum.dart
│ │ │ ├── enum.pbenum.dart.meta
│ │ │ ├── extension.pb.dart
│ │ │ ├── extension.pb.dart.meta
│ │ │ ├── grpc_service.pb.dart
│ │ │ ├── grpc_service.pbgrpc.~dart
│ │ │ ├── header_in_package.pb.dart
│ │ │ ├── header_with_fixnum.pb.dart
│ │ │ ├── imports.pb.dart
│ │ │ ├── imports.pbjson.dart
│ │ │ ├── int64.pb.dart
│ │ │ ├── messageGenerator.pb.dart
│ │ │ ├── messageGenerator.pb.dart.meta
│ │ │ ├── messageGeneratorEnums.pb.dart
│ │ │ ├── messageGeneratorEnums.pb.dart.meta
│ │ │ ├── oneMessage.pb.dart
│ │ │ ├── oneMessage.pb.dart.meta
│ │ │ ├── oneMessage.pbjson.dart
│ │ │ ├── service.pb.dart
│ │ │ ├── service.pbserver.dart
│ │ │ ├── serviceGenerator.pb.dart
│ │ │ ├── serviceGenerator.pbjson.dart
│ │ │ ├── topLevelEnum.pb.dart
│ │ │ ├── topLevelEnum.pb.dart.meta
│ │ │ ├── topLevelEnum.pbenum.dart
│ │ │ ├── topLevelEnum.pbenum.dart.meta
│ │ │ └── topLevelEnum.pbjson.dart
│ │ ├── hash_code_test.dart
│ │ ├── high_tagnumber_test.dart
│ │ ├── import_option_test.dart
│ │ ├── import_public_test.dart
│ │ ├── import_test.dart
│ │ ├── indenting_writer_test.dart
│ │ ├── json_test.dart
│ │ ├── leading_underscores_test.dart
│ │ ├── list_iterator_args_test.dart
│ │ ├── map_field_test.dart
│ │ ├── map_test.dart
│ │ ├── merge_test.dart
│ │ ├── message_generator_test.dart
│ │ ├── message_set_test.dart
│ │ ├── message_test.dart
│ │ ├── mixin_test.dart
│ │ ├── names_test.dart
│ │ ├── omit_enum_names_test.dart
│ │ ├── omit_field_names_test.dart
│ │ ├── omit_message_names_test.dart
│ │ ├── oneof_test.dart
│ │ ├── proto3_json_test.dart
│ │ ├── proto3_optional_test.dart
│ │ ├── protoc_options_test.dart
│ │ ├── protos/
│ │ │ ├── ExtensionEnumNameConflict.proto
│ │ │ ├── ExtensionNameConflict.proto
│ │ │ ├── _leading_underscores.proto
│ │ │ ├── custom_option.proto
│ │ │ ├── custom_option_unlinked.proto
│ │ │ ├── dart_name.proto
│ │ │ ├── default_value_escape.proto
│ │ │ ├── deprecations.proto
│ │ │ ├── doc_comments.proto
│ │ │ ├── duplicate_names_import.proto
│ │ │ ├── entity.proto
│ │ │ ├── enum_extension.proto
│ │ │ ├── enum_name.proto
│ │ │ ├── enum_test.proto
│ │ │ ├── enums.proto
│ │ │ ├── extend_unittest.proto
│ │ │ ├── foo.proto
│ │ │ ├── google/
│ │ │ │ └── protobuf/
│ │ │ │ ├── unittest.proto
│ │ │ │ ├── unittest_import.proto
│ │ │ │ ├── unittest_import_public.proto
│ │ │ │ ├── unittest_optimize_for.proto
│ │ │ │ └── unittest_well_known_types.proto
│ │ │ ├── high_tagnumber.proto
│ │ │ ├── import_clash.proto
│ │ │ ├── import_option.proto
│ │ │ ├── import_public.proto
│ │ │ ├── json_name.proto
│ │ │ ├── map_api.proto
│ │ │ ├── map_api2.proto
│ │ │ ├── map_enum_value.proto
│ │ │ ├── map_field.proto
│ │ │ ├── message_set.proto
│ │ │ ├── mixins.proto
│ │ │ ├── multiple_files_test.proto
│ │ │ ├── nested_any.proto
│ │ │ ├── nested_extension.proto
│ │ │ ├── nested_message.proto
│ │ │ ├── non_nested_extension.proto
│ │ │ ├── oneof.proto
│ │ │ ├── package1.proto
│ │ │ ├── package2.proto
│ │ │ ├── package3.proto
│ │ │ ├── proto2_repeated.proto
│ │ │ ├── proto3_optional.proto
│ │ │ ├── proto3_repeated.proto
│ │ │ ├── reserved_names.proto
│ │ │ ├── reserved_names_extension.proto
│ │ │ ├── reserved_names_message.proto
│ │ │ ├── service.proto
│ │ │ ├── service2.proto
│ │ │ ├── service3.proto
│ │ │ ├── toplevel.proto
│ │ │ ├── toplevel_import.proto
│ │ │ └── using_any.proto
│ │ ├── repeated_encoding_test.dart
│ │ ├── repeated_field_test.dart
│ │ ├── reserved_names_test.dart
│ │ ├── send_protos_via_sendports_test.dart
│ │ ├── service_generator_test.dart
│ │ ├── service_test.dart
│ │ ├── shared_test.dart
│ │ ├── src/
│ │ │ ├── golden_file.dart
│ │ │ ├── mirror_util.dart
│ │ │ ├── service_util.dart
│ │ │ ├── test_features.dart
│ │ │ └── test_util.dart
│ │ ├── timestamp_test.dart
│ │ ├── to_builder_test.dart
│ │ ├── unknown_enums_test.dart
│ │ ├── unknown_field_set_test.dart
│ │ ├── validate_fail_test.dart
│ │ └── wire_format_test.dart
│ └── tool/
│ └── update_protos.dart
├── pubspec.yaml
└── tool/
├── generate.sh
└── setup.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/dependabot.yml
================================================
# Dependabot configuration file.
# See https://docs.github.com/en/code-security/dependabot/dependabot-version-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
================================================
FILE: .github/workflows/benchmark.yaml
================================================
name: benchmarks
permissions: read-all
on:
pull_request:
push:
branches: [master]
schedule:
- cron: "0 0 * * 0" # weekly
defaults:
run:
working-directory: benchmarks
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sdk: [dev]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: ${{matrix.sdk}}
- run: ../tool/setup.sh
- run: dart pub get
- run: ./tool/compile_protos.sh
- run: dart analyze --fatal-infos
- run: dart format --output=none --set-exit-if-changed .
if: ${{ matrix.sdk == 'dev' }}
- run: dart tool/compile_benchmarks.dart
================================================
FILE: .github/workflows/post_summaries.yaml
================================================
name: Comment on the pull request
on:
# Trigger this workflow after the Publish workflow completes. This workflow
# will have permissions to do things like create comments on the PR, even if
# the original workflow couldn't.
workflow_run:
workflows:
- Publish
types:
- completed
jobs:
upload:
uses: dart-lang/ecosystem/.github/workflows/post_summaries.yaml@main
permissions:
pull-requests: write
================================================
FILE: .github/workflows/protobuf.yaml
================================================
name: protobuf
permissions: read-all
on:
pull_request:
push:
branches: [master]
schedule:
- cron: "0 0 * * 0" # weekly
defaults:
run:
working-directory: protobuf
jobs:
build:
strategy:
fail-fast: false
matrix:
sdk: [stable, dev]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: ${{matrix.sdk}}
- run: ../tool/setup.sh
- run: dart pub get
- run: dart analyze --fatal-infos
- run: dart format --output=none --set-exit-if-changed .
if: ${{ matrix.sdk == 'dev' }}
- run: dart test
- run: dart test -p chrome -c dart2js
- run: dart test -p chrome -c dart2wasm
================================================
FILE: .github/workflows/protoc_plugin.yaml
================================================
name: protoc_plugin
permissions: read-all
on:
pull_request:
push:
branches: [master]
schedule:
- cron: "0 0 * * 0" # weekly
defaults:
run:
working-directory: protoc_plugin
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sdk: [stable, dev]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- uses: dart-lang/setup-dart@65eb853c7ba17dde3be364c3d2858773e7144260
with:
sdk: ${{matrix.sdk}}
- run: ../tool/setup.sh
- run: dart pub get
- run: make protos
- run: dart analyze --fatal-infos
- run: dart format --output=none --set-exit-if-changed lib
if: ${{ matrix.sdk == 'dev' }}
- run: dart test
- run: dart test -p chrome -c dart2js
- run: dart test -p chrome -c dart2wasm
================================================
FILE: .github/workflows/publish.yaml
================================================
# A CI configuration to auto-publish pub packages.
name: Publish
on:
pull_request:
branches: [master]
push:
tags: ['[A-z]+-v[0-9]+.[0-9]+.[0-9]+*']
jobs:
publish:
if: ${{ github.repository_owner == 'google' }}
uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main
permissions:
id-token: write
pull-requests: write
with:
write-comments: false
================================================
FILE: .gitignore
================================================
.dart_tool/
.pub
build/
pubspec.lock
doc/
# `dart compile exe` outputs
*.exe
# `dart compile js` outputs
*.js
*.js.deps
*.js.map
# `dart compile wasm` outputs
*.wasm
*.mjs
================================================
FILE: AUTHORS
================================================
# Below is a list of people and organizations that have contributed
# to the Dart project. Names should be added to the list like so:
#
# Name/Organization <email address>
Google Inc.
================================================
FILE: LICENSE
================================================
Copyright 2013, the Dart project authors.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: README.md
================================================
## Protobuf support for Dart
[Protocol Buffers](https://developers.google.com/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 support for Dart](https://pub.dev/documentation/protobuf/latest/).
| Package | Description | Published Version |
| --- | --- | --- |
| [protobuf](protobuf/) | Runtime library for protocol buffers support. | [](https://pub.dev/packages/protobuf) |
| [protoc_plugin](protoc_plugin/) | A protobuf protoc compiler plugin used to generate Dart code. | [](https://pub.dev/packages/protoc_plugin) |
| [benchmarks](benchmarks/) | Benchmarks for various protobuf functions. | |
## Publishing automation
For information about our publishing automation and release process, see
https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
================================================
FILE: analysis_options.yaml
================================================
include: package:lints/recommended.yaml
linter:
rules:
- avoid_bool_literals_in_conditional_expressions
- comment_references
- prefer_relative_imports
================================================
FILE: benchmarks/.gitignore
================================================
# Generated by pub
.dart_tool/
pubspec.lock
lib/generated/
out/
================================================
FILE: benchmarks/README.md
================================================
## Running benchmarks
- Compile protos with `./tool/compile_protos.sh`
- **JIT:** Run benchmark programs in `bin/`, e.g. `dart bin/from_binary.dart`
- **AOT and JS:**
- Compile benchmark programs to native, JS, and JIT snapshots with
`./tool/compile_benchmarks.dart`
- Run benchmark programs in `out/`:
- AOT: `./out/from_binary.exe`
- JS: `d8 $DART_SDK/lib/_internal/js_runtime/lib/preambles/d8.js out/from_binary.js`
- **Wasm:**
- Get the Dart SDK source code following instructions [here][1], and build
`dart2wasm_platform` target with `tools/build.py -m release
dart2wasm_platform`.
- Make sure `$DART_SDK` environment variable set to the path of [Dart SDK's
"sdk" directory][1].
- Compile benchmarks with `./tool/compile_benchmarks.dart --target=<target>`
where `<target>` is one of:
- `wasm`: Default optimized build
- `wasm-omit-checks`: Optimized build with `--omit-checks`
- Run with: `$DART_SDK/bin/run_dart2wasm_d8 out/from_binary.wasm`, or use
`.omit-checks.wasm` extension for the `wasm-omit-checks` target:
`from_binary.omit-checks.wasm`.
[1]: https://github.com/dart-lang/sdk/wiki/Building
[2]: https://github.com/dart-lang/sdk/tree/main/sdk
## Development
`protoc_version` file specifies the version of protoc Golem will use when
building the benchmarks, and allows updating the protoc version without
changing Golem.
================================================
FILE: benchmarks/analysis_options.yaml
================================================
include: ../analysis_options.yaml
================================================
FILE: benchmarks/bin/binary_decode_packed.dart
================================================
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:math';
import 'dart:typed_data';
import 'package:fixnum/fixnum.dart';
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/packed_fields.pb.dart';
PackedFields? sink;
class PackedInt32DecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedInt32DecodingBenchmark() : super('PackedInt32Decoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
message.packedInt32.add(rand.nextInt(2147483647));
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedInt64DecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedInt64DecodingBenchmark() : super('PackedInt64Decoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
// Note: `Random` cannot generate more than the number below.
message.packedInt64.add(Int64(rand.nextInt(4294967296)));
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedUint32DecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedUint32DecodingBenchmark() : super('PackedUint32Decoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
message.packedUint32.add(rand.nextInt(4294967295));
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedUint64DecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedUint64DecodingBenchmark() : super('PackedUint64Decoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
// Note: `Random` cannot generate more than the number below.
message.packedUint64.add(Int64(rand.nextInt(4294967296)));
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedSint32DecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedSint32DecodingBenchmark() : super('PackedSint32Decoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
message.packedSint32.add(rand.nextInt(2147483647));
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedSint64DecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedSint64DecodingBenchmark() : super('PackedSint64Decoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
// Note: `Random` cannot generate more than the number below.
message.packedSint64.add(Int64(rand.nextInt(4294967296)));
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedBoolDecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedBoolDecodingBenchmark() : super('PackedBoolDecoding') {
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 1000000; i += 1) {
message.packedBool.add(rand.nextBool());
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedEnumDecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedEnumDecodingBenchmark() : super('PackedEnumDecoding') {
final rand = Random(123);
final message = PackedFields();
final numEnums = Enum1.values.length;
for (var i = 0; i < 1000000; i += 1) {
message.packedEnum1.add(Enum1.values[rand.nextInt(numEnums)]);
}
encoded = message.writeToBuffer();
}
@override
void setup() {
// Decode different enums to prevent TFA from specializing enum decoding
// code to one type.
final rand = Random(123);
final message = PackedFields();
for (var i = 0; i < 100; i += 1) {
message.packedEnum1.add(Enum1.values[rand.nextInt(Enum1.values.length)]);
}
for (var i = 0; i < 100; i += 1) {
message.packedEnum2.add(Enum2.values[rand.nextInt(Enum2.values.length)]);
}
final encoded = message.writeToBuffer();
final decoded = PackedFields()..mergeFromBuffer(encoded);
if (decoded.packedEnum1.length != 100) {
throw AssertionError('BUG');
}
if (decoded.packedEnum2.length != 100) {
throw AssertionError('BUG');
}
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
class PackedSparseEnumDecodingBenchmark extends BenchmarkBase {
late final Uint8List encoded;
PackedSparseEnumDecodingBenchmark() : super('PackedSparseEnumDecoding') {
final rand = Random(123);
final message = PackedFields();
final numEnums = SparseEnum.values.length;
for (var i = 0; i < 1000000; i += 1) {
message.sparseEnum.add(SparseEnum.values[rand.nextInt(numEnums)]);
}
encoded = message.writeToBuffer();
}
@override
void run() {
sink = PackedFields()..mergeFromBuffer(encoded);
}
}
void main() {
PackedInt32DecodingBenchmark().report();
PackedInt64DecodingBenchmark().report();
PackedUint32DecodingBenchmark().report();
PackedUint64DecodingBenchmark().report();
PackedSint32DecodingBenchmark().report();
PackedSint64DecodingBenchmark().report();
PackedBoolDecodingBenchmark().report();
PackedEnumDecodingBenchmark().report();
PackedSparseEnumDecodingBenchmark().report();
if (int.parse('1') == 0) print(sink);
}
================================================
FILE: benchmarks/bin/deep_copy.dart
================================================
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink1;
GeneratedMessage? sink2;
GeneratedMessage? sink3;
class Benchmark extends BenchmarkBase {
final p2.GoogleMessage1 _message1Proto2;
final p3.GoogleMessage1 _message1Proto3;
final GoogleMessage2 _message2;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2 = p2.GoogleMessage1.fromBuffer(message1Proto2Input),
_message1Proto3 = p3.GoogleMessage1.fromBuffer(message1Proto3Input),
_message2 = GoogleMessage2.fromBuffer(message2Input);
@override
void run() {
sink1 = _message1Proto2.deepCopy();
sink2 = _message1Proto3.deepCopy();
sink3 = _message2.deepCopy();
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'deep_copy',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/from_binary.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data';
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink1;
GeneratedMessage? sink2;
GeneratedMessage? sink3;
class Benchmark extends BenchmarkBase {
final Uint8List _message1Proto2Input;
final Uint8List _message1Proto3Input;
final Uint8List _message2Input;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2Input = Uint8List.fromList(message1Proto2Input),
_message1Proto3Input = Uint8List.fromList(message1Proto3Input),
_message2Input = Uint8List.fromList(message2Input);
@override
void run() {
sink1 = p2.GoogleMessage1.fromBuffer(_message1Proto2Input);
sink2 = p3.GoogleMessage1.fromBuffer(_message1Proto3Input);
sink3 = GoogleMessage2.fromBuffer(_message2Input);
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'from_binary',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/from_json_string.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink1;
GeneratedMessage? sink2;
GeneratedMessage? sink3;
class Benchmark extends BenchmarkBase {
final String _message1Proto2JsonString;
final String _message1Proto3JsonString;
final String _message2JsonString;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2JsonString =
p2.GoogleMessage1.fromBuffer(message1Proto2Input).writeToJson(),
_message1Proto3JsonString =
p3.GoogleMessage1.fromBuffer(message1Proto3Input).writeToJson(),
_message2JsonString =
GoogleMessage2.fromBuffer(message2Input).writeToJson();
@override
void run() {
sink1 = p2.GoogleMessage1.fromJson(_message1Proto2JsonString);
sink2 = p3.GoogleMessage1.fromJson(_message1Proto3JsonString);
sink3 = GoogleMessage2.fromJson(_message2JsonString);
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'from_json_string',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/from_proto3_json_object.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink1;
GeneratedMessage? sink2;
GeneratedMessage? sink3;
class Benchmark extends BenchmarkBase {
final Object? _message1Proto2Proto3JsonObject;
final Object? _message1Proto3Proto3JsonObject;
final Object? _message2Proto3JsonObject;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2Proto3JsonObject =
p2.GoogleMessage1.fromBuffer(message1Proto2Input).toProto3Json(),
_message1Proto3Proto3JsonObject =
p3.GoogleMessage1.fromBuffer(message1Proto3Input).toProto3Json(),
_message2Proto3JsonObject =
GoogleMessage2.fromBuffer(message2Input).toProto3Json();
@override
void run() {
sink1 =
p2.GoogleMessage1.create()
..mergeFromProto3Json(_message1Proto2Proto3JsonObject);
sink2 =
p3.GoogleMessage1.create()
..mergeFromProto3Json(_message1Proto3Proto3JsonObject);
sink3 =
GoogleMessage2.create()..mergeFromProto3Json(_message2Proto3JsonObject);
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'from_proto3_json_object',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/from_proto3_json_string.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:convert' show jsonDecode, jsonEncode;
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink1;
GeneratedMessage? sink2;
GeneratedMessage? sink3;
class Benchmark extends BenchmarkBase {
final String _message1Proto2Proto3JsonString;
final String _message1Proto3Proto3JsonString;
final String _message2Proto3JsonString;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2Proto3JsonString = jsonEncode(
p2.GoogleMessage1.fromBuffer(message1Proto2Input).toProto3Json(),
),
_message1Proto3Proto3JsonString = jsonEncode(
p3.GoogleMessage1.fromBuffer(message1Proto3Input).toProto3Json(),
),
_message2Proto3JsonString = jsonEncode(
GoogleMessage2.fromBuffer(message2Input).toProto3Json(),
);
@override
void run() {
sink1 =
p2.GoogleMessage1.create()
..mergeFromProto3Json(jsonDecode(_message1Proto2Proto3JsonString));
sink2 =
p3.GoogleMessage1.create()
..mergeFromProto3Json(jsonDecode(_message1Proto3Proto3JsonString));
sink3 =
GoogleMessage2.create()
..mergeFromProto3Json(jsonDecode(_message2Proto3JsonString));
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'from_proto3_json_string',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/hash_code.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
int sink1 = 0;
int sink2 = 0;
int sink3 = 0;
class Benchmark extends BenchmarkBase {
final p2.GoogleMessage1 _message1Proto2;
final p3.GoogleMessage1 _message1Proto3;
final GoogleMessage2 _message2;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2 = p2.GoogleMessage1.fromBuffer(message1Proto2Input),
_message1Proto3 = p3.GoogleMessage1.fromBuffer(message1Proto3Input),
_message2 = GoogleMessage2.fromBuffer(message2Input);
@override
void run() {
sink1 = _message1Proto2.hashCode;
sink2 = _message1Proto3.hashCode;
sink3 = _message2.hashCode;
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'hash_code',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/query_decode_binary.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/f0.pb.dart' as f0;
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink;
class Benchmark extends BenchmarkBase {
final List<int> _input;
Benchmark(super.name, this._input);
@override
void run() {
sink = f0.A0.fromBuffer(_input);
}
}
void main() {
final List<int> encoded = readfile('datasets/query_benchmark.pb');
Benchmark('query_decode_binary', encoded).report();
if (int.parse('1') == 0) {
print(sink);
}
}
================================================
FILE: benchmarks/bin/query_decode_json.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/f0.pb.dart' as f0;
import 'package:protobuf_benchmarks/readfile.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink;
class Benchmark extends BenchmarkBase {
final String _input;
Benchmark(super.name, List<int> input)
: _input = f0.A0.fromBuffer(input).writeToJson();
@override
void run() {
sink = f0.A0.fromJson(_input);
}
}
void main() {
final List<int> encoded = readfile('datasets/query_benchmark.pb');
Benchmark('query_decode_json', encoded).report();
if (int.parse('1') == 0) {
print(sink);
}
}
================================================
FILE: benchmarks/bin/query_encode_binary.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/f0.pb.dart' as f0;
import 'package:protobuf_benchmarks/readfile.dart';
import 'dart:typed_data';
Uint8List? sink;
class Benchmark extends BenchmarkBase {
final f0.A0 _input;
Benchmark(super.name, List<int> input) : _input = f0.A0.fromBuffer(input);
@override
void run() {
sink = _input.writeToBuffer();
}
}
void main() {
final List<int> encoded = readfile('datasets/query_benchmark.pb');
Benchmark('query_encode_binary', encoded).report();
if (int.parse('1') == 0) {
print(sink);
}
}
================================================
FILE: benchmarks/bin/query_encode_json.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/f0.pb.dart' as f0;
import 'package:protobuf_benchmarks/readfile.dart';
String? sink;
class Benchmark extends BenchmarkBase {
final f0.A0 _input;
Benchmark(super.name, List<int> input) : _input = f0.A0.fromBuffer(input);
@override
void run() {
sink = _input.writeToJson();
}
}
void main() {
final List<int> encoded = readfile('datasets/query_benchmark.pb');
Benchmark('query_encode_json', encoded).report();
if (int.parse('1') == 0) {
print(sink);
}
}
================================================
FILE: benchmarks/bin/query_set_nested_value.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf/protobuf.dart';
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/f0.pb.dart' as f0;
import 'package:protobuf_benchmarks/generated/f19.pb.dart' as f19;
import 'package:protobuf_benchmarks/generated/f2.pb.dart' as f2;
import 'package:protobuf_benchmarks/readfile.dart';
GeneratedMessage? sink;
class Benchmark extends BenchmarkBase {
final f0.A0 _input;
Benchmark(super.name, List<int> input)
: _input = f0.A0.fromBuffer(input)..freeze();
@override
void run() {
sink = _input.rebuild((f0.A0 a0Builder) {
a0Builder.a4.last = a0Builder.a4.last.rebuild((f2.A1 a1builder) {
a1builder.a378 = a1builder.a378.rebuild(
(f19.A220 a220builder) => a220builder.a234 = 'new_value',
);
});
});
}
}
void main() {
final List<int> encoded = readfile('datasets/query_benchmark.pb');
Benchmark('query_set_nested_value', encoded).report();
if (int.parse('1') == 0) {
print(sink);
}
}
================================================
FILE: benchmarks/bin/repeated_field.dart
================================================
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data';
import 'package:fixnum/fixnum.dart';
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/f12.pb.dart' as f12;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf/protobuf.dart';
GeneratedMessage? sink;
class RepeatedBenchmark extends BenchmarkBase {
final Uint8List _buffer;
RepeatedBenchmark(super.name, GoogleMessage2 message)
: _buffer = message.writeToBuffer();
@override
void run() {
sink = GoogleMessage2.fromBuffer(_buffer);
}
}
class RepeatedEnumBenchmark extends BenchmarkBase {
final Uint8List _buffer;
RepeatedEnumBenchmark(super.name, f12.A58 message)
: _buffer = message.writeToBuffer();
@override
void run() {
sink = f12.A58.fromBuffer(_buffer);
}
}
void main() {
const kSize = 500000;
RepeatedBenchmark(
'repeated_int64',
GoogleMessage2(field130: List<Int64>.generate(kSize, Int64.new)),
).report();
RepeatedBenchmark(
'repeated_string',
GoogleMessage2(field128: List<String>.generate(kSize, (i) => i.toString())),
).report();
RepeatedEnumBenchmark(
'repeated_enum',
f12.A58(a306: List<f12.A322>.generate(kSize, (_) => f12.A322.A324)),
).report();
if (int.parse('1') == 0) {
print(sink);
}
}
================================================
FILE: benchmarks/bin/to_binary.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
import 'dart:typed_data';
Uint8List? sink1;
Uint8List? sink2;
Uint8List? sink3;
class Benchmark extends BenchmarkBase {
final p2.GoogleMessage1 _message1Proto2;
final p3.GoogleMessage1 _message1Proto3;
final GoogleMessage2 _message2;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2 = p2.GoogleMessage1.fromBuffer(message1Proto2Input),
_message1Proto3 = p3.GoogleMessage1.fromBuffer(message1Proto3Input),
_message2 = GoogleMessage2.fromBuffer(message2Input);
@override
void run() {
sink1 = _message1Proto2.writeToBuffer();
sink2 = _message1Proto3.writeToBuffer();
sink3 = _message2.writeToBuffer();
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'to_binary',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/to_json_string.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
String? sink1;
String? sink2;
String? sink3;
class Benchmark extends BenchmarkBase {
final p2.GoogleMessage1 _message1Proto2;
final p3.GoogleMessage1 _message1Proto3;
final GoogleMessage2 _message2;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2 = p2.GoogleMessage1.fromBuffer(message1Proto2Input),
_message1Proto3 = p3.GoogleMessage1.fromBuffer(message1Proto3Input),
_message2 = GoogleMessage2.fromBuffer(message2Input);
@override
void run() {
sink1 = _message1Proto2.writeToJson();
sink2 = _message1Proto3.writeToJson();
sink3 = _message2.writeToJson();
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'to_json_string',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/to_proto3_json_object.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
Object? sink1;
Object? sink2;
Object? sink3;
class Benchmark extends BenchmarkBase {
final p2.GoogleMessage1 _message1Proto2;
final p3.GoogleMessage1 _message1Proto3;
final GoogleMessage2 _message2;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2 = p2.GoogleMessage1.fromBuffer(message1Proto2Input),
_message1Proto3 = p3.GoogleMessage1.fromBuffer(message1Proto3Input),
_message2 = GoogleMessage2.fromBuffer(message2Input);
@override
void run() {
sink1 = _message1Proto2.toProto3Json();
sink2 = _message1Proto3.toProto3Json();
sink3 = _message2.toProto3Json();
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'to_proto3_json_object',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/bin/to_proto3_json_string.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:convert' show jsonEncode;
import 'package:protobuf_benchmarks/benchmark_base.dart';
import 'package:protobuf_benchmarks/generated/google_message1_proto2.pb.dart'
as p2;
import 'package:protobuf_benchmarks/generated/google_message1_proto3.pb.dart'
as p3;
import 'package:protobuf_benchmarks/generated/google_message2.pb.dart';
import 'package:protobuf_benchmarks/readfile.dart';
String? sink1;
String? sink2;
String? sink3;
class Benchmark extends BenchmarkBase {
final p2.GoogleMessage1 _message1Proto2;
final p3.GoogleMessage1 _message1Proto3;
final GoogleMessage2 _message2;
Benchmark(
super.name,
List<int> message1Proto2Input,
List<int> message1Proto3Input,
List<int> message2Input,
) : _message1Proto2 = p2.GoogleMessage1.fromBuffer(message1Proto2Input),
_message1Proto3 = p3.GoogleMessage1.fromBuffer(message1Proto3Input),
_message2 = GoogleMessage2.fromBuffer(message2Input);
@override
void run() {
sink1 = jsonEncode(_message1Proto2.toProto3Json());
sink2 = jsonEncode(_message1Proto3.toProto3Json());
sink3 = jsonEncode(_message2.toProto3Json());
}
}
void main() {
final List<int> message1Proto2Input = readfile(
'datasets/google_message1_proto2.pb',
);
final List<int> message1Proto3Input = readfile(
'datasets/google_message1_proto3.pb',
);
final List<int> message2Input = readfile('datasets/google_message2.pb');
Benchmark(
'to_proto3_json_string',
message1Proto2Input,
message1Proto3Input,
message2Input,
).report();
if (int.parse('1') == 0) {
print(sink1);
print(sink2);
print(sink3);
}
}
================================================
FILE: benchmarks/lib/benchmark_base.dart
================================================
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:benchmark_harness/benchmark_harness.dart' as bh;
/// A subclass of [bh.BenchmarkBase] with a few changes:
///
/// - Work around https://github.com/dart-lang/benchmark_harness/issues/30 by
/// dividing the result by 10.
///
/// - Report the results as "RunTimeRaw" instead of "RunTime". What
/// benchmark_harness calls "RunTime" is called "RunTimeRaw" in Golem.
///
/// - Add "protobuf_" prefix to test names. This is to make it easier to see
/// what the benchmarks are about in Golem UI.
///
abstract class BenchmarkBase extends bh.BenchmarkBase {
BenchmarkBase(super.name) : super(emitter: const _ResultPrinter());
@override
double measure() {
return super.measure() / 10;
}
}
class _ResultPrinter implements bh.ScoreEmitter {
const _ResultPrinter() : super();
@override
void emit(String testName, double value) {
// Same as the default, but prints "RunTimeRaw" instead of "RunTime"
print('protobuf_$testName(RunTimeRaw): $value us.');
}
}
================================================
FILE: benchmarks/lib/readfile.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
export 'readfile_vm.dart'
if (dart.library.js_interop) 'readfile_js.dart'
show readfile;
================================================
FILE: benchmarks/lib/readfile_js.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:js_interop';
import 'dart:typed_data';
/// Read the file at the given [path].
///
/// This relies on the `readbuffer` function provided by d8.
@JS()
external JSArrayBuffer readbuffer(String path);
/// Read the file at the given [path].
Uint8List readfile(String path) {
// Copy the contents to a new `Uint8List` to make sure in dart2wasm we
// benchmark with the native arrays instead of JS arrays.
return Uint8List.fromList(readbuffer(path).toDart.asUint8List());
}
================================================
FILE: benchmarks/lib/readfile_vm.dart
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:io';
import 'dart:typed_data';
Uint8List readfile(String path) {
return File(path).readAsBytesSync();
}
================================================
FILE: benchmarks/protoc_version
================================================
21.2
================================================
FILE: benchmarks/protos/google_message1_proto2.proto
================================================
// Benchmark messages for proto2.
syntax = "proto2";
package benchmarks.proto2;
option java_package = "com.google.protobuf.benchmarks";
// This is the default, but we specify it here explicitly.
option optimize_for = SPEED;
option cc_enable_arenas = true;
message GoogleMessage1 {
required string field1 = 1;
optional string field9 = 9;
optional string field18 = 18;
optional bool field80 = 80 [default = false];
optional bool field81 = 81 [default = true];
required int32 field2 = 2;
required int32 field3 = 3;
optional int32 field280 = 280;
optional int32 field6 = 6 [default = 0];
optional int64 field22 = 22;
optional string field4 = 4;
repeated fixed64 field5 = 5;
optional bool field59 = 59 [default = false];
optional string field7 = 7;
optional int32 field16 = 16;
optional int32 field130 = 130 [default = 0];
optional bool field12 = 12 [default = true];
optional bool field17 = 17 [default = true];
optional bool field13 = 13 [default = true];
optional bool field14 = 14 [default = true];
optional int32 field104 = 104 [default = 0];
optional int32 field100 = 100 [default = 0];
optional int32 field101 = 101 [default = 0];
optional string field102 = 102;
optional string field103 = 103;
optional int32 field29 = 29 [default = 0];
optional bool field30 = 30 [default = false];
optional int32 field60 = 60 [default = -1];
optional int32 field271 = 271 [default = -1];
optional int32 field272 = 272 [default = -1];
optional int32 field150 = 150;
optional int32 field23 = 23 [default = 0];
optional bool field24 = 24 [default = false];
optional int32 field25 = 25 [default = 0];
optional GoogleMessage1SubMessage field15 = 15;
optional bool field78 = 78;
optional int32 field67 = 67 [default = 0];
optional int32 field68 = 68;
optional int32 field128 = 128 [default = 0];
optional string field129 = 129 [default = "xxxxxxxxxxxxxxxxxxxxx"];
optional int32 field131 = 131 [default = 0];
}
message GoogleMessage1SubMessage {
optional int32 field1 = 1 [default = 0];
optional int32 field2 = 2 [default = 0];
optional int32 field3 = 3 [default = 0];
optional string field15 = 15;
optional bool field12 = 12 [default = true];
optional int64 field13 = 13;
optional int64 field14 = 14;
optional int32 field16 = 16;
optional int32 field19 = 19 [default = 2];
optional bool field20 = 20 [default = true];
optional bool field28 = 28 [default = true];
optional fixed64 field21 = 21;
optional int32 field22 = 22;
optional bool field23 = 23 [default = false];
optional bool field206 = 206 [default = false];
optional fixed32 field203 = 203;
optional int32 field204 = 204;
optional string field205 = 205;
optional uint64 field207 = 207;
optional uint64 field300 = 300;
}
================================================
FILE: benchmarks/protos/google_message1_proto3.proto
================================================
// Benchmark messages for proto3.
syntax = "proto3";
package benchmarks.proto3;
option java_package = "com.google.protobuf.benchmarks";
// This is the default, but we specify it here explicitly.
option optimize_for = SPEED;
option cc_enable_arenas = true;
message GoogleMessage1 {
string field1 = 1;
string field9 = 9;
string field18 = 18;
bool field80 = 80;
bool field81 = 81;
int32 field2 = 2;
int32 field3 = 3;
int32 field280 = 280;
int32 field6 = 6;
int64 field22 = 22;
string field4 = 4;
repeated fixed64 field5 = 5;
bool field59 = 59;
string field7 = 7;
int32 field16 = 16;
int32 field130 = 130;
bool field12 = 12;
bool field17 = 17;
bool field13 = 13;
bool field14 = 14;
int32 field104 = 104;
int32 field100 = 100;
int32 field101 = 101;
string field102 = 102;
string field103 = 103;
int32 field29 = 29;
bool field30 = 30;
int32 field60 = 60;
int32 field271 = 271;
int32 field272 = 272;
int32 field150 = 150;
int32 field23 = 23;
bool field24 = 24;
int32 field25 = 25;
GoogleMessage1SubMessage field15 = 15;
bool field78 = 78;
int32 field67 = 67;
int32 field68 = 68;
int32 field128 = 128;
string field129 = 129;
int32 field131 = 131;
}
message GoogleMessage1SubMessage {
int32 field1 = 1;
int32 field2 = 2;
int32 field3 = 3;
string field15 = 15;
bool field12 = 12;
int64 field13 = 13;
int64 field14 = 14;
int32 field16 = 16;
int32 field19 = 19;
bool field20 = 20;
bool field28 = 28;
fixed64 field21 = 21;
int32 field22 = 22;
bool field23 = 23;
bool field206 = 206;
fixed32 field203 = 203;
int32 field204 = 204;
string field205 = 205;
uint64 field207 = 207;
uint64 field300 = 300;
}
================================================
FILE: benchmarks/protos/google_message2.proto
================================================
// Benchmark messages for proto2.
syntax = "proto2";
package benchmarks.proto2;
option java_package = "com.google.protobuf.benchmarks";
// This is the default, but we specify it here explicitly.
option optimize_for = SPEED;
option cc_enable_arenas = true;
message GoogleMessage2 {
optional string field1 = 1;
optional int64 field3 = 3;
optional int64 field4 = 4;
optional int64 field30 = 30;
optional bool field75 = 75 [default = false];
optional string field6 = 6;
optional bytes field2 = 2;
optional int32 field21 = 21 [default = 0];
optional int32 field71 = 71;
optional float field25 = 25;
optional int32 field109 = 109 [default = 0];
optional int32 field210 = 210 [default = 0];
optional int32 field211 = 211 [default = 0];
optional int32 field212 = 212 [default = 0];
optional int32 field213 = 213 [default = 0];
optional int32 field216 = 216 [default = 0];
optional int32 field217 = 217 [default = 0];
optional int32 field218 = 218 [default = 0];
optional int32 field220 = 220 [default = 0];
optional int32 field221 = 221 [default = 0];
optional float field222 = 222 [default = 0.0];
optional int32 field63 = 63;
repeated group Group1 = 10 {
required float field11 = 11;
optional float field26 = 26;
optional string field12 = 12;
optional string field13 = 13;
repeated string field14 = 14;
required uint64 field15 = 15;
optional int32 field5 = 5;
optional string field27 = 27;
optional int32 field28 = 28;
optional string field29 = 29;
optional string field16 = 16;
repeated string field22 = 22;
repeated int32 field73 = 73;
optional int32 field20 = 20 [default = 0];
optional string field24 = 24;
optional GoogleMessage2GroupedMessage field31 = 31;
}
repeated string field128 = 128;
optional int64 field131 = 131;
repeated string field127 = 127;
optional int32 field129 = 129;
repeated int64 field130 = 130;
optional bool field205 = 205 [default = false];
optional bool field206 = 206 [default = false];
}
message GoogleMessage2GroupedMessage {
optional float field1 = 1;
optional float field2 = 2;
optional float field3 = 3 [default = 0.0];
optional bool field4 = 4;
optional bool field5 = 5;
optional bool field6 = 6 [default = true];
optional bool field7 = 7 [default = false];
optional float field8 = 8;
optional bool field9 = 9;
optional float field10 = 10;
optional int64 field11 = 11;
}
================================================
FILE: benchmarks/protos/packed_fields.proto
================================================
syntax = "proto3";
message PackedFields {
repeated int32 packedInt32 = 1 [packed = true];
repeated int64 packedInt64 = 2 [packed = true];
repeated uint32 packedUint32 = 3 [packed = true];
repeated uint64 packedUint64 = 4 [packed = true];
repeated sint32 packedSint32 = 5 [packed = true];
repeated sint64 packedSint64 = 6 [packed = true];
repeated bool packedBool = 7 [packed = true];
repeated Enum1 packedEnum1 = 8 [packed = true];
repeated Enum2 packedEnum2 = 9 [packed = true];
repeated SparseEnum sparseEnum = 10 [packed = true];
}
enum Enum1 {
ENUM_1_1 = 0;
ENUM_1_2 = 1;
ENUM_1_3 = 2;
ENUM_1_4 = 4;
ENUM_1_5 = 5;
}
enum Enum2 {
ENUM_2_1 = 0;
ENUM_2_2 = 1;
ENUM_2_3 = 2;
ENUM_2_4 = 4;
ENUM_2_5 = 5;
}
// An enum with large gaps between the known values, and with negative values.
//
// This will be slower to decode as the varint to enum value mapping needs to be
// done with binary search, or map lookup etc.
enum SparseEnum {
ENUM_ZERO = 0;
ENUM_MIN_INT = -2147483648;
ENUM_1 = -1000000000;
ENUM_2 = -100000000;
ENUM_3 = -10000000;
ENUM_4 = -1000000;
ENUM_5 = -100000;
ENUM_6 = 100000;
ENUM_7 = 1000000;
ENUM_8 = 10000000;
ENUM_9 = 100000000;
ENUM_10 = 1000000000;
ENUM_MAX_INT = 2147483647;
}
================================================
FILE: benchmarks/protos/query_benchmark/f0.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a2.a3;
import "f2.proto";
import "f3.proto";
message A0 {
repeated .a0.a1.a2.a3.A1 a4 = 1;
optional string a5 = 3;
enum A2 {
A3 = 0;
A4 = 1;
A5 = 2;
A6 = 3;
A7 = 4;
A8 = 5;
}
optional A2 a6 = 2;
optional a7.A9 a8 = 4;
}
================================================
FILE: benchmarks/protos/query_benchmark/f1.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a274;
import "f5.proto";
message A313 {
optional int32 a90 = 1;
optional int32 a275 = 2;
}
message A314 {
repeated A313 a276 = 1;
}
message A315 {
optional string a277 = 1;
optional a10.A113.A59 a99 = 2;
optional int64 a278 = 3;
repeated string a279 = 4;
}
message A316 {
optional string a280 = 1;
optional int64 a281 = 2;
repeated A315 a282 = 3;
}
message A317 {
repeated A316 a283 = 1;
}
extend a10.A56 {
repeated A313 a276 = 134096400;
optional A314 a284 = 141473177;
}
message A318 {
message A319 {
optional int32 a285 = 1;
optional string a54 = 2;
}
repeated A319 a286 = 1;
}
extend a10.A57 {
optional int32 a287 = 134096400;
optional A318 a288 = 185706300;
}
================================================
FILE: benchmarks/protos/query_benchmark/f10.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a10.a68;
message A102 {
optional string a52 = 1;
optional uint64 a69 = 2;
optional uint64 a70 = 3;
optional uint64 a71 = 4;
}
message A103 {
optional string a52 = 1;
optional uint64 a72 = 2;
repeated A102 a73 = 3;
}
message A104 {
repeated A103 message = 1;
optional string a74 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f11.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f12.proto";
message A105 {
optional string a75 = 1;
};
message A106 {
optional A105 a76 = 1;
optional string a77 = 3;
};
message A107 {
optional string a78 = 1;
}
================================================
FILE: benchmarks/protos/query_benchmark/f12.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
import "f25.proto";
import "f5.proto";
package a260;
enum A322 {
A323 = 0;
A324 = 999;
A325 = 1000;
A326 = 1001;
A327 = 1002;
A328 = 1003;
A329 = 1004;
A330 = 1005;
A331 = 1006;
A332 = 1007;
A333 = 1008;
A334 = 1100;
A335 = 1102;
A336 = 1103;
A337 = 1104;
A338 = 1105;
A339 = 1106;
A340 = 1107;
A341 = 1108;
A342 = 1109;
A343 = 1200;
A344 = 1201;
A345 = 1203;
A346 = 1204;
A347 = 1202;
A348 = 1211;
A349 = 1212;
A350 = 1220;
A351 = 1221;
A352 = 1222;
A353 = 1223;
A354 = 1240;
A355 = 1300;
A356 = 1301;
A357 = 1400;
A358 = 1401;
A359 = 1500;
A360 = 1501;
A361 = 1600;
A362 = 1601;
A363 = 1700;
A364 = 1701;
A365 = 1702;
A366 = 1800;
A367 = 1801;
A368 = 1802;
A369 = 1803;
A370 = 1900;
A371 = 1901;
A372 = 2000;
A373 = 2100;
A374 = 2101;
A375 = 2300;
A376 = 2400;
A377 = 2500;
A378 = 2600;
A379 = 2601;
A380 = 2602;
A381 = 2603;
A382 = 9900;
A383 = 9901;
A384 = 9902;
A385 = 9903;
A386 = 9904;
A387 = 9905;
};
message A388 {
optional bool a293 = 1 [default = false];
optional bool a294 = 2 [default = false];
optional bool a295 = 3 [default = false];
optional bool a296 = 4 [default = false];
optional bool a297 = 5 [default = false];
optional bool a298 = 6 [default = false];
optional bool a15 = 7 [default = false];
optional int32 a299 = 8;
optional bool a300 = 9 [default = false];
optional bool a301 = 10 [default = false];
optional bool a302 = 11 [default = false];
optional bool a303 = 13 [default = false];
optional bool a304 = 12 [default = false];
};
message A389 {
optional bool a300 = 1 [default = false];
optional bool a305 = 2 [default = false];
};
enum A390 {
A391 = 0;
A392 = 1;
A393 = 2;
A394 = 3;
A395 = 4;
A396 = 5;
A397 = 6;
A398 = 7;
};
extend a10.A56 {
optional A322 a306 = 40075780;
optional A388 a307 = 40270992;
optional A389 a308 = 69646961;
optional A399 a309 = 40093572;
optional A390 a310 = 40221563;
repeated A308 a311 = 40223876;
};
extend a10.A57 {
optional A322 a312 = 41149386;
optional A388 a313 = 41551199;
optional A389 a314 = 69646961;
optional A58 a21 = 41744383;
repeated A308 a315 = 41909987;
};
message A399 {
repeated A322 a306 = 1;
};
message A58 {
repeated A322 a306 = 1;
};
extend a10.A60 {
optional bool a316 = 43601160;
optional string a317 = 71304954;
};
================================================
FILE: benchmarks/protos/query_benchmark/f13.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto3";
package a205.a206;
message A190 {
int64 a258 = 1;
int32 a259 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f14.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a10.a68.a211;
message A192 {
message A193 {
optional string a52 = 1;
optional int32 a97 = 2;
optional string a212 = 3;
optional string a213 = 4;
optional bool a214 = 5 [default = true];
optional bool a215 = 6;
optional uint32 a216 = 7 [default = 2];
}
repeated A193 a86 = 2;
message A194 {
optional string a52 = 1;
optional string a213 = 2;
optional bool a214 = 3 [default = true];
optional uint32 a216 = 4 [default = 2];
}
repeated A194 a217 = 3;
message A195 {
optional string a52 = 1;
optional string a213 = 2;
optional bool a214 = 3 [default = true];
optional uint32 a216 = 4 [default = 2];
}
repeated A195 a218 = 4;
}
================================================
FILE: benchmarks/protos/query_benchmark/f15.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto3";
package a46.a47.a1.a48.a49.a4;
import "f12.proto";
message A196 {
string a219 = 1;
A197 a220 = 2;
}
message A197 {
enum A198 {
A199 = 0;
A200 = 1;
A201 = 2;
A202 = 3;
A203 = 4;
A204 = 5;
A205 = 6;
A206 = 7;
A207 = 8;
A208 = 9;
A209 = 10;
}
A198 a221 = 1;
string a222 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f16.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f17.proto";
import "f18.proto";
import "f12.proto";
message A210 {
enum A211 {
A212 = 0;
A213 = 1;
A214 = 2;
}
optional string a223 = 1;
optional string a224 = 3;
message A215 {
repeated A216 a225 = 1;
}
optional A215 a226 = 2;
optional A211 a227 = 4;
optional bool a228 = 5;
}
message A217 {
optional A218 a229 = 1;
message A219 {
repeated A216 a230 = 1;
}
optional A219 a231 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f17.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f4.proto";
import "f12.proto";
message A320 {
optional string a375 = 1;
optional bytes a376 = 2;
}
message A216 {
optional string a377 = 1;
optional A320 a105 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f18.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f12.proto";
message A218 {
enum A400 {
A401 = 0;
A402 = 1;
A235 = 2;
A403 = 3;
A404 = 4;
A405 = 5;
A406 = 6;
A407 = 7;
A408 = 16;
A409 = 8;
A410 = 9;
A411 = 10;
A412 = 11;
A413 = 12;
A414 = 13;
A415 = 14;
A416 = 15;
A417 = 17;
A418 = 20;
}
optional A400 a318 = 1 [default = A401];
optional string a319 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f19.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a232;
import "f1.proto";
message A220 {
optional A221 a233 = 7;
optional string a234 = 1;
optional bytes a235 = 5;
optional string a236 = 8;
optional string a237 = 6;
optional string a238 = 2;
optional int32 a239 = 3;
optional int32 a240 = 4;
extensions 192367380;
}
enum A221 {
A222 = 0;
A223 = 1;
}
enum A224 {
A225 = 0;
A226 = 1;
A227 = 2;
A228 = 3;
A229 = 4;
};
================================================
FILE: benchmarks/protos/query_benchmark/f2.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a2.a3;
import "f1.proto";
import "f19.proto";
import "f20.proto";
import "f15.proto";
import "f9.proto";
message A1 {
optional .a0.a1.a232.A220 a378 = 1;
optional .a0.a1.a232.A220 a379 = 2;
optional .a46.a47.a1.a48.a49.a4.A196 a380 = 5;
message A465 {
optional string a381 = 1;
optional string a234 = 2;
optional string a382 = 3;
optional string a383 = 4;
optional string a384 = 10;
optional string a385 = 5;
optional string a386 = 6;
optional string a387 = 7;
optional int64 a388 = 8;
optional string a194 = 9;
}
optional A465 a389 = 3;
message A466 {
optional float a390 = 1;
optional float a391 = 2;
optional float a392 = 3;
optional float a393 = 4;
}
optional A466 a394 = 4;
optional string a395 = 6;
optional A467 a274 = 7;
repeated A468 a396 = 8;
optional bool a397 = 9;
message A469 {
optional .a0.a1.a232.A230 a397 = 1;
optional .a0.a1.a232.A230 a398 = 2;
optional .a0.a1.a232.A230 a399 = 3;
}
optional A469 a400 = 10;
}
message A467 {
message A470 {
optional .a46.a47.a1.a48.a49.a4.A99 a401 = 9;
optional .a46.a47.a1.a48.a49.a4.A100 a402 = 10;
optional .a46.a47.a1.a48.a49.a4.A101 a403 = 11;
}
optional A470 a404 = 1;
}
message A468 {
optional string a395 = 1;
optional A471 a405 = 2;
optional string a406 = 3;
}
message A471 {
optional float a390 = 1;
optional float a392 = 2;
optional float a391 = 3;
optional float a393 = 4;
}
================================================
FILE: benchmarks/protos/query_benchmark/f20.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a232;
import "f1.proto";
import "f21.proto";
import "f22.proto";
message A230 {
optional string a222 = 1;
optional string a224 = 2;
optional a0.a1.A231 a241 = 5;
optional A232 a242 = 3;
reserved 4;
}
================================================
FILE: benchmarks/protos/query_benchmark/f21.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f17.proto";
import "f12.proto";
message A232 {
optional string a289 = 1;
optional string a290 = 3;
map<string, A320> a291 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f22.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f8.proto";
import "f1.proto";
import "f21.proto";
import "f16.proto";
import "f7.proto";
import "f27.proto";
import "f28.proto";
import "f23.proto";
import "f11.proto";
import "f24.proto";
import "f4.proto";
import "f12.proto";
message A419 {
repeated A420 a320 = 1;
optional A321 a291 = 2;
};
message A421 {
optional bytes a321 = 1;
optional bool a322 = 6 [default = false];
optional bytes a323 = 2;
repeated A420 a324 = 3;
optional A321 a325 = 4;
optional A231 a241 = 5;
map<string, A231> a326 = 7;
optional A422 a327 = 8;
optional string a224 = 9;
};
message A420 {
optional int32 a328 = 1;
optional int32 a329 = 2;
oneof a99 {
A423 a330 = 3;
A424 a331 = 4;
}
}
message A423 {
optional a0.a1.a232.A239 a332 = 6;
optional string a224 = 7;
optional A231 a241 = 8;
oneof a99 {
a0.a1.A106 a333 = 1;
a0.a1.A293 a334 = 4;
A217 a335 = 3;
A232 a242 = 5;
}
reserved 2;
}
message A424 {
optional a0.a1.a232.A239 a336 = 3;
optional a0.a1.a232.A241 a337 = 7;
optional a0.a1.A107 a338 = 1;
optional A210 a2 = 2;
optional A425 a339 = 5;
optional bytes a340 = 4;
optional bool a341 = 6 [default = false];
optional A231 a241 = 16;
}
message A425 {
enum A426 {
A235 = 0;
A427 = 1;
A428 = 2;
A429 = 3;
}
optional A426 a342 = 1;
}
message A231 {
optional bool a322 = 1 [default = false];
optional bool a341 = 2 [default = false];
optional bool a343 = 3 [default = false];
optional int32 a344 = 4;
optional bool a345 = 6;
optional A430 a346 = 5;
optional bytes a347 = 7;
optional A66 a348 = 8;
};
message A430 {
repeated a0.a1.a349.A431 a350 = 5;
repeated A420 a320 = 6;
}
message A432 {
optional string a351 = 1;
optional string a278 = 2;
optional bytes a352 = 3;
optional A66 a348 = 4;
}
message A422 {
repeated A432 a353 = 1;
repeated string a354 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f23.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a232;
import "f1.proto";
import "f4.proto";
import "f12.proto";
message A233 {
enum A234 {
A235 = 0;
A236 = 1;
A237 = 2;
A238 = 3;
}
optional A234 a243 = 1;
optional string a244 = 2;
optional string a245 = 3;
}
message A239 {
optional string a246 = 3;
optional string a247 = 2;
optional string a248 = 8;
optional string a249 = 1;
optional string a250 = 4;
optional string a251 = 5;
optional A240 a252 = 6;
optional string a253 = 7;
optional string a254 = 9;
optional string a255 = 10;
optional string a256 = 11;
}
message A240 {
reserved 3, 4;
optional string a245 = 1;
optional string a257 = 2;
}
message A241 {
enum A59 {
A235 = 0;
A242 = 14;
A243 = 4;
A244 = 47;
A245 = 33;
A246 = 5;
A247 = 45;
A248 = 2;
A249 = 28;
A250 = 13;
A251 = 29;
A252 = 27;
A253 = 42;
A254 = 18;
A255 = 31;
A256 = 25;
A257 = 3;
A258 = 7;
A259 = 8;
A260 = 24;
A261 = 9;
A262 = 6;
A263 = 19;
A264 = 15;
A265 = 10;
A266 = 11;
A267 = 35;
A268 = 20;
A269 = 1;
A270 = 41;
A271 = 12;
A272 = 26;
A273 = 17;
A274 = 34;
A275 = 23;
A276 = 40;
A277 = 46;
A278 = 51;
A279 = 16;
A280 = 30;
A281 = 38;
A282 = 21;
A283 = 22;
A284 = 49;
A285 = 32;
A286 = 36;
A287 = 37;
A288 = 39;
A289 = 48;
A290 = 50;
A291 = 43;
A292 = 44;
}
optional A59 a99 = 1;
}
================================================
FILE: benchmarks/protos/query_benchmark/f24.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f12.proto";
message A293 {
optional string a5 = 1;
}
================================================
FILE: benchmarks/protos/query_benchmark/f25.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a260;
enum A294 {
A295 = 0;
A296 = 1;
A297 = 10;
A298 = 20;
A299 = 21;
A300 = 30;
A301 = 40;
A302 = 50;
A303 = 58;
A304 = 60;
A305 = 70;
A306 = 80;
A307 = 1000;
};
message A308 {
optional A294 a261 = 1;
optional string a262 = 2;
};
================================================
FILE: benchmarks/protos/query_benchmark/f26.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a10.a68;
import "f10.proto";
import "f5.proto";
message A309 {
optional int32 a263 = 1;
optional int32 a264 = 2;
optional int32 a265 = 3;
optional string a266 = 4;
}
message A310 {
repeated string a267 = 1;
optional string a268 = 2;
repeated A109 a269 = 15;
optional A309 a270 = 3;
optional A104 a271 = 16;
}
message A311 {
optional string a272 = 1;
message A312 {
optional string a52 = 1;
optional string a273 = 2;
optional string a235 = 15;
}
repeated A312 a79 = 15;
}
================================================
FILE: benchmarks/protos/query_benchmark/f27.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
import "f17.proto";
import "f12.proto";
message A321 {
repeated A216 a292 = 1;
}
================================================
FILE: benchmarks/protos/query_benchmark/f28.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1.a349;
message A433 {
oneof a105 {
string a192 = 1;
int32 a355 = 2;
bool a356 = 3;
double a191 = 4;
}
};
message A434 {
optional string a357 = 1;
optional A435 a358 = 2;
}
message A435 {
oneof a359 {
bool a360 = 1;
A436 a361 = 2;
A437 a362 = 3;
}
message A436 {
optional bool a361 = 1;
}
message A437 {
optional A433 a105 = 1;
}
}
enum A438 {
A439 = 0;
A440 = 1;
A441 = 2;
A442 = 3;
A443 = 4;
A444 = 5;
A445 = 6;
A446 = 7;
A447 = 8;
A448 = 9;
A449 = 10;
A450 = 13;
A451 = 14;
A452 = 15;
A453 = 16;
A454 = 17;
};
message A455 {
optional A438 a363 = 1;
repeated A456 a364 = 2;
};
message A456 {
oneof a365 {
A455 a366 = 1;
A434 a367 = 2;
A433 a368 = 3;
}
};
message A457 {
optional string a98 = 1;
};
message A431 {
enum A458 {
A459 = 0;
A460 = 1;
A461 = 2;
A462 = 3;
A463 = 4;
A464 = 5;
}
optional A458 a369 = 1;
optional A456 a370 = 2;
optional int32 a371 = 3;
optional int32 a372 = 4;
optional A434 a373 = 5;
optional A457 a374 = 16;
};
================================================
FILE: benchmarks/protos/query_benchmark/f3.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
import "f13.proto";
import "f6.proto";
package a7;
message A9 {
optional bytes a203 = 1;
optional A189 a204 = 2;
}
message A189 {
optional a205.a206.A190 a207 = 1;
message A191 {
optional int64 a208 = 1;
}
optional A191 a209 = 2;
optional A61 a210 = 3;
}
================================================
FILE: benchmarks/protos/query_benchmark/f4.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
import "f5.proto";
package a9;
enum A10 {
A11 = 0;
A12 = 1;
A13 = 2;
A14 = 3;
A15 = 4;
A16 = 5;
A17 = 15;
A18 = 6;
A19 = 9;
A20 = 7;
A21 = 8;
A22 = 16;
A23 = 10;
A24 = 11;
A25 = 12;
A26 = 13;
A27 = 14;
A28 = 20;
A29 = 21;
A30 = 22;
A31 = 23;
A32 = 24;
A33 = 207;
A34 = 30;
A35 = 31;
A36 = 32;
A37 = 35;
A38 = 33;
A39 = 34;
A40 = 50;
A41 = 51;
A42 = 52;
A43 = 53;
A44 = 54;
A45 = 55;
A46 = 56;
A47 = 57;
A48 = 100;
A49 = 200;
A50 = 201;
A51 = 202;
A52 = 203;
A53 = 204;
A54 = 205;
A55 = 206;
};
extend a10.A56 {
optional A10 a11 = 21713708;
optional bool a12 = 21623477;
optional bool a13 = 23459630;
optional bool a14 = 21596320;
optional bool a15 = 26652850;
optional int32 a16 = 53697879;
optional string a17 = 56871503;
};
extend a10.A57 {
optional A10 a18 = 21713708;
optional bool a19 = 21623477;
optional bool a20 = 21596320;
optional A58 a21 = 21467048;
optional string a22 = 26652850;
}
message A58 {
message A59 {
required string a23 = 1;
required string a24 = 2;
};
repeated A59 a25 = 1;
};
extend a10.A60 {
optional bool a26 = 21596320;
optional bool a27 = 28993747;
};
================================================
FILE: benchmarks/protos/query_benchmark/f5.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a10;
message A108 {
repeated A109 a79 = 1;
}
message A109 {
optional string a52 = 1;
optional string a407 = 2;
repeated string a80 = 3;
repeated int32 a81 = 10;
repeated int32 a82 = 11;
repeated A110 a83 = 4;
repeated A111 a84 = 5;
repeated A112 a85 = 6;
repeated A113 a86 = 7;
optional A60 a87 = 8;
optional A114 a88 = 9;
optional string a408 = 12;
}
message A110 {
optional string a52 = 1;
repeated A113 a73 = 2;
repeated A113 a86 = 6;
repeated A110 a89 = 3;
repeated A111 a84 = 4;
message A115 {
optional int32 a90 = 1;
optional int32 a91 = 2;
optional A116 a87 = 3;
}
repeated A115 a92 = 5;
repeated A117 a93 = 8;
optional A57 a87 = 7;
message A118 {
optional int32 a90 = 1;
optional int32 a91 = 2;
}
repeated A118 a94 = 9;
repeated string a95 = 10;
}
message A116 {
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A113 {
enum A59 {
A120 = 1;
A121 = 2;
A122 = 3;
A123 = 4;
A124 = 5;
A125 = 6;
A126 = 7;
A127 = 8;
A128 = 9;
A129 = 10;
A130 = 11;
A131 = 12;
A132 = 13;
A133 = 14;
A134 = 15;
A135 = 16;
A136 = 17;
A137 = 18;
};
enum A138 {
A139 = 1;
A140 = 2;
A141 = 3;
};
optional string a52 = 1;
optional int32 a97 = 3;
optional A138 a98 = 4;
optional A59 a99 = 5;
optional string a100 = 6;
optional string a101 = 2;
optional string a102 = 7;
optional int32 a103 = 9;
optional string a104 = 10;
optional A56 a87 = 8;
}
message A117 {
optional string a52 = 1;
optional A142 a87 = 2;
}
message A111 {
optional string a52 = 1;
repeated A143 a105 = 2;
optional A70 a87 = 3;
message A144 {
optional int32 a90 = 1;
optional int32 a91 = 2;
}
repeated A144 a94 = 4;
repeated string a95 = 5;
}
message A143 {
optional string a52 = 1;
optional int32 a97 = 2;
optional A76 a87 = 3;
}
message A112 {
optional string a52 = 1;
repeated A145 a106 = 2;
repeated A146 a107 = 4;
optional A147 a87 = 3;
}
message A145 {
optional string a52 = 1;
optional string a108 = 2;
optional string a109 = 3;
optional A98 a87 = 4;
optional bool a110 = 5 [default = false];
optional bool a111 = 6 [default = false];
}
message A146 {
optional string a52 = 1;
optional string a112 = 2;
optional string a113 = 3;
optional A148 a87 = 4;
}
message A60 {
optional int32 a114 = 2 [default = 2];
reserved 15;
reserved 22;
optional bool a115 = 24 [default = true];
reserved 25;
optional string a116 = 1;
optional int32 a117 = 4 [default = 2];
optional int32 a118 = 5 [default = 2];
optional bool a119 = 6 [default = true];
optional bool a120 = 7 [default = true];
reserved 13;
optional bool a121 = 21 [default = false];
optional string a122 = 19;
optional bool a123 = 26 [default = false];
optional string a124 = 8;
optional bool a125 = 10 [default = false];
optional bool a126 = 27 [default = false];
optional bool a127 = 28 [default = false];
optional string a128 = 29;
enum A149 {
A150 = 1;
A151 = 2;
A152 = 3;
}
optional A149 a129 = 9 [default = A150];
optional string a130 = 11;
optional string a131 = 12;
optional int32 a132 = 14 [default = 1];
optional bool a133 = 16 [default = false];
optional bool a134 = 17 [default = false];
optional bool a135 = 18 [default = false];
optional bool a136 = 42 [default = false];
optional bool a31 = 23 [default = false];
optional bool a137 = 31 [default = false];
reserved 32;
reserved 33;
reserved 34;
reserved 35;
optional string a138 = 36;
optional string a139 = 37;
optional string a140 = 39;
optional string a141 = 40;
optional string a142 = 41;
optional bool a143 = 43;
optional string a144 = 44;
optional string a145 = 45;
repeated A119 a96 = 999;
extensions 1000 to max;
reserved 38;
}
message A57 {
repeated string a146 = 4;
repeated string a147 = 5;
repeated string a148 = 6;
optional bool a149 = 1 [default = false];
optional bool a150 = 2 [default = false];
optional bool a31 = 3 [default = false];
optional bool a151 = 7;
reserved 8;
reserved 9;
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A56 {
optional A153 a152 = 1 [default = A154];
enum A153 {
A154 = 0;
A155 = 1;
A156 = 2;
}
optional bool a409 = 2;
optional A157 a153 = 6 [default = A158];
enum A157 {
A158 = 0;
A159 = 1;
A160 = 2;
}
optional bool a154 = 5 [default = false];
optional bool a31 = 3 [default = false];
optional bool a155 = 10 [default = false];
message A161 {
optional string a52 = 1;
optional string a105 = 2;
};
repeated A161 a156 = 11;
optional bool a157 = 12 [default = false];
optional bool a158 = 13 [default = true];
repeated A119 a96 = 999;
extensions 1000 to max;
reserved 4;
}
message A142 {
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A70 {
optional string a159 = 1;
reserved 4;
optional bool a160 = 2;
optional bool a31 = 3 [default = false];
reserved 5;
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A76 {
optional bool a31 = 1 [default = false];
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A147 {
optional bool a161 = 20 [default = false];
optional double a162 = 16 [default = -1.0];
optional bool a31 = 33 [default = false];
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A98 {
enum A162 {
A163 = 0;
A164 = 1;
}
enum A165 {
A67 = 0;
A166 = 1;
A167 = 2;
A168 = 3;
}
enum A169 {
A170 = 0;
A171 = 1;
}
enum A172 {
A173 = 0;
A174 = 1;
A175 = 2;
A176 = 3;
A177 = 4;
}
optional A162 a163 = 7 [default = A163];
optional double a164 = 8 [default = -1.0];
optional bool a165 = 9 [default = false];
optional bool a166 = 10 [default = false];
optional bool a167 = 26 [default = false];
optional sint32 a168 = 11 [default = 256];
optional sint32 a169 = 12 [default = 256];
optional A165 a170 = 13 [default = A67];
optional A169 a171 = 15 [default = A170];
optional A169 a172 = 17 [default = A170];
optional string a173 = 18;
optional string a174 = 19;
optional bool a110 = 20;
optional bool a111 = 21;
optional string a175 = 22;
optional string a176 = 23;
optional bool a177 = 29;
optional int64 a178 = 24 [default = -1];
optional int64 a179 = 25 [default = -1];
enum A178 {
A179 = 0;
A180 = 1;
}
optional A178 a180 = 28 [default = A180];
optional A172 a181 = 27 [default = A175];
optional bool a31 = 33 [default = false];
enum A181 {
A182 = 0;
A183 = 1;
A184 = 2;
}
optional A181 a182 = 34 [default = A182];
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A148 {
enum A178 {
A179 = 0;
A180 = 1;
}
optional int64 a183 = 1 [default = -1];
optional int64 a184 = 2 [default = -1];
optional A178 a185 = 3 [default = A179];
optional A98.A165 a170 = 4 [default = A67];
optional string a174 = 5;
optional int32 a168 = 6 [default = 256];
optional int32 a169 = 7 [default = 256];
optional double a164 = 8 [default = -1.0];
optional bool a166 = 9 [default = false];
optional bool a167 = 10 [default = false];
optional A98.A172 a181 = 11 [default = A175];
optional bool a31 = 33 [default = false];
repeated A119 a96 = 999;
extensions 1000 to max;
}
message A119 {
message A185 {
required string a186 = 1;
required bool a187 = 2;
}
repeated A185 a52 = 2;
optional string a188 = 3;
optional uint64 a189 = 4;
optional int64 a190 = 5;
optional double a191 = 6;
optional bytes a192 = 7;
optional string a193 = 8;
}
message A114 {
repeated A186 a194 = 1;
message A186 {
repeated int32 a195 = 1 [packed = true];
repeated int32 a196 = 2 [packed = true];
optional string a197 = 3;
optional string a198 = 4;
repeated string a199 = 6;
}
}
message A187 {
repeated A188 a200 = 1;
message A188 {
repeated int32 a195 = 1 [packed = true];
optional string a201 = 2;
optional int32 a202 = 3;
optional int32 a91 = 4;
}
}
================================================
FILE: benchmarks/protos/query_benchmark/f6.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a7;
message A61 {
enum A62 {
A63 = 0;
A64 = 1;
A65 = 2;
}
optional A62 a28 = 1;
}
================================================
FILE: benchmarks/protos/query_benchmark/f7.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a0.a1;
enum A66 {
A67 = 0;
A68 = 1;
A69 = 2;
}
================================================
FILE: benchmarks/protos/query_benchmark/f8.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a10.a29;
import "f5.proto";
extend a10.A57 {
optional bool a30 = 147618788;
optional bool a32 = 149418587 [default = true];
optional string a33 = 190288050;
}
extend a10.A70 {
optional bool a34 = 149419467 [default = true];
optional bool a35 = 163526403;
optional string a36 = 190295313;
}
enum A71 {
A72 = 0;
A73 = 1;
A74 = 2;
A75 = 3;
}
extend a10.A56 {
optional A71 a37 = 179701954 [default = A73];
}
extend a10.A76 {
optional bool a38 = 162702653 [default = false];
optional bool a39 = 163486533 [default = false];
optional bool a40 = 170261731 [default = false];
repeated string a41 = 179096040;
}
enum A77 {
A67 = 0;
A78 = 1;
A79 = 2;
A80 = 3;
A81 = 4;
A82 = 5;
A83 = 6;
A84 = 7;
A85 = 8;
A86 = 9;
A87 = 10;
A88 = 11;
A89 = 12;
A90 = 13;
A91 = 14;
A92 = 15;
A93 = 16;
A94 = 17;
A95 = 18;
A96 = 100;
A97 = 101;
}
extend a10.A60 {
optional A77 a42 = 155465253 [default = A67];
optional bytes a43 = 157245250;
optional bool a44 = 180648220 [default = true];
}
extend a10.A98 {
optional bool a45 = 211030419;
}
================================================
FILE: benchmarks/protos/query_benchmark/f9.proto
================================================
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
syntax = "proto2";
package a46.a47.a1.a48.a49.a4;
message A99 {
optional double a50 = 1;
optional int32 a51 = 2;
optional string a52 = 3;
repeated string a53 = 4;
optional string a54 = 5;
optional string a55 = 6;
optional string a56 = 7;
}
message A100 {
optional double a50 = 1;
optional int32 a51 = 2;
optional string a52 = 3;
optional string a57 = 4;
optional string a54 = 5;
optional bool a58 = 6;
optional float a59 = 7;
optional string a60 = 8;
}
message A101 {
optional string a52 = 1;
optional string a54 = 2;
optional string a61 = 3;
optional int64 a62 = 4;
optional int64 a63 = 5;
optional string a64 = 6;
optional int64 a65 = 7;
optional int64 a66 = 8;
optional bool a67 = 9;
}
================================================
FILE: benchmarks/pubspec.yaml
================================================
# Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
name: protobuf_benchmarks
description: Benchmarks for various protobuf functions.
publish_to: none
environment:
sdk: ^3.7.0
resolution: workspace
dependencies:
# NB. When bumping benchmark_harness check if `benchmark_base.BenchmarkBase`
# needs updating
benchmark_harness: ^2.0.0
fixnum: any
js: ^0.6.3
protobuf: any
dev_dependencies:
args: ^2.3.1
lints: '>=5.0.0 <7.0.0'
path: ^1.8.2
pool: ^1.5.1
# Used from the workspace.
protoc_plugin: any
================================================
FILE: benchmarks/tool/compile_benchmarks.dart
================================================
#!/usr/bin/env dart
// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// ignore_for_file: only_throw_errors
import 'dart:io' show Directory, Platform, Process, ProcessResult, exit;
import 'package:args/args.dart' show ArgParser;
import 'package:path/path.dart' as path;
import 'package:pool/pool.dart' show Pool;
Future<void> main(List<String> args) async {
final argParser =
ArgParser()
..addOption(
'target',
mandatory: false,
defaultsTo: 'aot,exe,jit,js,js-production',
)
..addOption('jobs', abbr: 'j', mandatory: false);
final parsedArgs = argParser.parse(args);
var jobs = Platform.numberOfProcessors;
if (parsedArgs['jobs'] != null) {
jobs = int.parse(parsedArgs['jobs'] as String);
}
final targets = <Target>{};
for (final targetStr in (parsedArgs['target'] as String).split(',')) {
switch (targetStr) {
case 'aot':
targets.add(aotTarget);
break;
case 'exe':
targets.add(exeTarget);
break;
case 'jit':
targets.add(jitTarget);
break;
case 'js':
targets.add(jsTarget);
break;
case 'js-production':
targets.add(jsProductionTarget);
break;
case 'wasm':
targets.add(wasmTarget);
break;
default:
print(
'Unsupported target: $targetStr. Supported targets: aot, exe, '
'jit, js, js-production, wasm, wasm-omit-checks',
);
exit(1);
}
}
var sourceFiles = parsedArgs.rest;
if (sourceFiles.isEmpty) {
// Compile all files in bin/
sourceFiles =
Directory('bin')
.listSync(recursive: false)
.where((dirFile) => path.extension(dirFile.path) == '.dart')
.map((dirFile) => dirFile.path)
.toList();
}
final commands = <List<String>>[];
if (sourceFiles.isNotEmpty && targets.isNotEmpty) {
try {
Directory('out').createSync(recursive: true);
} catch (e) {
print("Error while creating 'out' directory: $e");
exit(1);
}
}
for (final sourceFile in sourceFiles) {
for (final target in targets) {
commands.add(target.compileArgs(sourceFile));
}
}
final pool = Pool(jobs);
final stream = pool.forEach<List<String>, CompileProcess>(commands, (
List<String> command,
) async {
final commandStr = command.join(' ');
print(commandStr);
final result = await Process.run(command[0], command.sublist(1));
return CompileProcess(commandStr, result);
});
await for (final compileProcess in stream) {
final exitCode = compileProcess.result.exitCode;
if (exitCode != 0) {
print('Process exited with $exitCode');
print('Command: ${compileProcess.command}');
print(
'Process stdout ---------------------------------------------------',
);
print(compileProcess.result.stdout);
print(
'Process stderr ---------------------------------------------------',
);
print(compileProcess.result.stderr);
print(
'------------------------------------------------------------------',
);
exit(1);
}
}
await pool.done;
}
class CompileProcess {
final String command;
final ProcessResult result;
CompileProcess(this.command, this.result);
}
class Target {
final String _name;
final List<String> Function(String) _processArgs;
const Target(this._name, this._processArgs);
@override
String toString() {
return 'Target($_name)';
}
List<String> compileArgs(String sourceFile) {
return _processArgs(sourceFile);
}
}
const aotTarget = Target('aot', aotProcessArgs);
const exeTarget = Target('exe', exeProcessArgs);
const jitTarget = Target('jit', jitProcessArgs);
const jsTarget = Target('js', jsProcessArgs);
const jsProductionTarget = Target('js-production', jsProductionProcessArgs);
const wasmTarget = Target('wasm', wasmProcessArgs);
List<String> aotProcessArgs(String sourceFile) {
final baseName = path.basename(sourceFile);
final baseNameNoExt = path.withoutExtension(baseName);
return [
'dart',
'compile',
'aot-snapshot',
sourceFile,
'-o',
'out/$baseNameNoExt.aot',
];
}
List<String> exeProcessArgs(String sourceFile) {
final baseName = path.basename(sourceFile);
final baseNameNoExt = path.withoutExtension(baseName);
return ['dart', 'compile', 'exe', sourceFile, '-o', 'out/$baseNameNoExt.exe'];
}
List<String> jitProcessArgs(String sourceFile) {
final baseName = path.basename(sourceFile);
final baseNameNoExt = path.withoutExtension(baseName);
return [
'dart',
'--snapshot-kind=kernel',
'--snapshot=out/$baseNameNoExt.dill',
sourceFile,
];
}
List<String> jsProcessArgs(String sourceFile) {
final baseName = path.basename(sourceFile);
final baseNameNoExt = path.withoutExtension(baseName);
return ['dart', 'compile', 'js', sourceFile, '-o', 'out/$baseNameNoExt.js'];
}
List<String> jsProductionProcessArgs(String sourceFile) {
final baseName = path.basename(sourceFile);
final baseNameNoExt = path.withoutExtension(baseName);
return [
'dart',
'compile',
'js',
sourceFile,
'-O4',
'-o',
'out/$baseNameNoExt.production.js',
];
}
List<String> wasmProcessArgs(String sourceFile) {
final baseName = path.basename(sourceFile);
final baseNameNoExt = path.withoutExtension(baseName);
return [
'dart',
'compile',
'wasm',
sourceFile,
'-O2',
'--no-strip-wasm',
'-o',
'out/$baseNameNoExt.wasm',
];
}
================================================
FILE: benchmarks/tool/compile_protos.sh
================================================
#!/bin/bash
# Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
SCRIPT_DIR=$(dirname "${BASH_SOURCE}")
BENCHMARK_DIR=$SCRIPT_DIR/..
# These protos don't have any imports
SIMPLE_PROTOS=(
"protos/google_message1_proto2.proto"
"protos/google_message1_proto3.proto"
"protos/google_message2.proto"
"protos/packed_fields.proto"
)
set -x
set -e
mkdir -p lib/generated
protoc --dart_out=lib/generated --plugin=protoc-gen-dart=tool/run_protoc_plugin.sh \
-I$BENCHMARK_DIR/protos \
"${SIMPLE_PROTOS[@]/#/$BENCHMARK_DIR/}"
protoc --dart_out=lib/generated --plugin=protoc-gen-dart=tool/run_protoc_plugin.sh \
-I$BENCHMARK_DIR/protos/query_benchmark \
$BENCHMARK_DIR/protos/query_benchmark/*.proto
================================================
FILE: benchmarks/tool/run_protoc_plugin.sh
================================================
#!/usr/bin/env bash
# Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
dart run protoc_plugin protoc-gen-dart
================================================
FILE: protobuf/CHANGELOG.md
================================================
## 6.0.0
* New `GeneratedMessage` extension methods `toTextFormat` and `writeTextFormat`
added to convert the message into the [official protocol buffers text
format][text format]. ([#1080], [#125])
* Add [well-known proto types][wkts] as libraries. This change is required for
protoc_plugin-25.0.0. ([#1081])
* **Breaking:** Hide `PbList` and `PbMap` constructors. It is not possible to
construct these values correctly in user code, so the constructors are now
private. Existing uses of `PbList` can be replaced by `List` and `PbMap` can
be replaced by `Map`.
For immutable lists and maps, you can use `built_value`. ([#1072])
* Map fields now check key and value validity when adding elements. ([#1065],
[#1076])
[text format]: https://protobuf.dev/reference/protobuf/textformat-spec/
[#1080]: https://github.com/google/protobuf.dart/pull/1080
[#125]: https://github.com/google/protobuf.dart/issues/125
[wkts]: https://protobuf.dev/reference/protobuf/google.protobuf
[#1081]: https://github.com/google/protobuf.dart/pull/1081
[#1072]: https://github.com/google/protobuf.dart/pull/1072
[#1065]: https://github.com/google/protobuf.dart/issues/1065
[#1076]: https://github.com/google/protobuf.dart/pull/1076
## 5.1.0
* Update default size limit of `CodedBufferReader` from 67,108,864 bytes to
2,147,483,647 bytes, and default recursion limit from 64 to 100.
The new limits are consistent with the Java and C++ implementations. ([#1060])
* Fix `GeneratedMessage.addExtension` returning non-frozen and
`GeneratedMessage.getExtension` allowing modifying an extension when the
message is frozen before initializing the extension field set. ([#1062])
* Fix `GeneratedMessage.getExtension` returning differently typed lists when the
message extension field set is initialized and frozen and initialized but not
frozen. ([#1062])
* Fix `PbList` methods `addAll`, `insertAll`, `replaceRange`, `setAll`,
`setRange` iterating the `Iterable` argument twice. ([#730], [#1070])
* Fix `GeneratedMessage.==` throwing a type error when comparing `map` fields in
some cases. ([#1075], [#1077])
This bug was introduced with protobuf-5.0.0.
[#1060]: https://github.com/google/protobuf.dart/pull/1060
[#1062]: https://github.com/google/protobuf.dart/pull/1062
[#730]: https://github.com/google/protobuf.dart/issues/730
[#1070]: https://github.com/google/protobuf.dart/pull/1070
[#1075]: https://github.com/google/protobuf.dart/issues/1075
[#1077]: https://github.com/google/protobuf.dart/pull/1077
## 5.0.0
* Improve performance of `GeneratedMessage.deepCopy`. ([#742])
* Fix unknown enum handling in `GeneratedMessage.mergeFromProto3Json` when
the `ignoreUnknownFields` optional argument is `true`. ([#853])
* Add `BuilderInfo` methods to support protoc-plugin 23.0.0. ([#1047])
* Generalize argument type of `PbList.from` from `List<T>` to `Iterable<T>`.
([#1054])
* Fix clearing oneof fields with `GeneratedMessage.clear`. ([#1057])
* Fix unknown JSON handling when using `GeneratedMessage` methods
`mergeFromJson`, `mergeFromJsonMap`, `writeToJson`, `writeToJsonMap`.
([#1058])
[#742]: https://github.com/google/protobuf.dart/pull/742
[#853]: https://github.com/google/protobuf.dart/pull/853
[#1047]: https://github.com/google/protobuf.dart/pull/1047
[#1054]: https://github.com/google/protobuf.dart/pull/1054
[#1057]: https://github.com/google/protobuf.dart/pull/1057
[#1058]: https://github.com/google/protobuf.dart/pull/1058
## 4.2.0
* Internal refactoring to split the package into libraries. This allows
conditionally importing different libraries and improving performance by
using different encoding/decoding libraries based on the target platform.
([#1026])
* Some of the private `PbFieldType` members are made public, to allow using
them in internal libraries. This type is for internal use only. ([#1027])
* Improve performance of `GeneratedMessage` members: `writeToJsonMap`,
`writeToJson`, `mergeFromJson`, `mergeFromJsonMap`. ([#1028])
* Remove `BuilderInfo.fromProto3Json` and `BuilderInfo.toProto3Json` as a part
of an internal refactoring.
[#1026]: https://github.com/google/protobuf.dart/pull/1026
[#1027]: https://github.com/google/protobuf.dart/pull/1027
[#1028]: https://github.com/google/protobuf.dart/pull/1028
## 4.1.1
* Minimum SDK dependency bumped from 3.6.0 to 3.7.0. ([#1024])
[#1024]: https://github.com/google/protobuf.dart/pull/1024
## 4.1.0
* Improve packed field decoding performance. ([#959], [#981])
* Minimum SDK dependency bumped from 3.3.0 to 3.6.0. ([#1001])
[#959]: https://github.com/google/protobuf.dart/pull/959
[#981]: https://github.com/google/protobuf.dart/pull/981
[#1001]: https://github.com/google/protobuf.dart/pull/1001
## 4.0.0
* **Breaking:** The following types and members are now removed:
- `PbEventMixin`
- `PbFieldChange`
- `EventBuffer`
- `GeneratedMessage.createRepeatedField`
- `GeneratedMessage.createMapField`
These were used to implement events, which are unused internally. To keep API
surface small (to make it easier to change the library or migrate to another
library) these types and members are removed. ([#738])
* **Breaking:** `CodedBufferWriter.writeRawBytes` now takes a `Uint8List`
argument (instead of `TypedData`).
* `GeneratedMessageGenericExtensions.deepCopy` is now annotated with
`@useResult` and will generate a warning when its result is not used.
([#896])
* **Breaking:** `PbMap.unmodifiable` now takes key and value field types as
arguments, instead of another `PbMap`.
To migrate, use `PbMap.unmodifiable(map.keyFieldType, map.valueFieldType)`
instead of `PbMap.unmodifiable(map)`. ([#902])
* Messages deserialized from JSON now generate the unknown fields when
serialized as JSON.
Note that, as before, unknown fields in JSON messages are not stored in the
`unknownFields` of the message. They are only used by the JSON serializers to
support roundtripping.
([#49], [#918])
* Minimum SDK dependency bumped from 2.19.0 to 3.3.0. (#953)
[#738]: https://github.com/google/protobuf.dart/issues/738
[#896]: https://github.com/google/protobuf.dart/issues/896
[#902]: https://github.com/google/protobuf.dart/issues/902
[#49]: https://github.com/google/protobuf.dart/issues/49
[#918]: https://github.com/google/protobuf.dart/pulls/918
[#953]: https://github.com/google/protobuf.dart/pull/953
## 3.1.0
* `CodedBufferReader` `readBytes` now copies the returned bytes to avoid
accidental sharing of the input buffer with the returned `Uint8List`. New
member `readBytesAsView` added with the old behavior. ([#863])
* Avoid sharing the input buffer in unknown length-delimited fields using the
new `readBytes`. ([#863])
[#863]: https://github.com/google/protobuf.dart/pull/863
## 3.0.0
* Require Dart `2.19`.
* Remove `ReadonlyMessageMixin` ([#183], [#644])
* Remove `frozenMessageModificationHandler` ([#175], [#643])
* Remove `PbListBase` and `FrozenPbList` types. All proto repeated fields now
use `PbList`. To check if a list is frozen, use `isFrozen` getter. ([#624],
[#626])
* Initialize map fields in `GeneratedMessage.getField`. This behavior is
consistent with `getField` called on repeated fields. ([#373], [#707])
* Remove unused and optional `PbMap` constructor argument `BuilderInfo? info`.
([d94d3f0])
* `UnknownFieldSetField` methods `hasRequiredFields`, `isInitialized` and
getter `length` removed. ([#721])
* Update library documentation to hide internals, add documentation for public
types. ([#681])
* Fix `PbMap._isReadonly` field initialization in `PbMap.unmodifiable`.
([#741], [#754])
* Fix decoding map fields when key or value (or both) fields of a map entry is
missing. ([#719], [#745])
* Fix updating frozen (immutable) messages with merge methods
(`mergeFromBuffer`, `mergeFromProto3Json`, ...). ([#489], [#727])
* Fix handling `null` values in proto3 JSON deserializer. ([#751], [#760],
[#763])
* Fix handling negative JSON values when parsing uint32 fields. ([#839])
* Avoid serializing unknown fields twice in `reparseMessage`. ([#840])
[#183]: https://github.com/google/protobuf.dart/issues/183
[#644]: https://github.com/google/protobuf.dart/pull/644
[#175]: https://github.com/google/protobuf.dart/issues/175
[#643]: https://github.com/google/protobuf.dart/pull/643
[#624]: https://github.com/google/protobuf.dart/issues/624
[#626]: https://github.com/google/protobuf.dart/pull/626
[#373]: https://github.com/google/protobuf.dart/issues/373
[#707]: https://github.com/google/protobuf.dart/pull/707
[d94d3f0]: https://github.com/google/protobuf.dart/commit/d94d3f0
[#721]: https://github.com/google/protobuf.dart/pull/721
[#681]: https://github.com/google/protobuf.dart/pull/681
[#741]: https://github.com/google/protobuf.dart/pull/741
[#719]: https://github.com/google/protobuf.dart/issues/719
[#745]: https://github.com/google/protobuf.dart/pull/745
[#489]: https://github.com/google/protobuf.dart/issues/489
[#727]: https://github.com/google/protobuf.dart/pull/727
[#751]: https://github.com/google/protobuf.dart/issues/751
[#760]: https://github.com/google/protobuf.dart/issues/760
[#763]: https://github.com/google/protobuf.dart/pull/763
[#754]: https://github.com/google/protobuf.dart/pull/754
[#839]: https://github.com/google/protobuf.dart/pull/839
[#840]: https://github.com/google/protobuf.dart/pull/840
## 2.1.0
* Update READMEs of `protobuf` and `protoc_plugin`:
* Use `dart pub` instead of `pub` in command examples ([a7e75cb])
* Fix typos, clarify installation instructions, mention native compilation,
fix proto syntax for `protoc_plugin` ([#610], [#617], [#641])
* Update some of the documentation according to Effective Dart documentation
guide ([#664], [#674])
* Improve runtime perf by removing some of the runtime type checks ([#574],
[#573])
* Fix a bug when converting negative `Timestamp` to Dart `DateTime` ([#580],
[#577])
* Document `BuilderInfo` and `FieldInfo` properties ([#597])
* Improve `BuilderInfo` initialization by doing some of the work lazily
([#606])
* Improve enum hash code generation ([#556])
* Fix parsing nested `Any` messages from JSON ([#568])
* Improve message hash code generation performance ([#554], [#633])
* Fix reading uninitialized map fields changing equality and hash code of
messages. ([#638])
* Fix setting an extension field when there's an unknown field with the same
tag. ([#639])
* Fix sharing backing memory for `repeated bytes` and `optional bytes` fields.
([#640])
* `GeneratedMessage.rebuild` now generates a warning when the return value is
not used. ([#631])
* Fix hash code of messages with empty unknown field set ([#648])
* Show field tags with `protobuf.omit_field_names`, enum value tags with
`protobuf.omit_enum_names` in debug strings (`toString` methods) ([#649])
* `TimestampMixin.toDateTime` now takes an optional named `bool` argument
`toLocal` (defaults to `false`) for generating a `DateTime` in the local time
zone (instead of UTC). ([#653])
* Fix serialization of `infinity` and `nan` doubles in JSON serializers
([#652])
* Fix Dart generation for fields starting with underscore ([#651])
* Fix proto3 JSON deserialization of fixed32 fields ([#655])
* Fix uninitialized repeated field values runtime types for frozen messages
([#654])
[a7e75cb]: https://github.com/google/protobuf.dart/commit/a7e75cb
[#610]: https://github.com/google/protobuf.dart/pull/610
[#617]: https://github.com/google/protobuf.dart/pull/617
[#574]: https://github.com/google/protobuf.dart/pull/574
[#573]: https://github.com/google/protobuf.dart/issues/573
[#580]: https://github.com/google/protobuf.dart/pull/580
[#577]: https://github.com/google/protobuf.dart/issues/577
[#597]: https://github.com/google/protobuf.dart/pull/597
[#606]: https://github.com/google/protobuf.dart/pull/606
[#556]: https://github.com/google/protobuf.dart/pull/556
[#568]: https://github.com/google/protobuf.dart/pull/568
[#554]: https://github.com/google/protobuf.dart/pull/554
[#633]: https://github.com/google/protobuf.dart/pull/633
[#638]: https://github.com/google/protobuf.dart/pull/638
[#639]: https://github.com/google/protobuf.dart/pull/639
[#640]: https://github.com/google/protobuf.dart/pull/640
[#641]: https://github.com/google/protobuf.dart/pull/641
[#631]: https://github.com/google/protobuf.dart/pull/631
[#648]: https://github.com/google/protobuf.dart/pull/648
[#649]: https://github.com/google/protobuf.dart/pull/649
[#653]: https://github.com/google/protobuf.dart/pull/653
[#652]: https://github.com/google/protobuf.dart/pull/652
[#651]: https://github.com/google/protobuf.dart/pull/651
[#655]: https://github.com/google/protobuf.dart/pull/655
[#654]: https://github.com/google/protobuf.dart/pull/654
[#664]: https://github.com/google/protobuf.dart/pull/664
[#674]: https://github.com/google/protobuf.dart/pull/674
## 2.0.1
* Fix bug of parsing map-values with default values.
* Merge fixes from version `1.1.2` - `1.1.4` into v2.
## 2.0.0
* Stable null safety release.
## 1.1.4
* Fix comparison of empty lists from frozen messages.
* Switch repo internals to use `dart format` instead of `dartfmt`.
## 1.1.3
* Fix that fixed32 int could be negative.
## 1.1.2
* Fix proto deserialization issue for repeated and map enum value fields where
the enum value is unknown.
## 1.1.1
* Fix decoding of `oneof` fields from proto3 json. The 'whichFoo' state would
not be set.
* Fix the return type of `copyWith`.
## 1.1.0
* Require at least Dart SDK 2.7.0 to enable usage of extension methods.
* Introduce extension methods `GeneratedMessage.rebuild` and
`GeneratedMessage.deepCopy` replacing `copyWith` and `clone`. Using these
alternatives can result in smaller binaries, because it is defined once
instead of once per class. Use `protoc_plugin` from 19.1.0 to generate
deprecation warnings for `copyWith` and `clone` methods.
* `GeneratedMessage.getExtension` throws when reading trying to read an
extension that is present in the unknown fields. We consider this change a
bug-fix because depending on the old behavior is indicative of a bug in your
program.
## 1.0.4
* Requires sdk 2.3.0
* Update pedantic to 1.9.2
## 1.0.3
* Enable hashCode memoization for frozen protos.
* Add `timeout` to `ClientContext`
## 1.0.2
* Fix hashcode of bytes fields.
* Fix issue with the `permissiveEnums` option to `mergeFromProto3Json`. The
comparison did not work properly.
* Fix binary representation of negative int32 values.
## 1.0.1
* Fix issue with `ExtensionRegistry.reparseMessage` not handling map fields
with scalar value types correctly.
* Fix issue with the non-json name of a field (`protoName`) not being set
correctly.
* Fix: Allow decoding tagnumbers of unknown fields of up to 29 bits.
## 1.0.0
* Graduate package to 1.0. No functional changes.
## 0.14.4
* Add `permissiveEnums` option to `mergeFromProto3Json`. It will do a
case-insensitive matching of enum values ignoring `-` and `_`.
* Add support for 'ensureX' methods generated by `protoc_plugin` 19.0.0.
* Add specialized getters for `String`, `int`, and `bool` with usual default
values.
* Shrink dart2js generated code for `getDefault()`.
* Added an annotation class `TagNumber`. This is used by code generated by
`protoc_plugin` from version 19.0.0.
## 0.14.3
* Fix: Allow decoding tagnumbers of up to 29 bits. Would fail before with more
than 28 bits.
## 0.14.2
* Expose `mapEntryBuilderInfo` in `MapFieldInfo`.
## 0.14.1
* Support for `import public`.
The generated code for a protofile `a.proto` that `import public "b.proto"`
will export the generated code for `b.proto`.
See
https://developers.google.com/protocol-buffers/docs/proto#importing-definitions.
## 0.14.0
* Support for proto3 json (json with field names as keys)
- encoding and decoding.
- Support for well-known types.
- Use `GeneratedMessage.toProto3Json()` to encode and
`GeneratedMessage.mergeFromProto3Json(json)` to decode.
* `FieldInfo` objects have a new getter `.protoName` that gives the
non-camel-case name of the field as in the `.proto`-file.
* **Breaking**: The field-adder methods on `BuilderInfo` now takes only named
optional arguments. To migrate, update `protoc_plugin` to version 18.0.0 or
higher.
* The field-adder methods on `BuilderInfo` all take a new argument
`protoName`.
* **Breaking**: Changed `ExtensionRegistry.reparseMessage` to reparse
extensions deeply, that is it looks at every nested message and tries to
reparse extensions from its unknown fields.
## 0.13.16+1
* Reverts `0.13.16` which accidentally introduced a breaking change,
[#284](https://github.com/google/protobuf.dart/issues/284). This release is
identical to `0.13.15`.
## 0.13.16
* Better handling of dummy calls to `BuilderInfo.add` with a tag number of 0.
These would trigger assertions before.
## 0.13.15
* Add new getter `GeneratedMessage.isFrozen` to query if the message has been
frozen.
## 0.13.14
* Avoid needless copy when reading from a Uint8List buffer.
## 0.13.13
* `Added`ExtensionRegistry.reparseMessage()` for decoding extensions from
unknown fields after the initial decoding.
## 0.13.12
* `BuilderInfo.add` now ignores fields with tag number 0. These would never be
generated by the protoc_plugin so this is not considered a breaking change.
## 0.13.11
* Save memory by only initializing `_FieldSet.oneofCases` if the message
contains oneofs.
## 0.13.10
* Fix recursive merging of repeated elements.
## 0.13.9
* Move 'eventPlugin' callback when setting a field in order to notify
observers about field updates in the correct order.
## 0.13.8
* Fix JSON serialization of unsigned 64-bit fields.
## 0.13.7
* Override `operator ==` and `hashCode` in `PbMap` so that two `PbMap`s are
equal if they have equal key/value pairs.
## 0.13.6
* Fixed equality check between messages with and without extensions.
## 0.13.5
* Add new method `addAll` on ExtensionRegistry for more conveniently adding
multiple extensions at once.
## 0.13.4
* Add new method `pc` on BuilderInfo for adding repeated composite fields and
remove redundant type check on items added to a PbList.
Deprecated `BuilderInfo.pp` and `PbList.forFieldType`.
## 0.13.3
* Fix issue with parsing map field entries. The values for two different keys
would sometimes be merged.
* Deprecated `PBMap.add`.
## 0.13.2
* Include extension fields in GeneratedMessage.toString().
## 0.13.1
* Fix issue with not being able to read unknown fields after freezing.
Reading an unknown field set after freeze() now returns the existing field set
before freezing instead of an empty UnknownFieldSet.
## 0.13.0
* Breaking change: Fix issue with not being able to read extensions after
freezing.
Reading an extension field after freeze() now returns the value set before
freezing instead of the default value.
## 0.12.0
* Breaking change: Changed `BuilderInfo.m()` to take class and package name of
the protobuf message representing the map entry. Also changed
`BuilderInfo.addMapField` as well as the constructors `PbMap` and
`MapFieldInfo.map` to take a map entry BuilderInfo object.
This mostly affects generated code, which should now be built with
protoc_plugin 15.0.0 or newer.
With this change we avoid creating a map entry BuilderInfo object for each
PbMap instance, instead it is passed through the static BuilderInfo object
in the generated subclasses of GeneratedMessage.
## 0.11.0
* Breaking change: changed semantics of `GeneratedMessage.toBuilder()` to only
make a shallow copy.
`GeneratedMessage` has a new abstract method: `createEmptyInstance()` that
subclasses must implement.
Proto files must be rebuilt using protoc_plugin 14.0.0 or newer.
## 0.10.8
* Fix freezing of map fields.
## 0.10.7
* Fixed problem with recursive merging of sub messages.
## 0.10.6
* Added support for
[oneof](https://developers.google.com/protocol-buffers/docs/proto3#oneof).
To use oneof support use Dart protoc_plugin version 13.0.0.
## 0.10.5
* Added support for
[map fields](https://developers.google.com/protocol-buffers/docs/proto3#maps).
Map fields are now represented as Dart maps and are accessed through a
getter with the same name as the map field. To use the map support, use Dart
protoc_plugin version 11.0.0 or newer.
## 0.10.4
* Added separate getter for `BuilderInfo.qualifiedMessageName`.
## 0.10.3
* Added type argument to `ProtobufEnum.initByValue` which allows the return
value to be fully typed.
## 0.10.2
* Added ProtobufEnum reserved names.
## 0.10.1
* Added Support for
[any](https://developers.google.com/protocol-buffers/docs/proto3#any)
messages.
## 0.10.0
* Breaking change: Add `GeneratedMessage.freeze()`. A frozen message and its
sub-messages cannot be changed.
## 0.9.1
* Fix problem with encoding negative enum values.
* Fix problem with encoding byte arrays.
## 0.9.0+1
* Dart SDK upper constraint raised to declare compatibility with Dart 2.0
stable.
## 0.9.0
* Breaking change: Changed signature of `CodedBufferWriter.writeTo` to require
`Uint8List` for performance.
* More Dart 2 fixes.
## 0.8.0
* Breaking change: Added generics to RpcClient.invoke(). Proto files must be
rebuilt using Dart protoc_plugin version 0.8.0 or newer to match.
* Dart 2 fixes.
## 0.7.2+1
- Updated SDK version to 2.0.0-dev.17.0
## 0.7.2
* Fix hashing for PbList.
## 0.7.1
* Fix type in PbList.fold() for Dart 2.
* Small performance tweaks for DDC.
## 0.7.0
* Added fast getters for common types.
* Only pass index instead of both tag and index to accessors.
* Delegate more methods to underlying list in PbList.
* Small fixes for Dart 2.0.
## 0.6.0
* Added enumValues to FieldInfo. Fixes #63.
* Small performance optimization when deserializing repeated messages from
JSON.
* Type annotations for strong mode.
## 0.5.5
* Use real generic syntax instead of comment-based.
* Support v2 dev SDKs.
## 0.5.4
* Unknown enum values are ignored when parsing JSON, instead of throwing an
exception.
## 0.5.3+2
* Resolved a strong-mode error.
## 0.5.3+1
* Performance: Avoid excessive cloning in merge.
* Performance: Use code patterns that dart2js handles better.
## 0.5.3
* fix zigzag function so all coded buffer reader tests work on dart2js.
## 0.5.2
* make PbMixin constructor public for use within protoc plugin.
## 0.5.1+5
* Revert previous change because it causes strong mode type error in the
generated code. We will revisit this in a new version of mixin support.
## 0.5.1+4
* Use a more refined implementation of `Map` in `PbMapMixin`
## 0.5.1+3
* Performance: eliminate some dynamic calls.
## 0.5.1+2
* Bugfix: remove dependency on `pkg/crypto` for real.
## 0.5.1+1
* Require at least Dart SDK 1.13.
* Removed dependency on `pkg/crypto`.
## 0.5.1
* Experimental support for strong mode.
* Fixed an issue with GeneratedMessage operator== and Map mixins
* Added declaration of GeneratedMessage clone method
## 0.5.0+1
* Support the latest version of package `fixnum`.
## 0.5.0
* Reorganized internals to improve performance. We now store field values in a
list instead of a map. Private properties and methods are all moved to the
\_FieldSet class. There are new entry points for generated getters, hazzers,
and setters. Improved JSON decoding performance.
* Dropped compatibility with .pb.dart files before 0.4.2 by removing internal
constants from GeneratedMessage. Also, protoc plugins before 0.5.0 won't
work.
## 0.4.2
* Renamed FieldType to PbFieldType.
## 0.4.1 - DO NOT USE
* added FieldType class. It turned out that FieldType is a commonly used name,
even in .proto files. This is renamed to PbFieldType in 0.4.2.
* Added support for observing field changes. For now, this can only be enabled
by using a mixin to override the eventPlugin getter.
* Removed optional third parameter from setField(). It was only intended for
internal use, and could be used to defeat type checks on fields.
* clearExtension() removes the value and extension in all cases. (Before, the
extension would be kept and the list cleared for repeated fields.)
* Upcoming: clearField() will require its argument to be a known tag number
(which could be an extension). For now, this is only enforced when a mixin
provides an eventPlugin.
## 0.4.0
* Add ReadonlyMessageMixin. The generated message classes use this to for the
default values of message fields.
## 0.3.11
* Add meta.dart which declares reserved names for the plugin.
## 0.3.10
* Add GeneratedService and ProtobufClient interfaces.
## 0.3.9
* Add experimental mixins_meta library
* Add experimental PbMapMixin class (in a separate library).
* Fix bug where ExtensionRegistry would not be used for nested messages.
## 0.3.7
* More docs.
## 0.3.6
* Added mergeFromMap() and writeToJsonMap()
* Fixed an analyzer warning.
## 0.3.5+3
* Bugfix for `setRange()`: Do not assume Iterable has a `sublist()` method.
## 0.3.5+2
* Simplify some types used in is checks and correct PbList to match the
* signature of the List setRange method.
## 0.3.5+1
* Bugfix for incorrect decoding of protobuf messages: Uint8List views with
non-zero offsets were handled incorrectly.
## 0.3.5
* Allow constants as field initial values as well as creation thunks to reduce
generated code size.
* Improve the performance of reading a protobuf buffer.
* Fixed truncation error in least significant bits with large Int64 constants.
================================================
FILE: protobuf/LICENSE
================================================
Copyright 2013, the Dart project authors.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of Google LLC nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: protobuf/README.md
================================================
[](https://pub.dev/packages/protobuf)
[](https://pub.dev/packages/protobuf/publisher)
Provides runtime support for a Dart implementation of [protobufs][1].
Typically one does not need to import this library. The [protoc plugin][2]
compiles proto definitions to Dart files that import this library. If your
library or application uses generated protobuf libraries, add this library as a
dependency.
[1]: https://developers.google.com/protocol-buffers
[2]: https://pub.dev/packages/protoc_plugin
### References
* [Protobuf Dart tutorial](https://developers.google.com/protocol-buffers/docs/darttutorial)
* [Guide to generated Dart code](https://developers.google.com/protocol-buffers/docs/reference/dart-generated)
* [Dart API](https://pub.dev/documentation/protobuf/latest/protobuf/protobuf-library.html)
================================================
FILE: protobuf/analysis_options.yaml
================================================
include: ../analysis_options.yaml
================================================
FILE: protobuf/build_wkts.sh
================================================
#!/bin/bash
# This scripts generates the classes for well-known protobuf types which are
# included in the package.
set -e
set -x
mkdir -p lib/well_known_types/google/protobuf
protoc \
--dart_out=lib/well_known_types \
--plugin=protoc-gen-dart=$(realpath '../protoc_plugin/bin/protoc-gen-dart-debug') \
google/protobuf/*.proto
# Remove empty .pbenum files.
rm lib/well_known_types/google/protobuf/any.pbenum.dart
rm lib/well_known_types/google/protobuf/api.pbenum.dart
rm lib/well_known_types/google/protobuf/duration.pbenum.dart
rm lib/well_known_types/google/protobuf/empty.pbenum.dart
rm lib/well_known_types/google/protobuf/field_mask.pbenum.dart
rm lib/well_known_types/google/protobuf/source_context.pbenum.dart
rm lib/well_known_types/google/protobuf/timestamp.pbenum.dart
rm lib/well_known_types/google/protobuf/wrappers.pbenum.dart
================================================
FILE: protobuf/google/protobuf/any.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option go_package = "google.golang.org/protobuf/types/known/anypb";
option java_package = "com.google.protobuf";
option java_outer_classname = "AnyProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
// `Any` contains an arbitrary serialized protocol buffer message along with a
// URL that describes the type of the serialized message.
//
// Protobuf library provides support to pack/unpack Any values in the form
// of utility functions or additional generated methods of the Any type.
//
// Example 1: Pack and unpack a message in C++.
//
// Foo foo = ...;
// Any any;
// any.PackFrom(foo);
// ...
// if (any.UnpackTo(&foo)) {
// ...
// }
//
// Example 2: Pack and unpack a message in Java.
//
// Foo foo = ...;
// Any any = Any.pack(foo);
// ...
// if (any.is(Foo.class)) {
// foo = any.unpack(Foo.class);
// }
// // or ...
// if (any.isSameTypeAs(Foo.getDefaultInstance())) {
// foo = any.unpack(Foo.getDefaultInstance());
// }
//
// Example 3: Pack and unpack a message in Python.
//
// foo = Foo(...)
// any = Any()
// any.Pack(foo)
// ...
// if any.Is(Foo.DESCRIPTOR):
// any.Unpack(foo)
// ...
//
// Example 4: Pack and unpack a message in Go
//
// foo := &pb.Foo{...}
// any, err := anypb.New(foo)
// if err != nil {
// ...
// }
// ...
// foo := &pb.Foo{}
// if err := any.UnmarshalTo(foo); err != nil {
// ...
// }
//
// The pack methods provided by protobuf library will by default use
// 'type.googleapis.com/full.type.name' as the type URL and the unpack
// methods only use the fully qualified type name after the last '/'
// in the type URL, for example "foo.bar.com/x/y.z" will yield type
// name "y.z".
//
// JSON
// ====
// The JSON representation of an `Any` value uses the regular
// representation of the deserialized, embedded message, with an
// additional field `@type` which contains the type URL. Example:
//
// package google.profile;
// message Person {
// string first_name = 1;
// string last_name = 2;
// }
//
// {
// "@type": "type.googleapis.com/google.profile.Person",
// "firstName": <string>,
// "lastName": <string>
// }
//
// If the embedded message type is well-known and has a custom JSON
// representation, that representation will be embedded adding a field
// `value` which holds the custom JSON in addition to the `@type`
// field. Example (for message [google.protobuf.Duration][]):
//
// {
// "@type": "type.googleapis.com/google.protobuf.Duration",
// "value": "1.212s"
// }
//
message Any {
// A URL/resource name that uniquely identifies the type of the serialized
// protocol buffer message. This string must contain at least
// one "/" character. The last segment of the URL's path must represent
// the fully qualified name of the type (as in
// `path/google.protobuf.Duration`). The name should be in a canonical form
// (e.g., leading "." is not accepted).
//
// In practice, teams usually precompile into the binary all types that they
// expect it to use in the context of Any. However, for URLs which use the
// scheme `http`, `https`, or no scheme, one can optionally set up a type
// server that maps type URLs to message definitions as follows:
//
// * If no scheme is provided, `https` is assumed.
// * An HTTP GET on the URL must yield a [google.protobuf.Type][]
// value in binary format, or produce an error.
// * Applications are allowed to cache lookup results based on the
// URL, or have them precompiled into a binary to avoid any
// lookup. Therefore, binary compatibility needs to be preserved
// on changes to types. (Use versioned type names to manage
// breaking changes.)
//
// Note: this functionality is not currently available in the official
// protobuf release, and it is not used for type URLs beginning with
// type.googleapis.com. As of May 2023, there are no widely used type server
// implementations and no plans to implement one.
//
// Schemes other than `http`, `https` (or the empty scheme) might be
// used with implementation specific semantics.
//
string type_url = 1;
// Must be a valid serialized protocol buffer of the above specified type.
bytes value = 2;
}
================================================
FILE: protobuf/google/protobuf/api.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
import "google/protobuf/source_context.proto";
import "google/protobuf/type.proto";
option java_package = "com.google.protobuf";
option java_outer_classname = "ApiProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option go_package = "google.golang.org/protobuf/types/known/apipb";
// Api is a light-weight descriptor for an API Interface.
//
// Interfaces are also described as "protocol buffer services" in some contexts,
// such as by the "service" keyword in a .proto file, but they are different
// from API Services, which represent a concrete implementation of an interface
// as opposed to simply a description of methods and bindings. They are also
// sometimes simply referred to as "APIs" in other contexts, such as the name of
// this message itself. See https://cloud.google.com/apis/design/glossary for
// detailed terminology.
//
// New usages of this message as an alternative to ServiceDescriptorProto are
// strongly discouraged. This message does not reliability preserve all
// information necessary to model the schema and preserve semantics. Instead
// make use of FileDescriptorSet which preserves the necessary information.
message Api {
// The fully qualified name of this interface, including package name
// followed by the interface's simple name.
string name = 1;
// The methods of this interface, in unspecified order.
repeated Method methods = 2;
// Any metadata attached to the interface.
repeated Option options = 3;
// A version string for this interface. If specified, must have the form
// `major-version.minor-version`, as in `1.10`. If the minor version is
// omitted, it defaults to zero. If the entire version field is empty, the
// major version is derived from the package name, as outlined below. If the
// field is not empty, the version in the package name will be verified to be
// consistent with what is provided here.
//
// The versioning schema uses [semantic
// versioning](http://semver.org) where the major version number
// indicates a breaking change and the minor version an additive,
// non-breaking change. Both version numbers are signals to users
// what to expect from different versions, and should be carefully
// chosen based on the product plan.
//
// The major version is also reflected in the package name of the
// interface, which must end in `v<major-version>`, as in
// `google.feature.v1`. For major versions 0 and 1, the suffix can
// be omitted. Zero major versions must only be used for
// experimental, non-GA interfaces.
//
string version = 4;
// Source context for the protocol buffer service represented by this
// message.
SourceContext source_context = 5;
// Included interfaces. See [Mixin][].
repeated Mixin mixins = 6;
// The source syntax of the service.
Syntax syntax = 7;
// The source edition string, only valid when syntax is SYNTAX_EDITIONS.
string edition = 8;
}
// Method represents a method of an API interface.
//
// New usages of this message as an alternative to MethodDescriptorProto are
// strongly discouraged. This message does not reliability preserve all
// information necessary to model the schema and preserve semantics. Instead
// make use of FileDescriptorSet which preserves the necessary information.
message Method {
// The simple name of this method.
string name = 1;
// A URL of the input message type.
string request_type_url = 2;
// If true, the request is streamed.
bool request_streaming = 3;
// The URL of the output message type.
string response_type_url = 4;
// If true, the response is streamed.
bool response_streaming = 5;
// Any metadata attached to the method.
repeated Option options = 6;
// The source syntax of this method.
//
// This field should be ignored, instead the syntax should be inherited from
// Api. This is similar to Field and EnumValue.
Syntax syntax = 7 [deprecated = true];
// The source edition string, only valid when syntax is SYNTAX_EDITIONS.
//
// This field should be ignored, instead the edition should be inherited from
// Api. This is similar to Field and EnumValue.
string edition = 8 [deprecated = true];
}
// Declares an API Interface to be included in this interface. The including
// interface must redeclare all the methods from the included interface, but
// documentation and options are inherited as follows:
//
// - If after comment and whitespace stripping, the documentation
// string of the redeclared method is empty, it will be inherited
// from the original method.
//
// - Each annotation belonging to the service config (http,
// visibility) which is not set in the redeclared method will be
// inherited.
//
// - If an http annotation is inherited, the path pattern will be
// modified as follows. Any version prefix will be replaced by the
// version of the including interface plus the [root][] path if
// specified.
//
// Example of a simple mixin:
//
// package google.acl.v1;
// service AccessControl {
// // Get the underlying ACL object.
// rpc GetAcl(GetAclRequest) returns (Acl) {
// option (google.api.http).get = "/v1/{resource=**}:getAcl";
// }
// }
//
// package google.storage.v2;
// service Storage {
// rpc GetAcl(GetAclRequest) returns (Acl);
//
// // Get a data record.
// rpc GetData(GetDataRequest) returns (Data) {
// option (google.api.http).get = "/v2/{resource=**}";
// }
// }
//
// Example of a mixin configuration:
//
// apis:
// - name: google.storage.v2.Storage
// mixins:
// - name: google.acl.v1.AccessControl
//
// The mixin construct implies that all methods in `AccessControl` are
// also declared with same name and request/response types in
// `Storage`. A documentation generator or annotation processor will
// see the effective `Storage.GetAcl` method after inheriting
// documentation and annotations as follows:
//
// service Storage {
// // Get the underlying ACL object.
// rpc GetAcl(GetAclRequest) returns (Acl) {
// option (google.api.http).get = "/v2/{resource=**}:getAcl";
// }
// ...
// }
//
// Note how the version in the path pattern changed from `v1` to `v2`.
//
// If the `root` field in the mixin is specified, it should be a
// relative path under which inherited HTTP paths are placed. Example:
//
// apis:
// - name: google.storage.v2.Storage
// mixins:
// - name: google.acl.v1.AccessControl
// root: acls
//
// This implies the following inherited HTTP annotation:
//
// service Storage {
// // Get the underlying ACL object.
// rpc GetAcl(GetAclRequest) returns (Acl) {
// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
// }
// ...
// }
message Mixin {
// The fully qualified name of the interface which is included.
string name = 1;
// If non-empty specifies a path under which inherited HTTP paths
// are rooted.
string root = 2;
}
================================================
FILE: protobuf/google/protobuf/duration.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option cc_enable_arenas = true;
option go_package = "google.golang.org/protobuf/types/known/durationpb";
option java_package = "com.google.protobuf";
option java_outer_classname = "DurationProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
// A Duration represents a signed, fixed-length span of time represented
// as a count of seconds and fractions of seconds at nanosecond
// resolution. It is independent of any calendar and concepts like "day"
// or "month". It is related to Timestamp in that the difference between
// two Timestamp values is a Duration and it can be added or subtracted
// from a Timestamp. Range is approximately +-10,000 years.
//
// # Examples
//
// Example 1: Compute Duration from two Timestamps in pseudo code.
//
// Timestamp start = ...;
// Timestamp end = ...;
// Duration duration = ...;
//
// duration.seconds = end.seconds - start.seconds;
// duration.nanos = end.nanos - start.nanos;
//
// if (duration.seconds < 0 && duration.nanos > 0) {
// duration.seconds += 1;
// duration.nanos -= 1000000000;
// } else if (duration.seconds > 0 && duration.nanos < 0) {
// duration.seconds -= 1;
// duration.nanos += 1000000000;
// }
//
// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
//
// Timestamp start = ...;
// Duration duration = ...;
// Timestamp end = ...;
//
// end.seconds = start.seconds + duration.seconds;
// end.nanos = start.nanos + duration.nanos;
//
// if (end.nanos < 0) {
// end.seconds -= 1;
// end.nanos += 1000000000;
// } else if (end.nanos >= 1000000000) {
// end.seconds += 1;
// end.nanos -= 1000000000;
// }
//
// Example 3: Compute Duration from datetime.timedelta in Python.
//
// td = datetime.timedelta(days=3, minutes=10)
// duration = Duration()
// duration.FromTimedelta(td)
//
// # JSON Mapping
//
// In JSON format, the Duration type is encoded as a string rather than an
// object, where the string ends in the suffix "s" (indicating seconds) and
// is preceded by the number of seconds, with nanoseconds expressed as
// fractional seconds. For example, 3 seconds with 0 nanoseconds should be
// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
// be expressed in JSON format as "3.000000001s", and 3 seconds and 1
// microsecond should be expressed in JSON format as "3.000001s".
//
message Duration {
// Signed seconds of the span of time. Must be from -315,576,000,000
// to +315,576,000,000 inclusive. Note: these bounds are computed from:
// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
int64 seconds = 1;
// Signed fractions of a second at nanosecond resolution of the span
// of time. Durations less than one second are represented with a 0
// `seconds` field and a positive or negative `nanos` field. For durations
// of one second or more, a non-zero value for the `nanos` field must be
// of the same sign as the `seconds` field. Must be from -999,999,999
// to +999,999,999 inclusive.
int32 nanos = 2;
}
================================================
FILE: protobuf/google/protobuf/empty.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option go_package = "google.golang.org/protobuf/types/known/emptypb";
option java_package = "com.google.protobuf";
option java_outer_classname = "EmptyProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option cc_enable_arenas = true;
// A generic empty message that you can re-use to avoid defining duplicated
// empty messages in your APIs. A typical example is to use it as the request
// or the response type of an API method. For instance:
//
// service Foo {
// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
// }
//
message Empty {}
================================================
FILE: protobuf/google/protobuf/field_mask.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option java_package = "com.google.protobuf";
option java_outer_classname = "FieldMaskProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option go_package = "google.golang.org/protobuf/types/known/fieldmaskpb";
option cc_enable_arenas = true;
// `FieldMask` represents a set of symbolic field paths, for example:
//
// paths: "f.a"
// paths: "f.b.d"
//
// Here `f` represents a field in some root message, `a` and `b`
// fields in the message found in `f`, and `d` a field found in the
// message in `f.b`.
//
// Field masks are used to specify a subset of fields that should be
// returned by a get operation or modified by an update operation.
// Field masks also have a custom JSON encoding (see below).
//
// # Field Masks in Projections
//
// When used in the context of a projection, a response message or
// sub-message is filtered by the API to only contain those fields as
// specified in the mask. For example, if the mask in the previous
// example is applied to a response message as follows:
//
// f {
// a : 22
// b {
// d : 1
// x : 2
// }
// y : 13
// }
// z: 8
//
// The result will not contain specific values for fields x,y and z
// (their value will be set to the default, and omitted in proto text
// output):
//
//
// f {
// a : 22
// b {
// d : 1
// }
// }
//
// A repeated field is not allowed except at the last position of a
// paths string.
//
// If a FieldMask object is not present in a get operation, the
// operation applies to all fields (as if a FieldMask of all fields
// had been specified).
//
// Note that a field mask does not necessarily apply to the
// top-level response message. In case of a REST get operation, the
// field mask applies directly to the response, but in case of a REST
// list operation, the mask instead applies to each individual message
// in the returned resource list. In case of a REST custom method,
// other definitions may be used. Where the mask applies will be
// clearly documented together with its declaration in the API. In
// any case, the effect on the returned resource/resources is required
// behavior for APIs.
//
// # Field Masks in Update Operations
//
// A field mask in update operations specifies which fields of the
// targeted resource are going to be updated. The API is required
// to only change the values of the fields as specified in the mask
// and leave the others untouched. If a resource is passed in to
// describe the updated values, the API ignores the values of all
// fields not covered by the mask.
//
// If a repeated field is specified for an update operation, new values will
// be appended to the existing repeated field in the target resource. Note that
// a repeated field is only allowed in the last position of a `paths` string.
//
// If a sub-message is specified in the last position of the field mask for an
// update operation, then new value will be merged into the existing sub-message
// in the target resource.
//
// For example, given the target message:
//
// f {
// b {
// d: 1
// x: 2
// }
// c: [1]
// }
//
// And an update message:
//
// f {
// b {
// d: 10
// }
// c: [2]
// }
//
// then if the field mask is:
//
// paths: ["f.b", "f.c"]
//
// then the result will be:
//
// f {
// b {
// d: 10
// x: 2
// }
// c: [1, 2]
// }
//
// An implementation may provide options to override this default behavior for
// repeated and message fields.
//
// In order to reset a field's value to the default, the field must
// be in the mask and set to the default value in the provided resource.
// Hence, in order to reset all fields of a resource, provide a default
// instance of the resource and set all fields in the mask, or do
// not provide a mask as described below.
//
// If a field mask is not present on update, the operation applies to
// all fields (as if a field mask of all fields has been specified).
// Note that in the presence of schema evolution, this may mean that
// fields the client does not know and has therefore not filled into
// the request will be reset to their default. If this is unwanted
// behavior, a specific service may require a client to always specify
// a field mask, producing an error if not.
//
// As with get operations, the location of the resource which
// describes the updated values in the request message depends on the
// operation kind. In any case, the effect of the field mask is
// required to be honored by the API.
//
// ## Considerations for HTTP REST
//
// The HTTP kind of an update operation which uses a field mask must
// be set to PATCH instead of PUT in order to satisfy HTTP semantics
// (PUT must only be used for full updates).
//
// # JSON Encoding of Field Masks
//
// In JSON, a field mask is encoded as a single string where paths are
// separated by a comma. Fields name in each path are converted
// to/from lower-camel naming conventions.
//
// As an example, consider the following message declarations:
//
// message Profile {
// User user = 1;
// Photo photo = 2;
// }
// message User {
// string display_name = 1;
// string address = 2;
// }
//
// In proto a field mask for `Profile` may look as such:
//
// mask {
// paths: "user.display_name"
// paths: "photo"
// }
//
// In JSON, the same mask is represented as below:
//
// {
// mask: "user.displayName,photo"
// }
//
// # Field Masks and Oneof Fields
//
// Field masks treat fields in oneofs just as regular fields. Consider the
// following message:
//
// message SampleMessage {
// oneof test_oneof {
// string name = 4;
// SubMessage sub_message = 9;
// }
// }
//
// The field mask can be:
//
// mask {
// paths: "name"
// }
//
// Or:
//
// mask {
// paths: "sub_message"
// }
//
// Note that oneof type names ("test_oneof" in this case) cannot be used in
// paths.
//
// ## Field Mask Verification
//
// The implementation of any API method which has a FieldMask type field in the
// request should verify the included field paths, and return an
// `INVALID_ARGUMENT` error if any path is unmappable.
message FieldMask {
// The set of field mask paths.
repeated string paths = 1;
}
================================================
FILE: protobuf/google/protobuf/source_context.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option java_package = "com.google.protobuf";
option java_outer_classname = "SourceContextProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option go_package = "google.golang.org/protobuf/types/known/sourcecontextpb";
// `SourceContext` represents information about the source of a
// protobuf element, like the file in which it is defined.
message SourceContext {
// The path-qualified name of the .proto file that contained the associated
// protobuf element. For example: `"google/protobuf/source_context.proto"`.
string file_name = 1;
}
================================================
FILE: protobuf/google/protobuf/struct.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option cc_enable_arenas = true;
option go_package = "google.golang.org/protobuf/types/known/structpb";
option java_package = "com.google.protobuf";
option java_outer_classname = "StructProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
// `Struct` represents a structured data value, consisting of fields
// which map to dynamically typed values. In some languages, `Struct`
// might be supported by a native representation. For example, in
// scripting languages like JS a struct is represented as an
// object. The details of that representation are described together
// with the proto support for the language.
//
// The JSON representation for `Struct` is JSON object.
message Struct {
// Unordered map of dynamically typed values.
map<string, Value> fields = 1;
}
// `Value` represents a dynamically typed value which can be either
// null, a number, a string, a boolean, a recursive struct value, or a
// list of values. A producer of value is expected to set one of these
// variants. Absence of any variant indicates an error.
//
// The JSON representation for `Value` is JSON value.
message Value {
// The kind of value.
oneof kind {
// Represents a null value.
NullValue null_value = 1;
// Represents a double value.
double number_value = 2;
// Represents a string value.
string string_value = 3;
// Represents a boolean value.
bool bool_value = 4;
// Represents a structured value.
Struct struct_value = 5;
// Represents a repeated `Value`.
ListValue list_value = 6;
}
}
// `NullValue` is a singleton enumeration to represent the null value for the
// `Value` type union.
//
// The JSON representation for `NullValue` is JSON `null`.
enum NullValue {
// Null value.
NULL_VALUE = 0;
}
// `ListValue` is a wrapper around a repeated field of values.
//
// The JSON representation for `ListValue` is JSON array.
message ListValue {
// Repeated field of dynamically typed values.
repeated Value values = 1;
}
================================================
FILE: protobuf/google/protobuf/timestamp.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
option cc_enable_arenas = true;
option go_package = "google.golang.org/protobuf/types/known/timestamppb";
option java_package = "com.google.protobuf";
option java_outer_classname = "TimestampProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
// A Timestamp represents a point in time independent of any time zone or local
// calendar, encoded as a count of seconds and fractions of seconds at
// nanosecond resolution. The count is relative to an epoch at UTC midnight on
// January 1, 1970, in the proleptic Gregorian calendar which extends the
// Gregorian calendar backwards to year one.
//
// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
// second table is needed for interpretation, using a [24-hour linear
// smear](https://developers.google.com/time/smear).
//
// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
// restricting to that range, we ensure that we can convert to and from [RFC
// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
//
// # Examples
//
// Example 1: Compute Timestamp from POSIX `time()`.
//
// Timestamp timestamp;
// timestamp.set_seconds(time(NULL));
// timestamp.set_nanos(0);
//
// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
//
// struct timeval tv;
// gettimeofday(&tv, NULL);
//
// Timestamp timestamp;
// timestamp.set_seconds(tv.tv_sec);
// timestamp.set_nanos(tv.tv_usec * 1000);
//
// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
//
// FILETIME ft;
// GetSystemTimeAsFileTime(&ft);
// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
//
// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
// Timestamp timestamp;
// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
//
// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
//
// long millis = System.currentTimeMillis();
//
// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
// .setNanos((int) ((millis % 1000) * 1000000)).build();
//
// Example 5: Compute Timestamp from Java `Instant.now()`.
//
// Instant now = Instant.now();
//
// Timestamp timestamp =
// Timestamp.newBuilder().setSeconds(now.getEpochSecond())
// .setNanos(now.getNano()).build();
//
// Example 6: Compute Timestamp from current time in Python.
//
// timestamp = Timestamp()
// timestamp.GetCurrentTime()
//
// # JSON Mapping
//
// In JSON format, the Timestamp type is encoded as a string in the
// [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
// format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
// where {year} is always expressed using four digits while {month}, {day},
// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
// is required. A ProtoJSON serializer should always use UTC (as indicated by
// "Z") when printing the Timestamp type and a ProtoJSON parser should be
// able to accept both UTC and other timezones (as indicated by an offset).
//
// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
// 01:30 UTC on January 15, 2017.
//
// In JavaScript, one can convert a Date object to this format using the
// standard
// [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
// method. In Python, a standard `datetime.datetime` object can be converted
// to this format using
// [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
// the Joda Time's [`ISODateTimeFormat.dateTime()`](
// http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
// ) to obtain a formatter capable of generating timestamps in this format.
//
message Timestamp {
// Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must
// be between -62135596800 and 253402300799 inclusive (which corresponds to
// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).
int64 seconds = 1;
// Non-negative fractions of a second at nanosecond resolution. This field is
// the nanosecond portion of the duration, not an alternative to seconds.
// Negative second values with fractions must still have non-negative nanos
// values that count forward in time. Must be between 0 and 999,999,999
// inclusive.
int32 nanos = 2;
}
================================================
FILE: protobuf/google/protobuf/type.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto3";
package google.protobuf;
import "google/protobuf/any.proto";
import "google/protobuf/source_context.proto";
option cc_enable_arenas = true;
option java_package = "com.google.protobuf";
option java_outer_classname = "TypeProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
option go_package = "google.golang.org/protobuf/types/known/typepb";
// A protocol buffer message type.
//
// New usages of this message as an alternative to DescriptorProto are strongly
// discouraged. This message does not reliability preserve all information
// necessary to model the schema and preserve semantics. Instead make use of
// FileDescriptorSet which preserves the necessary information.
message Type {
// The fully qualified message name.
string name = 1;
// The list of fields.
repeated Field fields = 2;
// The list of types appearing in `oneof` definitions in this type.
repeated string oneofs = 3;
// The protocol buffer options.
repeated Option options = 4;
// The source context.
SourceContext source_context = 5;
// The source syntax.
Syntax syntax = 6;
// The source edition string, only valid when syntax is SYNTAX_EDITIONS.
string edition = 7;
}
// A single field of a message type.
//
// New usages of this message as an alternative to FieldDescriptorProto are
// strongly discouraged. This message does not reliability preserve all
// information necessary to model the schema and preserve semantics. Instead
// make use of FileDescriptorSet which preserves the necessary information.
message Field {
// Basic field types.
enum Kind {
// Field type unknown.
TYPE_UNKNOWN = 0;
// Field type double.
TYPE_DOUBLE = 1;
// Field type float.
TYPE_FLOAT = 2;
// Field type int64.
TYPE_INT64 = 3;
// Field type uint64.
TYPE_UINT64 = 4;
// Field type int32.
TYPE_INT32 = 5;
// Field type fixed64.
TYPE_FIXED64 = 6;
// Field type fixed32.
TYPE_FIXED32 = 7;
// Field type bool.
TYPE_BOOL = 8;
// Field type string.
TYPE_STRING = 9;
// Field type group. Proto2 syntax only, and deprecated.
TYPE_GROUP = 10;
// Field type message.
TYPE_MESSAGE = 11;
// Field type bytes.
TYPE_BYTES = 12;
// Field type uint32.
TYPE_UINT32 = 13;
// Field type enum.
TYPE_ENUM = 14;
// Field type sfixed32.
TYPE_SFIXED32 = 15;
// Field type sfixed64.
TYPE_SFIXED64 = 16;
// Field type sint32.
TYPE_SINT32 = 17;
// Field type sint64.
TYPE_SINT64 = 18;
}
// Whether a field is optional, required, or repeated.
enum Cardinality {
// For fields with unknown cardinality.
CARDINALITY_UNKNOWN = 0;
// For optional fields.
CARDINALITY_OPTIONAL = 1;
// For required fields. Proto2 syntax only.
CARDINALITY_REQUIRED = 2;
// For repeated fields.
CARDINALITY_REPEATED = 3;
}
// The field type.
Kind kind = 1;
// The field cardinality.
Cardinality cardinality = 2;
// The field number.
int32 number = 3;
// The field name.
string name = 4;
// The field type URL, without the scheme, for message or enumeration
// types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
string type_url = 6;
// The index of the field type in `Type.oneofs`, for message or enumeration
// types. The first type has index 1; zero means the type is not in the list.
int32 oneof_index = 7;
// Whether to use alternative packed wire representation.
bool packed = 8;
// The protocol buffer options.
repeated Option options = 9;
// The field JSON name.
string json_name = 10;
// The string value of the default value of this field. Proto2 syntax only.
string default_value = 11;
}
// Enum type definition.
//
// New usages of this message as an alternative to EnumDescriptorProto are
// strongly discouraged. This message does not reliability preserve all
// information necessary to model the schema and preserve semantics. Instead
// make use of FileDescriptorSet which preserves the necessary information.
message Enum {
// Enum type name.
string name = 1;
// Enum value definitions.
repeated EnumValue enumvalue = 2;
// Protocol buffer options.
repeated Option options = 3;
// The source context.
SourceContext source_context = 4;
// The source syntax.
Syntax syntax = 5;
// The source edition string, only valid when syntax is SYNTAX_EDITIONS.
string edition = 6;
}
// Enum value definition.
//
// New usages of this message as an alternative to EnumValueDescriptorProto are
// strongly discouraged. This message does not reliability preserve all
// information necessary to model the schema and preserve semantics. Instead
// make use of FileDescriptorSet which preserves the necessary information.
message EnumValue {
// Enum value name.
string name = 1;
// Enum value number.
int32 number = 2;
// Protocol buffer options.
repeated Option options = 3;
}
// A protocol buffer option, which can be attached to a message, field,
// enumeration, etc.
//
// New usages of this message as an alternative to FileOptions, MessageOptions,
// FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions, or MethodOptions
// are strongly discouraged.
message Option {
// The option's name. For protobuf built-in options (options defined in
// descriptor.proto), this is the short name. For example, `"map_entry"`.
// For custom options, it should be the fully-qualified name. For example,
// `"google.api.http"`.
string name = 1;
// The option's value packed in an Any message. If the value is a primitive,
// the corresponding wrapper type defined in google/protobuf/wrappers.proto
// should be used. If the value is an enum, it should be stored as an int32
// value using the google.protobuf.Int32Value type.
Any value = 2;
}
// The syntax in which a protocol buffer element is defined.
enum Syntax {
// Syntax `proto2`.
SYNTAX_PROTO2 = 0;
// Syntax `proto3`.
SYNTAX_PROTO3 = 1;
// Syntax `editions`.
SYNTAX_EDITIONS = 2;
}
================================================
FILE: protobuf/google/protobuf/wrappers.proto
================================================
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// https://developers.google.com/protocol-buffers/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// Wrappers for primitive (non-message) types. These types were needed
// for legacy reasons and are not recommended for use in new APIs.
//
// Historically these wrappers were useful to have presence on proto3 primitive
// fields, but proto3 syntax has been updated to support the `optional` keyword.
// Using that keyword is now the strongly preferred way to add presence to
// proto3 primitive fields.
//
// A secondary usecase was to embed primitives in the `google.protobuf.Any`
// type: it is now recommended that you embed your value in your own wrapper
// message which can be specifically documented.
//
// These wrappers have no meaningful use within repeated fields as they lack
// the ability to detect presence on individual elements.
// These wrappers have no meaningful use within a map or a oneof since
// individual entries of a map or fields of a oneof can already detect presence.
syntax = "proto3";
package google.protobuf;
option cc_enable_arenas = true;
option go_package = "google.golang.org/protobuf/types/known/wrapperspb";
option java_package = "com.google.protobuf";
option java_outer_classname = "WrappersProto";
option java_multiple_files = true;
option objc_class_prefix = "GPB";
option csharp_namespace = "Google.Protobuf.WellKnownTypes";
// Wrapper message for `double`.
//
// The JSON representation for `DoubleValue` is JSON number.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message DoubleValue {
// The double value.
double value = 1;
}
// Wrapper message for `float`.
//
// The JSON representation for `FloatValue` is JSON number.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message FloatValue {
// The float value.
float value = 1;
}
// Wrapper message for `int64`.
//
// The JSON representation for `Int64Value` is JSON string.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message Int64Value {
// The int64 value.
int64 value = 1;
}
// Wrapper message for `uint64`.
//
// The JSON representation for `UInt64Value` is JSON string.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message UInt64Value {
// The uint64 value.
uint64 value = 1;
}
// Wrapper message for `int32`.
//
// The JSON representation for `Int32Value` is JSON number.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message Int32Value {
// The int32 value.
int32 value = 1;
}
// Wrapper message for `uint32`.
//
// The JSON representation for `UInt32Value` is JSON number.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message UInt32Value {
// The uint32 value.
uint32 value = 1;
}
// Wrapper message for `bool`.
//
// The JSON representation for `BoolValue` is JSON `true` and `false`.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message BoolValue {
// The bool value.
bool value = 1;
}
// Wrapper message for `string`.
//
// The JSON representation for `StringValue` is JSON string.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message StringValue {
// The string value.
string value = 1;
}
// Wrapper message for `bytes`.
//
// The JSON representation for `BytesValue` is JSON string.
//
// Not recommended for use in new APIs, but still useful for legacy APIs and
// has no plan to be removed.
message BytesValue {
// The bytes value.
bytes value = 1;
}
================================================
FILE: protobuf/lib/meta.dart
================================================
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// Provides metadata about GeneratedMessage and ProtobufEnum to
/// dart-protoc-plugin. (Experimental API; subject to change.)
/// @nodoc
library;
// ignore_for_file: constant_identifier_names
// List of names which cannot be used in a subclass of GeneratedMessage.
const GeneratedMessage_reservedNames = <String>[
'==',
'GeneratedMessage',
'Object',
'addExtension',
'check',
'clear',
'clearExtension',
'clearField',
'clone',
'copyWith',
'createEmptyInstance',
'extensionsAreInitialized',
'freeze',
'getDefaultForField',
'getExtension',
'getField',
'getFieldOrNull',
'getTagNumber',
'hasExtension',
'hasField',
'hasRequiredFields',
'hashCode',
'info_',
'isFrozen',
'isInitialized',
'mergeFromBuffer',
'mergeFromCodedBufferReader',
'mergeFromJson',
'mergeFromJsonMap',
'mergeFromMessage',
'mergeFromProto3Json',
'mergeUnknownFields',
'noSuchMethod',
'runtimeType',
'setExtension',
'setField',
'toBuilder',
'toDebugString',
'toProto3Json',
'toString',
'unknownFields',
'writeToBuffer',
'writeToCodedBufferWriter',
'writeToJson',
'writeToJsonMap',
r'$_clearField',
r'$_ensure',
r'$_get',
r'$_getI64',
r'$_getList',
r'$_getMap',
r'$_getN',
r'$_getB',
r'$_getBF',
r'$_getI',
r'$_getIZ',
r'$_getS',
r'$_getSZ',
r'$_has',
r'$_setBool',
r'$_setBytes',
r'$_setDouble',
r'$_setField',
r'$_setFloat',
r'$_setInt64',
r'$_setSignedInt32',
r'$_setString',
r'$_setUnsignedInt32',
r'$_whichOneof',
];
// List of names which cannot be used in a subclass of ProtobufEnum.
const ProtobufEnum_reservedNames = <String>[
'==',
'Object',
'ProtobufEnum',
'hashCode',
'noSuchMethod',
'runtimeType',
'toString',
];
================================================
FILE: protobuf/lib/protobuf.dart
================================================
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// Runtime library for Dart implementation of [protobufs][1].
///
/// [1]: https://developers.google.com/protocol-buffers
library;
export 'src/protobuf/internal.dart'
hide
BuilderInfoInternalExtension,
ExtensionFieldSet,
ExtensionFieldSetInternalExtension,
FieldInfoInternalExtension,
FieldSet,
FieldSetInternalExtension,
GeneratedMessageInternalExtension,
MapFieldInfoInternalExtension,
checkNotNull,
mergeFromProto3JsonAny,
writeToProto3JsonAny;
================================================
FILE: protobuf/lib/src/protobuf/annotations.dart
================================================
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/// Annotation for marking accessors that belong together.
class TagNumber {
final int tagNumber;
/// Annotation for marking accessors that belong together.
///
/// Allows tooling to associate related accessors. The [tagNumber] is the
/// protobuf field tag associated with the annotated accessor.
const TagNumber(this.tagNumber);
}
/// Use to annotate generated gRPC classes with the ID of the corresponding
/// service.
class GrpcServiceName {
const GrpcServiceName(this.serviceId);
// This field is used by static analyzers.
final String serviceId;
}
================================================
FILE: protobuf/lib/src/protobuf/builder_info.dart
================================================
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
part of 'internal.dart';
/// Per-message type setup.
class BuilderInfo {
/// Fully qualified name of this message.
final String qualifiedMessageName;
/// Mapping from [FieldInfo.index]s to [FieldInfo]s.
final List<FieldInfo> byIndex = <FieldInfo>[];
/// Mapping from [FieldInfo.tagNumber]s to [FieldInfo]s.
final Map<int, FieldInfo> fieldInfo = <int, FieldInfo>{};
/// Mapping from string representation of [FieldInfo.tagNumber]s to
/// [FieldInfo]s.
///
/// This map is used when parsing JSON messages generated by
/// [GeneratedMessage.writeToJson], which converts field tags to strings and
/// uses those strings as JSON map keys. With this field we avoid parsing
/// those strings to integers when parsing the generated maps.
final Map<String, FieldInfo> byTagAsString = <String, FieldInfo>{};
/// Mapping from [FieldInfo.name]s to [FieldInfo]s.
final Map<String, FieldInfo> byName = <String, FieldInfo>{};
/// Mapping from `oneof` field [FieldInfo.tagNumber]s to the their indices in
/// [FieldSet._oneofCases].
final Map<int, int> oneofs = <int, int>{};
/// Whether the message has extension fields.
bool hasExtensions = false;
/// Whether the message has required fields.
///
/// Note that proto3 doesn't have required fields, only proto2 does.
bool hasRequiredFields = true;
List<FieldInfo>? _sortedByTag;
// For well-known types.
final WellKnownType? _wellKnownType;
final CreateBuilderFunc? createEmptyInstance;
BuilderInfo(
String? messageName, {
PackageName package = const PackageName(''),
this.createEmptyInstance,
WellKnownType? wellKnownType,
}) : qualifiedMessageName = '${package.prefix}$messageName',
_wellKnownType = wellKnownType;
void add<T>(
int tagNumber,
String name,
int? fieldType,
dynamic defaultOrMaker,
CreateBuilderFunc? subBuilder,
ValueOfFunc? valueOf,
List<ProtobufEnum>? enumValues, {
String? protoName,
}) {
if (tagNumber == 0) {
addUnused();
} else {
final index = byIndex.length;
final fieldInfo = FieldInfo<T>(
name,
tagNumber,
index,
fieldType!,
defaultOrMaker: defaultOrMaker,
subBuilder: subBuilder,
valueOf: valueOf,
enumValues: enumValues,
protoName: protoName,
);
_addField(fieldInfo);
}
}
// Support for tree-shaking of unused fields.
void addUnused() {
final index = byIndex.length;
_addField(FieldInfo.dummy(index));
}
void addMapField<K, V>(
int tagNumber,
String name,
int keyFieldType,
int valueFieldType,
BuilderInfo mapEntryBuilderInfo,
CreateBuilderFunc? valueCreator, {
ProtobufEnum? defaultEnumValue,
String? protoName,
}) {
final index = byIndex.length;
_addField(
MapFieldInfo<K, V>(
name,
tagNumber,
index,
PbFieldType.M,
keyFieldType,
valueFieldType,
mapEntryBuilderInfo,
valueCreator,
defaultEnumValue: defaultEnumValue,
protoName: protoName,
),
);
}
void addRepeated<T>(
int tagNumber,
String name,
int fieldType,
CheckFunc<T>? check,
CreateBuilderFunc? subBuilder,
ValueOfFunc? valueOf,
List<ProtobufEnum>? enumValues, {
ProtobufEnum? defaultEnumValue,
String? protoName,
}) {
final index = byIndex.length;
_addField(
FieldInfo<T>.repeated(
name,
tagNumber,
index,
fieldType,
check,
subBuilder,
valueOf: valueOf,
enumValues: enumValues,
defaultEnumValue: defaultEnumValue,
protoName: protoName,
),
);
}
void _addField(FieldInfo fi) {
byIndex.add(fi);
assert(byIndex[fi.index!] == fi);
// Fields with tag number 0 are considered dummy fields added to avoid
// index calculations add up. They should not be reflected in the following
// maps.
if (!fi._isDummy) {
fieldInfo[fi.tagNumber] = fi;
byTagAsString['${fi.tagNumber}'] = fi;
byName[fi.name] = fi;
}
}
void a<T>(
int tagNumber,
String name,
int fieldType, {
dynamic defaultOrMaker,
CreateBuilderFunc? subBuilder,
ValueOfFunc? valueOf,
List<ProtobufEnum>? enumValues,
String? protoName,
}) {
add<T>(
tagNumber,
name,
fieldType,
defaultOrMaker,
subBuilder,
valueOf,
enumValues,
protoName: protoName,
);
}
/// Adds PbFieldType.OS String with no default value to reduce generated
/// code size.
void aOS(int tagNumber, String name, {String? protoName}) {
add<String>(
tagNumber,
name,
PbFieldType.OS,
null,
null,
null,
null,
protoName: protoName,
);
}
/// Adds PbFieldType.PS String with no default value.
void pPS(int tagNumber, String name, {String? protoName}) {
addRepeated<String>(
tagNumber,
name,
PbFieldType.PS,
getCheckFunction(PbFieldType.PS),
null,
null,
null,
protoName: protoName,
);
}
/// Adds PbFieldType.QS String with no default value.
void aQS(int tagNumber, String name, {String? protoName}) {
add<String>(
tagNumber,
name,
PbFieldType.QS,
null,
null,
null,
null,
protoName: protoName,
);
}
/// Adds Int64 field with Int64.ZERO default.
void aInt64(int tagNumber, String name, {String? protoName}) {
add<Int64>(
tagNumber,
name,
PbFieldType.O6,
Int64.ZERO,
null,
null,
null,
protoName: protoName,
);
}
/// Adds a boolean with no default value.
void aOB(int tagNumber, String name, {String? protoName}) {
add<bool>(
tagNumber,
name,
PbFieldType.OB,
null,
null,
null,
null,
protoName: protoName,
);
}
/// Adds a double field.
void aD(
int tagNumber,
String name, {
int fieldType = PbFieldType.OD,
dynamic defaultOrMaker,
String? protoName,
}) {
add<double>(
tagNumber,
name,
fieldType,
defaultOrMaker,
null,
null,
null,
protoName: protoName,
);
}
/// Adds an int field.
void aI(
int tagNumber,
String name, {
int fieldType = PbFieldType.O3,
dynamic defaultOrMaker,
String? protoName,
}) {
add<int>(
tagNumber,
name,
fieldType,
defaultOrMaker,
null,
null,
null,
protoName: protoName,
);
}
// Enum.
void e<T>(
int tagNumber,
String name,
int fieldType, {
dynamic defaultOrMaker,
ValueOfFunc? valueOf,
List<ProtobufEnum>? enumValues,
String? protoName,
}) {
add<T>(
tagNumber,
name,
fieldType,
defaultOrMaker,
null,
valueOf,
enumValues,
protoName: protoName,
);
}
// Enum, updated version.
void aE<E extends ProtobufEnum>(
int tagNumber,
String name, {
int fieldType = PbFieldType.OE,
dynamic defaultOrMaker,
ValueOfFunc? valueOf,
gitextract_2g3fdimv/
├── .github/
│ ├── dependabot.yml
│ └── workflows/
│ ├── benchmark.yaml
│ ├── post_summaries.yaml
│ ├── protobuf.yaml
│ ├── protoc_plugin.yaml
│ └── publish.yaml
├── .gitignore
├── AUTHORS
├── LICENSE
├── README.md
├── analysis_options.yaml
├── benchmarks/
│ ├── .gitignore
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── bin/
│ │ ├── binary_decode_packed.dart
│ │ ├── deep_copy.dart
│ │ ├── from_binary.dart
│ │ ├── from_json_string.dart
│ │ ├── from_proto3_json_object.dart
│ │ ├── from_proto3_json_string.dart
│ │ ├── hash_code.dart
│ │ ├── query_decode_binary.dart
│ │ ├── query_decode_json.dart
│ │ ├── query_encode_binary.dart
│ │ ├── query_encode_json.dart
│ │ ├── query_set_nested_value.dart
│ │ ├── repeated_field.dart
│ │ ├── to_binary.dart
│ │ ├── to_json_string.dart
│ │ ├── to_proto3_json_object.dart
│ │ └── to_proto3_json_string.dart
│ ├── datasets/
│ │ ├── google_message1_proto2.pb
│ │ ├── google_message1_proto3.pb
│ │ ├── google_message2.pb
│ │ └── query_benchmark.pb
│ ├── lib/
│ │ ├── benchmark_base.dart
│ │ ├── readfile.dart
│ │ ├── readfile_js.dart
│ │ └── readfile_vm.dart
│ ├── protoc_version
│ ├── protos/
│ │ ├── google_message1_proto2.proto
│ │ ├── google_message1_proto3.proto
│ │ ├── google_message2.proto
│ │ ├── packed_fields.proto
│ │ └── query_benchmark/
│ │ ├── f0.proto
│ │ ├── f1.proto
│ │ ├── f10.proto
│ │ ├── f11.proto
│ │ ├── f12.proto
│ │ ├── f13.proto
│ │ ├── f14.proto
│ │ ├── f15.proto
│ │ ├── f16.proto
│ │ ├── f17.proto
│ │ ├── f18.proto
│ │ ├── f19.proto
│ │ ├── f2.proto
│ │ ├── f20.proto
│ │ ├── f21.proto
│ │ ├── f22.proto
│ │ ├── f23.proto
│ │ ├── f24.proto
│ │ ├── f25.proto
│ │ ├── f26.proto
│ │ ├── f27.proto
│ │ ├── f28.proto
│ │ ├── f3.proto
│ │ ├── f4.proto
│ │ ├── f5.proto
│ │ ├── f6.proto
│ │ ├── f7.proto
│ │ ├── f8.proto
│ │ └── f9.proto
│ ├── pubspec.yaml
│ └── tool/
│ ├── compile_benchmarks.dart
│ ├── compile_protos.sh
│ └── run_protoc_plugin.sh
├── protobuf/
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── build_wkts.sh
│ ├── google/
│ │ └── protobuf/
│ │ ├── any.proto
│ │ ├── api.proto
│ │ ├── duration.proto
│ │ ├── empty.proto
│ │ ├── field_mask.proto
│ │ ├── source_context.proto
│ │ ├── struct.proto
│ │ ├── timestamp.proto
│ │ ├── type.proto
│ │ └── wrappers.proto
│ ├── lib/
│ │ ├── meta.dart
│ │ ├── protobuf.dart
│ │ ├── src/
│ │ │ └── protobuf/
│ │ │ ├── annotations.dart
│ │ │ ├── builder_info.dart
│ │ │ ├── coded_buffer.dart
│ │ │ ├── coded_buffer_reader.dart
│ │ │ ├── coded_buffer_writer.dart
│ │ │ ├── consts.dart
│ │ │ ├── exceptions.dart
│ │ │ ├── extension.dart
│ │ │ ├── extension_field_set.dart
│ │ │ ├── extension_registry.dart
│ │ │ ├── field_error.dart
│ │ │ ├── field_info.dart
│ │ │ ├── field_set.dart
│ │ │ ├── field_type.dart
│ │ │ ├── generated_message.dart
│ │ │ ├── generated_service.dart
│ │ │ ├── internal.dart
│ │ │ ├── json/
│ │ │ │ ├── json.dart
│ │ │ │ ├── json_vm.dart
│ │ │ │ └── json_web.dart
│ │ │ ├── json_parsing_context.dart
│ │ │ ├── message_set.dart
│ │ │ ├── mixins/
│ │ │ │ ├── map_mixin.dart
│ │ │ │ └── well_known.dart
│ │ │ ├── pb_list.dart
│ │ │ ├── pb_map.dart
│ │ │ ├── permissive_compare.dart
│ │ │ ├── proto3_json.dart
│ │ │ ├── protobuf_enum.dart
│ │ │ ├── rpc_client.dart
│ │ │ ├── type_registry.dart
│ │ │ ├── unknown_field_set.dart
│ │ │ ├── unpack.dart
│ │ │ ├── utils.dart
│ │ │ └── wire_format.dart
│ │ └── well_known_types/
│ │ └── google/
│ │ └── protobuf/
│ │ ├── any.pb.dart
│ │ ├── any.pbjson.dart
│ │ ├── api.pb.dart
│ │ ├── api.pbjson.dart
│ │ ├── duration.pb.dart
│ │ ├── duration.pbjson.dart
│ │ ├── empty.pb.dart
│ │ ├── empty.pbjson.dart
│ │ ├── field_mask.pb.dart
│ │ ├── field_mask.pbjson.dart
│ │ ├── source_context.pb.dart
│ │ ├── source_context.pbjson.dart
│ │ ├── struct.pb.dart
│ │ ├── struct.pbenum.dart
│ │ ├── struct.pbjson.dart
│ │ ├── timestamp.pb.dart
│ │ ├── timestamp.pbjson.dart
│ │ ├── type.pb.dart
│ │ ├── type.pbenum.dart
│ │ ├── type.pbjson.dart
│ │ ├── wrappers.pb.dart
│ │ └── wrappers.pbjson.dart
│ ├── pubspec.yaml
│ └── test/
│ ├── builder_info_test.dart
│ ├── codec_test.dart
│ ├── coded_buffer_reader_test.dart
│ ├── dummy_field_test.dart
│ ├── json_test.dart
│ ├── json_vm_test.dart
│ ├── list_equality_test.dart
│ ├── list_test.dart
│ ├── map_mixin_test.dart
│ ├── message_test.dart
│ ├── mock_util.dart
│ ├── permissive_compare_test.dart
│ ├── readonly_message_test.dart
│ └── test_util.dart
├── protoc_plugin/
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── bin/
│ │ ├── protoc-gen-dart
│ │ ├── protoc-gen-dart-debug
│ │ ├── protoc-gen-dart.bat
│ │ ├── protoc_plugin.dart
│ │ └── protoc_plugin_bazel.dart
│ ├── lib/
│ │ ├── bazel.dart
│ │ ├── const_generator.dart
│ │ ├── indenting_writer.dart
│ │ ├── mixins.dart
│ │ ├── names.dart
│ │ ├── protoc.dart
│ │ ├── src/
│ │ │ ├── base_type.dart
│ │ │ ├── client_generator.dart
│ │ │ ├── code_generator.dart
│ │ │ ├── enum_generator.dart
│ │ │ ├── extension_generator.dart
│ │ │ ├── file_generator.dart
│ │ │ ├── formatter.dart
│ │ │ ├── gen/
│ │ │ │ ├── dart_options.pb.dart
│ │ │ │ ├── dart_options.pbenum.dart
│ │ │ │ └── google/
│ │ │ │ ├── api/
│ │ │ │ │ ├── client.pb.dart
│ │ │ │ │ ├── client.pbenum.dart
│ │ │ │ │ ├── http.pb.dart
│ │ │ │ │ ├── http.pbenum.dart
│ │ │ │ │ ├── launch_stage.pb.dart
│ │ │ │ │ ├── launch_stage.pbenum.dart
│ │ │ │ │ ├── routing.pb.dart
│ │ │ │ │ └── routing.pbenum.dart
│ │ │ │ └── protobuf/
│ │ │ │ ├── compiler/
│ │ │ │ │ ├── plugin.pb.dart
│ │ │ │ │ └── plugin.pbenum.dart
│ │ │ │ ├── dart_edition_defaults.pb.dart
│ │ │ │ ├── descriptor.pb.dart
│ │ │ │ ├── descriptor.pbenum.dart
│ │ │ │ ├── unittest_features.pb.dart
│ │ │ │ └── unittest_features.pbenum.dart
│ │ │ ├── grpc_generator.dart
│ │ │ ├── linker.dart
│ │ │ ├── message_generator.dart
│ │ │ ├── options.dart
│ │ │ ├── output_config.dart
│ │ │ ├── paths.dart
│ │ │ ├── protobuf_field.dart
│ │ │ ├── service_generator.dart
│ │ │ ├── shared.dart
│ │ │ └── well_known_types.dart
│ │ ├── string_escape.dart
│ │ └── testing/
│ │ └── mixins.dart
│ ├── protos/
│ │ ├── README.md
│ │ ├── dart_options.proto
│ │ └── google/
│ │ ├── api/
│ │ │ ├── client.proto
│ │ │ ├── http.proto
│ │ │ ├── launch_stage.proto
│ │ │ └── routing.proto
│ │ └── protobuf/
│ │ ├── compiler/
│ │ │ └── plugin.proto
│ │ ├── descriptor.proto
│ │ └── unittest_features.proto
│ ├── pubspec.yaml
│ ├── test/
│ │ ├── any_test.dart
│ │ ├── bazel_test.dart
│ │ ├── client_generator_test.dart
│ │ ├── coded_buffer_test.dart
│ │ ├── const_generator_test.dart
│ │ ├── constructor_args_test.dart
│ │ ├── default_value_escape_test.dart
│ │ ├── deprecations_test.dart
│ │ ├── descriptor_test.dart
│ │ ├── doc_comments_test.dart
│ │ ├── duration_test.dart
│ │ ├── enum_generator_test.dart
│ │ ├── extension_generator_test.dart
│ │ ├── extension_test.dart
│ │ ├── extension_unknown_interaction_test.dart
│ │ ├── feature_set_defaults_test.dart
│ │ ├── file_generator_test.dart
│ │ ├── freeze_test.dart
│ │ ├── generated_message_test.dart
│ │ ├── goldens/
│ │ │ ├── client.pb.dart
│ │ │ ├── deprecations.pb.dart
│ │ │ ├── deprecations.pbenum.dart
│ │ │ ├── doc_comments.pb.dart
│ │ │ ├── doc_comments.pbenum.dart
│ │ │ ├── enum.pbenum.dart
│ │ │ ├── enum.pbenum.dart.meta
│ │ │ ├── extension.pb.dart
│ │ │ ├── extension.pb.dart.meta
│ │ │ ├── grpc_service.pb.dart
│ │ │ ├── grpc_service.pbgrpc.~dart
│ │ │ ├── header_in_package.pb.dart
│ │ │ ├── header_with_fixnum.pb.dart
│ │ │ ├── imports.pb.dart
│ │ │ ├── imports.pbjson.dart
│ │ │ ├── int64.pb.dart
│ │ │ ├── messageGenerator.pb.dart
│ │ │ ├── messageGenerator.pb.dart.meta
│ │ │ ├── messageGeneratorEnums.pb.dart
│ │ │ ├── messageGeneratorEnums.pb.dart.meta
│ │ │ ├── oneMessage.pb.dart
│ │ │ ├── oneMessage.pb.dart.meta
│ │ │ ├── oneMessage.pbjson.dart
│ │ │ ├── service.pb.dart
│ │ │ ├── service.pbserver.dart
│ │ │ ├── serviceGenerator.pb.dart
│ │ │ ├── serviceGenerator.pbjson.dart
│ │ │ ├── topLevelEnum.pb.dart
│ │ │ ├── topLevelEnum.pb.dart.meta
│ │ │ ├── topLevelEnum.pbenum.dart
│ │ │ ├── topLevelEnum.pbenum.dart.meta
│ │ │ └── topLevelEnum.pbjson.dart
│ │ ├── hash_code_test.dart
│ │ ├── high_tagnumber_test.dart
│ │ ├── import_option_test.dart
│ │ ├── import_public_test.dart
│ │ ├── import_test.dart
│ │ ├── indenting_writer_test.dart
│ │ ├── json_test.dart
│ │ ├── leading_underscores_test.dart
│ │ ├── list_iterator_args_test.dart
│ │ ├── map_field_test.dart
│ │ ├── map_test.dart
│ │ ├── merge_test.dart
│ │ ├── message_generator_test.dart
│ │ ├── message_set_test.dart
│ │ ├── message_test.dart
│ │ ├── mixin_test.dart
│ │ ├── names_test.dart
│ │ ├── omit_enum_names_test.dart
│ │ ├── omit_field_names_test.dart
│ │ ├── omit_message_names_test.dart
│ │ ├── oneof_test.dart
│ │ ├── proto3_json_test.dart
│ │ ├── proto3_optional_test.dart
│ │ ├── protoc_options_test.dart
│ │ ├── protos/
│ │ │ ├── ExtensionEnumNameConflict.proto
│ │ │ ├── ExtensionNameConflict.proto
│ │ │ ├── _leading_underscores.proto
│ │ │ ├── custom_option.proto
│ │ │ ├── custom_option_unlinked.proto
│ │ │ ├── dart_name.proto
│ │ │ ├── default_value_escape.proto
│ │ │ ├── deprecations.proto
│ │ │ ├── doc_comments.proto
│ │ │ ├── duplicate_names_import.proto
│ │ │ ├── entity.proto
│ │ │ ├── enum_extension.proto
│ │ │ ├── enum_name.proto
│ │ │ ├── enum_test.proto
│ │ │ ├── enums.proto
│ │ │ ├── extend_unittest.proto
│ │ │ ├── foo.proto
│ │ │ ├── google/
│ │ │ │ └── protobuf/
│ │ │ │ ├── unittest.proto
│ │ │ │ ├── unittest_import.proto
│ │ │ │ ├── unittest_import_public.proto
│ │ │ │ ├── unittest_optimize_for.proto
│ │ │ │ └── unittest_well_known_types.proto
│ │ │ ├── high_tagnumber.proto
│ │ │ ├── import_clash.proto
│ │ │ ├── import_option.proto
│ │ │ ├── import_public.proto
│ │ │ ├── json_name.proto
│ │ │ ├── map_api.proto
│ │ │ ├── map_api2.proto
│ │ │ ├── map_enum_value.proto
│ │ │ ├── map_field.proto
│ │ │ ├── message_set.proto
│ │ │ ├── mixins.proto
│ │ │ ├── multiple_files_test.proto
│ │ │ ├── nested_any.proto
│ │ │ ├── nested_extension.proto
│ │ │ ├── nested_message.proto
│ │ │ ├── non_nested_extension.proto
│ │ │ ├── oneof.proto
│ │ │ ├── package1.proto
│ │ │ ├── package2.proto
│ │ │ ├── package3.proto
│ │ │ ├── proto2_repeated.proto
│ │ │ ├── proto3_optional.proto
│ │ │ ├── proto3_repeated.proto
│ │ │ ├── reserved_names.proto
│ │ │ ├── reserved_names_extension.proto
│ │ │ ├── reserved_names_message.proto
│ │ │ ├── service.proto
│ │ │ ├── service2.proto
│ │ │ ├── service3.proto
│ │ │ ├── toplevel.proto
│ │ │ ├── toplevel_import.proto
│ │ │ └── using_any.proto
│ │ ├── repeated_encoding_test.dart
│ │ ├── repeated_field_test.dart
│ │ ├── reserved_names_test.dart
│ │ ├── send_protos_via_sendports_test.dart
│ │ ├── service_generator_test.dart
│ │ ├── service_test.dart
│ │ ├── shared_test.dart
│ │ ├── src/
│ │ │ ├── golden_file.dart
│ │ │ ├── mirror_util.dart
│ │ │ ├── service_util.dart
│ │ │ ├── test_features.dart
│ │ │ └── test_util.dart
│ │ ├── timestamp_test.dart
│ │ ├── to_builder_test.dart
│ │ ├── unknown_enums_test.dart
│ │ ├── unknown_field_set_test.dart
│ │ ├── validate_fail_test.dart
│ │ └── wire_format_test.dart
│ └── tool/
│ └── update_protos.dart
├── pubspec.yaml
└── tool/
├── generate.sh
└── setup.sh
SYMBOL INDEX (2431 symbols across 197 files)
FILE: benchmarks/bin/binary_decode_packed.dart
class PackedInt32DecodingBenchmark (line 14) | class PackedInt32DecodingBenchmark extends BenchmarkBase {
method run (line 27) | void run()
class PackedInt64DecodingBenchmark (line 32) | class PackedInt64DecodingBenchmark extends BenchmarkBase {
method run (line 46) | void run()
class PackedUint32DecodingBenchmark (line 51) | class PackedUint32DecodingBenchmark extends BenchmarkBase {
method run (line 64) | void run()
class PackedUint64DecodingBenchmark (line 69) | class PackedUint64DecodingBenchmark extends BenchmarkBase {
method run (line 83) | void run()
class PackedSint32DecodingBenchmark (line 88) | class PackedSint32DecodingBenchmark extends BenchmarkBase {
method run (line 101) | void run()
class PackedSint64DecodingBenchmark (line 106) | class PackedSint64DecodingBenchmark extends BenchmarkBase {
method run (line 120) | void run()
class PackedBoolDecodingBenchmark (line 125) | class PackedBoolDecodingBenchmark extends BenchmarkBase {
method run (line 138) | void run()
class PackedEnumDecodingBenchmark (line 143) | class PackedEnumDecodingBenchmark extends BenchmarkBase {
method setup (line 157) | void setup()
method run (line 179) | void run()
class PackedSparseEnumDecodingBenchmark (line 184) | class PackedSparseEnumDecodingBenchmark extends BenchmarkBase {
method run (line 198) | void run()
function main (line 203) | void main()
FILE: benchmarks/bin/deep_copy.dart
class Benchmark (line 18) | class Benchmark extends BenchmarkBase {
method run (line 33) | void run()
function main (line 40) | void main()
FILE: benchmarks/bin/from_binary.dart
class Benchmark (line 20) | class Benchmark extends BenchmarkBase {
method run (line 35) | void run()
function main (line 42) | void main()
FILE: benchmarks/bin/from_json_string.dart
class Benchmark (line 18) | class Benchmark extends BenchmarkBase {
method run (line 36) | void run()
function main (line 43) | void main()
FILE: benchmarks/bin/from_proto3_json_object.dart
class Benchmark (line 18) | class Benchmark extends BenchmarkBase {
method run (line 36) | void run()
function main (line 48) | void main()
FILE: benchmarks/bin/from_proto3_json_string.dart
class Benchmark (line 20) | class Benchmark extends BenchmarkBase {
method run (line 41) | void run()
function main (line 54) | void main()
FILE: benchmarks/bin/hash_code.dart
class Benchmark (line 17) | class Benchmark extends BenchmarkBase {
method run (line 32) | void run()
function main (line 39) | void main()
FILE: benchmarks/bin/query_decode_binary.dart
class Benchmark (line 12) | class Benchmark extends BenchmarkBase {
method run (line 18) | void run()
function main (line 23) | void main()
FILE: benchmarks/bin/query_decode_json.dart
class Benchmark (line 12) | class Benchmark extends BenchmarkBase {
method run (line 19) | void run()
function main (line 24) | void main()
FILE: benchmarks/bin/query_encode_binary.dart
class Benchmark (line 13) | class Benchmark extends BenchmarkBase {
method run (line 19) | void run()
function main (line 24) | void main()
FILE: benchmarks/bin/query_encode_json.dart
class Benchmark (line 11) | class Benchmark extends BenchmarkBase {
method run (line 17) | void run()
function main (line 22) | void main()
FILE: benchmarks/bin/query_set_nested_value.dart
class Benchmark (line 14) | class Benchmark extends BenchmarkBase {
method run (line 21) | void run()
function main (line 32) | void main()
FILE: benchmarks/bin/repeated_field.dart
class RepeatedBenchmark (line 15) | class RepeatedBenchmark extends BenchmarkBase {
method run (line 22) | void run()
class RepeatedEnumBenchmark (line 27) | class RepeatedEnumBenchmark extends BenchmarkBase {
method run (line 34) | void run()
function main (line 39) | void main()
FILE: benchmarks/bin/to_binary.dart
class Benchmark (line 19) | class Benchmark extends BenchmarkBase {
method run (line 34) | void run()
function main (line 41) | void main()
FILE: benchmarks/bin/to_json_string.dart
class Benchmark (line 17) | class Benchmark extends BenchmarkBase {
method run (line 32) | void run()
function main (line 39) | void main()
FILE: benchmarks/bin/to_proto3_json_object.dart
class Benchmark (line 17) | class Benchmark extends BenchmarkBase {
method run (line 32) | void run()
function main (line 39) | void main()
FILE: benchmarks/bin/to_proto3_json_string.dart
class Benchmark (line 19) | class Benchmark extends BenchmarkBase {
method run (line 34) | void run()
function main (line 41) | void main()
FILE: benchmarks/lib/benchmark_base.dart
class BenchmarkBase (line 18) | abstract class BenchmarkBase extends bh.BenchmarkBase {
method measure (line 22) | double measure()
class _ResultPrinter (line 27) | class _ResultPrinter implements bh.ScoreEmitter {
method emit (line 31) | void emit(String testName, double value)
FILE: benchmarks/lib/readfile_js.dart
function readbuffer (line 12) | JSArrayBuffer readbuffer(String path)
function readfile (line 15) | Uint8List readfile(String path)
FILE: benchmarks/lib/readfile_vm.dart
function readfile (line 8) | Uint8List readfile(String path)
FILE: benchmarks/tool/compile_benchmarks.dart
function main (line 14) | Future<void> main(List<String> args)
class CompileProcess (line 130) | class CompileProcess {
class Target (line 137) | class Target {
method toString (line 144) | String toString()
method compileArgs (line 148) | List<String> compileArgs(String sourceFile)
function aotProcessArgs (line 160) | List<String> aotProcessArgs(String sourceFile)
function exeProcessArgs (line 173) | List<String> exeProcessArgs(String sourceFile)
function jitProcessArgs (line 179) | List<String> jitProcessArgs(String sourceFile)
function jsProcessArgs (line 190) | List<String> jsProcessArgs(String sourceFile)
function jsProductionProcessArgs (line 196) | List<String> jsProductionProcessArgs(String sourceFile)
function wasmProcessArgs (line 210) | List<String> wasmProcessArgs(String sourceFile)
FILE: protobuf/lib/src/protobuf/annotations.dart
class TagNumber (line 6) | class TagNumber {
class GrpcServiceName (line 18) | class GrpcServiceName {
FILE: protobuf/lib/src/protobuf/builder_info.dart
class BuilderInfo (line 8) | class BuilderInfo {
method add (line 57) | void add<T>(
method addUnused (line 87) | void addUnused()
method addMapField (line 92) | void addMapField<K, V>(
method addRepeated (line 119) | void addRepeated<T>(
method _addField (line 147) | void _addField(FieldInfo fi)
method a (line 160) | void a<T>(
method aOS (line 184) | void aOS(int tagNumber, String name, {String? protoName})
method pPS (line 198) | void pPS(int tagNumber, String name, {String? protoName})
method aQS (line 212) | void aQS(int tagNumber, String name, {String? protoName})
method aInt64 (line 226) | void aInt64(int tagNumber, String name, {String? protoName})
method aOB (line 240) | void aOB(int tagNumber, String name, {String? protoName})
method aD (line 254) | void aD(
method aI (line 274) | void aI(
method e (line 294) | void e<T>(
method aE (line 316) | void aE<E extends ProtobufEnum>(
method p (line 340) | void p<T>(int tagNumber, String name, int fieldType, {String? protoName})
method pc (line 358) | void pc<T>(
method pPE (line 385) | void pPE<E extends ProtobufEnum>(
method aOM (line 411) | void aOM<T extends GeneratedMessage>(
method aQM (line 430) | void aQM<T extends GeneratedMessage>(
method pPM (line 449) | void pPM<T extends GeneratedMessage>(
method oo (line 468) | void oo(int oneofIndex, List<int> tags)
method m (line 475) | void m<K, V>(
method containsTagNumber (line 514) | bool containsTagNumber(int tagNumber)
method defaultValue (line 516) | dynamic defaultValue(int tagNumber)
method fieldName (line 522) | String? fieldName(int tagNumber)
method fieldType (line 527) | int? fieldType(int tagNumber)
method makeDefault (line 532) | MakeDefaultFunc? makeDefault(int tagNumber)
method subBuilder (line 537) | CreateBuilderFunc? subBuilder(int tagNumber)
method tagNumber (line 542) | int? tagNumber(String fieldName)
method valueOfFunc (line 547) | ValueOfFunc? valueOfFunc(int tagNumber)
method _computeSortedByTag (line 563) | List<FieldInfo> _computeSortedByTag()
method _makeEmptyMessage (line 569) | GeneratedMessage _makeEmptyMessage(
method _decodeEnum (line 583) | ProtobufEnum? _decodeEnum(
function makeEmptyMessage (line 600) | GeneratedMessage makeEmptyMessage(
function decodeEnum (line 605) | ProtobufEnum? decodeEnum(
function _findValueOfEnumFunction (line 612) | E? Function(int) _findValueOfEnumFunction<E extends ProtobufEnum>(
function _makeValueOfEnumFunction (line 632) | E? Function(int) _makeValueOfEnumFunction<E extends ProtobufEnum>(
function intToEnumValue (line 637) | E? intToEnumValue(int value)
FILE: protobuf/lib/src/protobuf/coded_buffer.dart
function _writeToCodedBufferWriter (line 7) | void _writeToCodedBufferWriter(FieldSet fs, CodedBufferWriter out)
function _mergeFromCodedBufferReader (line 32) | void _mergeFromCodedBufferReader(
function _readMapEntry (line 366) | void _readMapEntry(
function _readPackableToListEnum (line 384) | void _readPackableToListEnum(
function _readRepeatedEnum (line 406) | void _readRepeatedEnum(
FILE: protobuf/lib/src/protobuf/coded_buffer_reader.dart
class CodedBufferReader (line 9) | class CodedBufferReader {
method _throwTruncatedMessageError (line 39) | void _throwTruncatedMessageError(int limit)
method checkLastTagWas (line 51) | void checkLastTagWas(int value)
method isAtEnd (line 59) | bool isAtEnd()
method _withLimit (line 63) | void _withLimit(int byteLimit, Function() callback)
method _checkLimit (line 82) | void _checkLimit(int increment)
method readGroup (line 90) | void readGroup(
method readUnknownFieldSetGroup (line 104) | UnknownFieldSet readUnknownFieldSetGroup(int fieldNumber)
method readMessage (line 116) | void readMessage(
method readEnum (line 145) | int readEnum()
method readInt32 (line 149) | int readInt32()
method readInt64 (line 153) | Int64 readInt64()
method readUint32 (line 157) | int readUint32()
method readUint64 (line 161) | Int64 readUint64()
method readSint32 (line 165) | int readSint32()
method readSint64 (line 169) | Int64 readSint64()
method readFixed32 (line 173) | int readFixed32()
method readFixed64 (line 181) | Int64 readFixed64()
method readSfixed32 (line 185) | int readSfixed32()
method readSfixed64 (line 193) | Int64 readSfixed64()
method readBool (line 202) | bool readBool()
method readBytes (line 207) | Uint8List readBytes()
method readBytesAsView (line 215) | Uint8List readBytesAsView()
method readString (line 227) | String readString()
method readFloat (line 238) | double readFloat()
method readDouble (line 246) | double readDouble()
method readTag (line 254) | int readTag()
method skipField (line 267) | bool skipField(int tag)
method _decodeZigZag32 (line 298) | int _decodeZigZag32(int value)
method _decodeZigZag64 (line 308) | Int64 _decodeZigZag64(Int64 value)
method _readRawVarintByte (line 315) | int _readRawVarintByte()
method _readRawVarint32 (line 320) | int _readRawVarint32(bool signed)
method _readRawVarint64 (line 341) | Int64 _readRawVarint64()
FILE: protobuf/lib/src/protobuf/coded_buffer_writer.dart
class CodedBufferWriter (line 22) | class CodedBufferWriter {
method writeField (line 67) | void writeField(int fieldNumber, int fieldType, dynamic fieldValue)
method toBuffer (line 115) | Uint8List toBuffer()
method writeTo (line 123) | bool writeTo(Uint8List buffer, [int offset = 0])
method _commitChunk (line 192) | void _commitChunk(bool allocateNew)
method _ensureBytes (line 214) | void _ensureBytes(int count)
method _commitSplice (line 224) | void _commitSplice()
method writeRawBytes (line 235) | void writeRawBytes(Uint8List value)
method _startLengthDelimited (line 249) | int _startLengthDelimited()
method _endLengthDelimited (line 259) | void _endLengthDelimited(int index)
method _varint32LengthInBytes (line 266) | int _varint32LengthInBytes(int value)
method _writeVarint32 (line 275) | void _writeVarint32(int value)
method _writeVarint64 (line 287) | void _writeVarint64(Int64 value)
method _writeDouble (line 302) | void _writeDouble(double value)
method _writeFloat (line 314) | void _writeFloat(double value)
method _writeInt32 (line 332) | void _writeInt32(int value)
method _writeInt64 (line 344) | void _writeInt64(Int64 value)
method _writeValueAs (line 349) | void _writeValueAs(int valueType, dynamic value)
method _writeBytesNoTag (line 418) | void _writeBytesNoTag(Uint8List value)
method _writeEmptyBytes (line 423) | void _writeEmptyBytes()
method _writeTag (line 427) | void _writeTag(int fieldNumber, int wireFormat)
method _writeValue (line 431) | void _writeValue(
method writeInt32NoTag (line 444) | void writeInt32NoTag(int value)
method _valueTypeIndex (line 458) | int _valueTypeIndex(int powerOf2)
function _encodeZigZag32 (line 509) | int _encodeZigZag32(int value)
function _encodeZigZag64 (line 510) | Int64 _encodeZigZag64(Int64 value)
FILE: protobuf/lib/src/protobuf/exceptions.dart
class InvalidProtocolBufferException (line 13) | class InvalidProtocolBufferException implements Exception {
method toString (line 19) | String toString()
FILE: protobuf/lib/src/protobuf/extension.dart
class Extension (line 8) | class Extension<T> extends FieldInfo<T> {
FILE: protobuf/lib/src/protobuf/extension_field_set.dart
class ExtensionFieldSet (line 7) | class ExtensionFieldSet {
method _getInfoOrNull (line 21) | Extension? _getInfoOrNull(int tagNumber)
method _getFieldOrDefault (line 23) | dynamic _getFieldOrDefault(Extension fi)
method _hasField (line 37) | bool _hasField(int tagNumber)
method _ensureRepeatedField (line 48) | PbList<T> _ensureRepeatedField<T>(Extension<T> fi)
method _getList (line 59) | PbList<T> _getList<T>(Extension<T> fi)
method _addInfoAndCreateList (line 67) | PbList<T> _addInfoAndCreateList<T>(Extension<T> fi)
method _getFieldOrNull (line 77) | dynamic _getFieldOrNull(Extension extension)
method _clearFieldAndInfo (line 79) | void _clearFieldAndInfo(Extension fi)
method _clearField (line 84) | void _clearField(Extension fi)
method _setField (line 92) | void _setField(int tagNumber, value)
method _setFieldAndInfo (line 115) | void _setFieldAndInfo(Extension fi, value)
method _ensureWritable (line 132) | void _ensureWritable()
method _validateInfo (line 138) | void _validateInfo(Extension fi)
method _addInfoUnchecked (line 146) | void _addInfoUnchecked(Extension fi)
method _setFieldUnchecked (line 151) | void _setFieldUnchecked(Extension fi, value)
method _equalValues (line 165) | bool _equalValues(ExtensionFieldSet? other)
method _clearValues (line 168) | void _clearValues()
method _shallowCopyValues (line 174) | void _shallowCopyValues(ExtensionFieldSet original)
method _markReadOnly (line 190) | void _markReadOnly()
method _checkNotInUnknown (line 209) | void _checkNotInUnknown(Extension extension)
method _deepCopy (line 220) | ExtensionFieldSet _deepCopy(FieldSet parent)
function getInfoOrNull (line 252) | Extension? getInfoOrNull(int tagNumber)
FILE: protobuf/lib/src/protobuf/extension_registry.dart
class ExtensionRegistry (line 9) | class ExtensionRegistry {
method add (line 17) | void add(Extension extension)
method addAll (line 26) | void addAll(Iterable<Extension> extensions)
method getExtension (line 32) | Extension? getExtension(String messageName, int tagNumber)
method reparseMessage (line 87) | T reparseMessage<T extends GeneratedMessage>(T message)
function _reparseMessage (line 91) | T _reparseMessage<T extends GeneratedMessage>(
function ensureResult (line 96) | T ensureResult()
function ensureUnknownFields (line 105) | UnknownFieldSet ensureUnknownFields()
function ensureEntries (line 160) | PbList ensureEntries()
function ensureMap (line 164) | PbMap ensureMap()
class _EmptyExtensionRegistry (line 213) | class _EmptyExtensionRegistry implements ExtensionRegistry {
method add (line 221) | void add(Extension extension)
method addAll (line 226) | void addAll(Iterable<Extension> extensions)
method getExtension (line 231) | Extension? getExtension(String messageName, int tagNumber)
method reparseMessage (line 234) | T reparseMessage<T extends GeneratedMessage>(T message)
FILE: protobuf/lib/src/protobuf/field_error.dart
function _getFieldError (line 12) | String? _getFieldError(int fieldType, var value)
function getCheckFunction (line 75) | CheckFunc? getCheckFunction(int fieldType)
function checkNotNull (line 111) | void checkNotNull(Object? val)
function _checkFloat (line 117) | void _checkFloat(Object? val)
function _checkSigned32 (line 121) | void _checkSigned32(Object? val)
function _checkUnsigned32 (line 127) | void _checkUnsigned32(Object? val)
function _createFieldRangeError (line 133) | RangeError _createFieldRangeError(num val, String wantedType)
function _isSigned32 (line 136) | bool _isSigned32(int value)
function _isUnsigned32 (line 138) | bool _isUnsigned32(int value)
function _isFloat32 (line 140) | bool _isFloat32(double value)
FILE: protobuf/lib/src/protobuf/field_info.dart
class FieldInfo (line 8) | class FieldInfo<T> {
method findMakeDefault (line 152) | MakeDefaultFunc? findMakeDefault(int type, dynamic defaultOrMaker)
method _hasRequiredValues (line 179) | bool _hasRequiredValues(dynamic value)
method _appendInvalidFields (line 203) | void _appendInvalidFields(List<String> problems, value, String prefix)
method _createRepeatedField (line 233) | PbList<T> _createRepeatedField()
method _createRepeatedFieldWithType (line 239) | PbList<S> _createRepeatedFieldWithType<S extends T>()
method _ensureRepeatedField (line 246) | PbList<T> _ensureRepeatedField(BuilderInfo meta, FieldSet fs)
method toString (line 251) | String toString()
function ensureRepeatedField (line 255) | List<T> ensureRepeatedField(BuilderInfo meta, FieldSet fs)
function _unCamelCase (line 261) | String _unCamelCase(String name)
class MapFieldInfo (line 269) | class MapFieldInfo<K, V> extends FieldInfo<PbMap<K, V>?> {
method _ensureMapField (line 316) | PbMap<K, V> _ensureMapField(BuilderInfo meta, FieldSet fs)
method _createMapField (line 320) | PbMap<K, V> _createMapField()
function ensureMapField (line 327) | Map<K, V> ensureMapField(BuilderInfo meta, FieldSet fs)
FILE: protobuf/lib/src/protobuf/field_set.dart
function _throwFrozenMessageModificationError (line 9) | void _throwFrozenMessageModificationError(
class FieldSet (line 28) | class FieldSet {
method _makeValueList (line 89) | List _makeValueList(int length)
method _ensureExtensions (line 109) | ExtensionFieldSet _ensureExtensions()
method _ensureUnknownFields (line 112) | UnknownFieldSet _ensureUnknownFields()
method _nonExtensionInfo (line 123) | FieldInfo? _nonExtensionInfo(BuilderInfo meta, int? tagNumber)
method _nonExtensionInfoByIndex (line 127) | FieldInfo _nonExtensionInfoByIndex(int index)
method _ensureInfo (line 131) | FieldInfo _ensureInfo(int tagNumber)
method _getFieldInfoOrNull (line 138) | FieldInfo? _getFieldInfoOrNull(int tagNumber)
method _markReadOnly (line 144) | void _markReadOnly()
method _ensureWritable (line 169) | void _ensureWritable()
method _getField (line 182) | dynamic _getField(int tagNumber)
method _getDefault (line 199) | dynamic _getDefault(FieldInfo fi)
method _getFieldOrNullByTag (line 208) | dynamic _getFieldOrNullByTag(int tagNumber)
method _getFieldOrNull (line 218) | dynamic _getFieldOrNull(FieldInfo fi)
method _hasField (line 223) | bool _hasField(int tagNumber)
method _clearField (line 229) | void _clearField(int tagNumber)
method _setField (line 265) | void _setField(int tagNumber, Object value)
method _setFieldUnchecked (line 290) | void _setFieldUnchecked(BuilderInfo meta, FieldInfo fi, value)
method _ensureRepeatedField (line 307) | PbList<T> _ensureRepeatedField<T>(BuilderInfo meta, FieldInfo<T> fi)
method _ensureMapField (line 321) | PbMap<K, V> _ensureMapField<K, V>(BuilderInfo meta, MapFieldInfo<K, V>...
method _setNonExtensionFieldUnchecked (line 335) | void _setNonExtensionFieldUnchecked(BuilderInfo meta, FieldInfo fi, va...
method _$get (line 352) | T _$get<T>(int index, T? defaultValue)
method _$getND (line 362) | dynamic _$getND(int index)
method _$ensure (line 368) | T _$ensure<T>(int index)
method _$getList (line 380) | PbList<T> _$getList<T>(int index)
method _$getMap (line 397) | PbMap<K, V> _$getMap<K, V>(GeneratedMessage parentMessage, int index)
method _$getB (line 414) | bool _$getB(int index, bool? defaultValue)
method _$getBF (line 425) | bool _$getBF(int index)
method _$getI (line 428) | int _$getI(int index, int? defaultValue)
method _$getIZ (line 439) | int _$getIZ(int index)
method _$getS (line 442) | String _$getS(int index, String? defaultValue)
method _$getSZ (line 453) | String _$getSZ(int index)
method _$getI64 (line 456) | Int64 _$getI64(int index)
method _$has (line 463) | bool _$has(int index)
method _$set (line 475) | void _$set(int index, Object? value)
method _$check (line 496) | bool _$check(int index, var newValue)
method _clear (line 503) | void _clear()
method _equals (line 514) | bool _equals(FieldSet o)
method _equalFieldValues (line 558) | bool _equalFieldValues(Object? left, Object? right)
method _hashField (line 635) | int _hashField(int hash, FieldInfo fi, value)
method writeString (line 670) | void writeString(StringBuffer out, String indent)
method renderValue (line 671) | void renderValue(key, value)
method writeFieldValue (line 683) | void writeFieldValue(fieldValue, String name)
method writeTextFormat (line 732) | void writeTextFormat(StringSink out)
method _writeTextFormat (line 736) | void _writeTextFormat(StringSink out, int initialIndentLevel)
method writeIndent (line 737) | void writeIndent(int indentLevel)
method renderValue (line 744) | void renderValue(String key, dynamic value, int indentLevel)
method writeFieldValue (line 777) | void writeFieldValue(String name, dynamic fieldValue)
method _mergeFromMessage (line 829) | void _mergeFromMessage(FieldSet other)
method _mergeField (line 866) | void _mergeField(FieldInfo otherFi, fieldValue, {required bool isExten...
method _validateField (line 947) | void _validateField(FieldInfo fi, var newValue)
method _setFieldFailedMessage (line 955) | String _setFieldFailedMessage(FieldInfo fi, var value, String detail)
method _hasRequiredValues (line 960) | bool _hasRequiredValues()
method _hasRequiredExtensionValues (line 969) | bool _hasRequiredExtensionValues()
method _appendInvalidFields (line 980) | void _appendInvalidFields(List<String> problems, String prefix)
method _shallowCopyValues (line 993) | void _shallowCopyValues(FieldSet original)
method _deepCopyFrom (line 1036) | void _deepCopyFrom(FieldSet original)
method hasExtension (line 1088) | bool hasExtension(Extension extension)
method getExtension (line 1091) | dynamic getExtension(Extension extension)
method setExtension (line 1094) | void setExtension(Extension extension, Object value)
method addExtension (line 1097) | void addExtension(Extension extension, Object? value)
method clearExtension (line 1107) | void clearExtension(Extension extension)
function ensureWritable (line 1125) | void ensureWritable()
function ensureRepeatedField (line 1126) | PbList<T> ensureRepeatedField<T>(BuilderInfo meta, FieldInfo<T> fi)
function ensureMapField (line 1128) | PbMap<K, V> ensureMapField<K, V>(BuilderInfo meta, MapFieldInfo<K, V> fi)
function validateField (line 1130) | void validateField(FieldInfo fi, dynamic newValue)
function setFieldUnchecked (line 1132) | void setFieldUnchecked(BuilderInfo meta, FieldInfo fi, dynamic value)
FILE: protobuf/lib/src/protobuf/field_type.dart
class PbFieldType (line 9) | class PbFieldType {
method isRepeated (line 10) | bool isRepeated(int fieldType)
method isRequired (line 12) | bool isRequired(int fieldType)
method isEnum (line 14) | bool isEnum(int fieldType)
method isBytes (line 16) | bool isBytes(int fieldType)
method isGroupOrMessage (line 18) | bool isGroupOrMessage(int fieldType)
method isMapField (line 21) | bool isMapField(int fieldType)
method baseType (line 25) | int baseType(int fieldType)
method defaultForType (line 28) | MakeDefaultFunc? defaultForType(int type)
method STRING_EMPTY (line 71) | String STRING_EMPTY()
method BYTES_EMPTY (line 72) | List<int> BYTES_EMPTY()
method BOOL_FALSE (line 73) | bool BOOL_FALSE()
method INT_ZERO (line 74) | int INT_ZERO()
method DOUBLE_ZERO (line 75) | double DOUBLE_ZERO()
FILE: protobuf/lib/src/protobuf/generated_message.dart
type CreateBuilderFunc (line 10) | typedef CreateBuilderFunc = GeneratedMessage Function();
type MakeDefaultFunc (line 13) | typedef MakeDefaultFunc = Function();
type ValueOfFunc (line 17) | typedef ValueOfFunc = ProtobufEnum? Function(int value);
class GeneratedMessage (line 27) | abstract class GeneratedMessage {
method clone (line 65) | GeneratedMessage clone()
method createEmptyInstance (line 74) | GeneratedMessage createEmptyInstance()
method freeze (line 81) | GeneratedMessage freeze()
method toBuilder (line 102) | GeneratedMessage toBuilder()
method copyWith (line 117) | GeneratedMessage copyWith(void Function(GeneratedMessage) updates)
method hasRequiredFields (line 126) | bool hasRequiredFields()
method isInitialized (line 129) | bool isInitialized()
method clear (line 135) | void clear()
method getTagNumber (line 137) | int? getTagNumber(String fieldName)
method toString (line 161) | String toString()
method toDebugString (line 167) | String toDebugString()
method check (line 178) | void check()
method writeToBuffer (line 192) | Uint8List writeToBuffer()
method writeToCodedBufferWriter (line 199) | void writeToCodedBufferWriter(CodedBufferWriter output)
method mergeFromCodedBufferReader (line 203) | void mergeFromCodedBufferReader(
method mergeFromBuffer (line 219) | void mergeFromBuffer(
method writeToJsonMap (line 238) | Map<String, dynamic> writeToJsonMap()
method writeToJson (line 257) | String writeToJson()
method toProto3Json (line 275) | Object? toProto3Json({
method mergeFromProto3Json (line 306) | void mergeFromProto3Json(
method mergeFromJson (line 325) | void mergeFromJson(
method mergeFromJsonMap (line 335) | void mergeFromJsonMap(
method addExtension (line 346) | void addExtension(Extension extension, Object? value)
method clearExtension (line 350) | void clearExtension(Extension extension)
method clearField (line 357) | void clearField(int tagNumber)
method $_whichOneof (line 361) | int $_whichOneof(int oneofIndex)
method extensionsAreInitialized (line 363) | bool extensionsAreInitialized()
method getExtension (line 368) | dynamic getExtension(Extension extension)
method getField (line 373) | dynamic getField(int tagNumber)
method getFieldOrNull (line 379) | dynamic getFieldOrNull(int tagNumber)
method getDefaultForField (line 387) | dynamic getDefaultForField(int tagNumber)
method hasExtension (line 391) | bool hasExtension(Extension extension)
method hasField (line 394) | bool hasField(int tagNumber)
method mergeFromMessage (line 402) | void mergeFromMessage(GeneratedMessage other)
method mergeUnknownFields (line 405) | void mergeUnknownFields(UnknownFieldSet unknownFieldSet)
method setExtension (line 410) | void setExtension(Extension extension, Object value)
method setField (line 422) | void setField(int tagNumber, Object value)
method $_get (line 428) | T $_get<T>(int index, T defaultValue)
method $_getN (line 433) | T $_getN<T>(int index)
method $_ensure (line 437) | T $_ensure<T>(int index)
method $_getList (line 441) | PbList<T> $_getList<T>(int index)
method $_getMap (line 445) | PbMap<K, V> $_getMap<K, V>(int index)
method $_getB (line 450) | bool $_getB(int index, bool defaultValue)
method $_getBF (line 455) | bool $_getBF(int index)
method $_getI (line 459) | int $_getI(int index, int defaultValue)
method $_getIZ (line 464) | int $_getIZ(int index)
method $_getS (line 468) | String $_getS(int index, String defaultValue)
method $_getSZ (line 473) | String $_getSZ(int index)
method $_getI64 (line 477) | Int64 $_getI64(int index)
method $_has (line 481) | bool $_has(int index)
method $_setBool (line 485) | void $_setBool(int index, bool value)
method $_setBytes (line 489) | void $_setBytes(int index, List<int> value)
method $_setString (line 493) | void $_setString(int index, String value)
method $_setFloat (line 497) | void $_setFloat(int index, double value)
method $_setDouble (line 506) | void $_setDouble(int index, double value)
method $_setSignedInt32 (line 510) | void $_setSignedInt32(int index, int value)
method $_setUnsignedInt32 (line 519) | void $_setUnsignedInt32(int index, int value)
method $_setInt64 (line 528) | void $_setInt64(int index, Int64 value)
method $_setField (line 533) | void $_setField(int tagNumber, Object value)
method $_clearField (line 539) | void $_clearField(int tagNumber)
method _defaultMakerFor (line 546) | T Function() _defaultMakerFor<T extends GeneratedMessage>(
method $_defaultFor (line 552) | T $_defaultFor<T extends GeneratedMessage>(T Function() createFn)
method _getSingletonMaker (line 555) | _SingletonMaker<T> _getSingletonMaker<T extends GeneratedMessage>(
class _SingletonMaker (line 573) | class _SingletonMaker<T extends GeneratedMessage> {
class PackageName (line 584) | class PackageName {
function rebuild (line 604) | T rebuild(void Function(T) updates)
function deepCopy (line 618) | T deepCopy()
function toTextFormat (line 633) | String toTextFormat()
function writeTextFormat (line 642) | void writeTextFormat(StringSink sink)
FILE: protobuf/lib/src/protobuf/generated_service.dart
class ServerContext (line 8) | class ServerContext {
class GeneratedService (line 16) | abstract class GeneratedService {
method createRequest (line 18) | GeneratedMessage createRequest(String methodName)
method handleCall (line 21) | Future<GeneratedMessage> handleCall(
FILE: protobuf/lib/src/protobuf/internal.dart
function parseLongInt (line 59) | Int64 parseLongInt(String text)
FILE: protobuf/lib/src/protobuf/json/json.dart
function writeToJsonMap (line 19) | Map<String, dynamic> writeToJsonMap(FieldSet fs)
function convertToMap (line 20) | dynamic convertToMap(dynamic fieldValue, int fieldType)
function writeMap (line 73) | List writeMap(PbMap fieldValue, MapFieldInfo fi)
function mergeFromJsonMap (line 119) | void mergeFromJsonMap(
function _appendJsonList (line 152) | void _appendJsonList(
function _appendJsonMap (line 182) | void _appendJsonMap(
function _setJsonField (line 218) | void _setJsonField(
function _convertJsonValue (line 252) | dynamic _convertJsonValue(
FILE: protobuf/lib/src/protobuf/json/json_vm.dart
function writeToJsonString (line 10) | String writeToJsonString(FieldSet fs)
function mergeFromJsonString (line 13) | void mergeFromJsonString(
FILE: protobuf/lib/src/protobuf/json/json_web.dart
function _stringify (line 19) | JSString _stringify(JSObject value)
function _parse (line 22) | JSAny? _parse(JSString text)
function _isInteger (line 28) | bool _isInteger(JSAny value)
function _objectKeys (line 32) | JSArray<JSString> _objectKeys(JSObject obj)
function _getPrototypeOf (line 38) | JSObject _getPrototypeOf(JSAny obj)
function _as (line 45) | T _as<T extends JSAny>()
function writeToJsonString (line 48) | String writeToJsonString(FieldSet fs)
function _writeToRawJs (line 53) | JSObject _writeToRawJs(FieldSet fs)
function convertToRawJs (line 54) | JSAny convertToRawJs(dynamic fieldValue, int fieldType)
function writeMap (line 129) | JSArray writeMap(PbMap fieldValue, MapFieldInfo fi)
function mergeFromJsonString (line 185) | void mergeFromJsonString(
function _mergeFromRawJsMap (line 202) | void _mergeFromRawJsMap(
function _appendRawJsList (line 246) | void _appendRawJsList(
function _appendRawJsMap (line 277) | void _appendRawJsMap(
function _setRawJsField (line 316) | void _setRawJsField(
function _convertRawJsValue (line 350) | Object? _convertRawJsValue(
FILE: protobuf/lib/src/protobuf/json_parsing_context.dart
class JsonParsingContext (line 5) | class JsonParsingContext {
method addMapIndex (line 18) | void addMapIndex(String index)
method addListIndex (line 22) | void addListIndex(int index)
method popIndex (line 26) | void popIndex()
method parseException (line 31) | Exception parseException(String message, Object? source)
FILE: protobuf/lib/src/protobuf/message_set.dart
class $_MessageSet (line 25) | abstract class $_MessageSet extends GeneratedMessage {
method writeToCodedBufferWriter (line 27) | void writeToCodedBufferWriter(CodedBufferWriter output)
method mergeFromCodedBufferReader (line 51) | void mergeFromCodedBufferReader(
method mergeFromBuffer (line 120) | void mergeFromBuffer(
method _parseExtension (line 127) | void _parseExtension(
FILE: protobuf/lib/src/protobuf/mixins/map_mixin.dart
function clear (line 17) | void clear()
function getTagNumber (line 18) | int? getTagNumber(String fieldName)
function getField (line 19) | dynamic getField(int tagNumber)
function setField (line 20) | void setField(int tagNumber, Object value)
function containsKey (line 43) | bool containsKey(Object? key)
function remove (line 47) | dynamic remove(Object? key)
FILE: protobuf/lib/src/protobuf/mixins/well_known.dart
type WellKnownType (line 14) | enum WellKnownType {
function canUnpackInto (line 44) | bool canUnpackInto(GeneratedMessage instance)
function unpackInto (line 56) | T unpackInto<T extends GeneratedMessage>(
function packIntoAny (line 73) | void packIntoAny(
function toProto3JsonHelper (line 110) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 125) | void fromProto3JsonHelper(
function _typeNameFromUrl (line 165) | String _typeNameFromUrl(String typeUrl)
function toDateTime (line 185) | DateTime toDateTime({bool toLocal = false})
function setFromDateTime (line 194) | void setFromDateTime(TimestampMixin target, DateTime dateTime)
function _twoDigits (line 200) | String _twoDigits(int n)
function toProto3JsonHelper (line 224) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 264) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 317) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 334) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 371) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 382) | void fromProto3JsonHelper(
function hasNullValue (line 418) | bool hasNullValue()
function hasNumberValue (line 422) | bool hasNumberValue()
function hasStringValue (line 426) | bool hasStringValue()
function hasBoolValue (line 430) | bool hasBoolValue()
function hasStructValue (line 434) | bool hasStructValue()
function hasListValue (line 438) | bool hasListValue()
function toProto3JsonHelper (line 444) | Object? toProto3JsonHelper(
function fromProto3JsonHelper (line 468) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 518) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 530) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 562) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 577) | void fromProto3JsonHelper(
function _toCamelCase (line 605) | String _toCamelCase(String name)
function _fromCamelCase (line 612) | String _fromCamelCase(String name)
function toProto3JsonHelper (line 626) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 633) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 663) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 670) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 700) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 707) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 736) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 743) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 775) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 782) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 810) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 819) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 849) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 856) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 876) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 883) | void fromProto3JsonHelper(
function toProto3JsonHelper (line 903) | Object toProto3JsonHelper(
function fromProto3JsonHelper (line 910) | void fromProto3JsonHelper(
FILE: protobuf/lib/src/protobuf/pb_list.dart
function newPbList (line 14) | PbList<E> newPbList<E>({CheckFunc<E>? check})
function newUnmodifiablePbList (line 19) | PbList<E> newUnmodifiablePbList<E>({CheckFunc<E>? check})
class PbList (line 23) | class PbList<E> extends ListBase<E> {
method add (line 53) | void add(E element)
method _addUnchecked (line 64) | void _addUnchecked(E element)
method addAll (line 70) | void addAll(Iterable<E> iterable)
method sort (line 86) | void sort([int Function(E a, E b)? compare])
method shuffle (line 92) | void shuffle([math.Random? random])
method clear (line 99) | void clear()
method insert (line 105) | void insert(int index, E element)
method insertAll (line 114) | void insertAll(int index, Iterable<E> iterable)
method setAll (line 130) | void setAll(int index, Iterable<E> iterable)
method remove (line 146) | bool remove(Object? element)
method removeAt (line 152) | E removeAt(int index)
method removeLast (line 158) | E removeLast()
method removeWhere (line 164) | void removeWhere(bool Function(E element) test)
method retainWhere (line 170) | void retainWhere(bool Function(E element) test)
method setRange (line 176) | void setRange(int start, int end, Iterable<E> iterable, [int skipCount...
method removeRange (line 194) | void removeRange(int start, int end)
method fillRange (line 200) | void fillRange(int start, int end, [E? fill])
method replaceRange (line 209) | void replaceRange(int start, int end, Iterable<E> newContents)
method freeze (line 266) | void freeze()
method _checkModifiable (line 282) | void _checkModifiable(String methodName)
method _readOnlyError (line 288) | Never _readOnlyError(String methodName)
method _deepCopy (line 292) | PbList<E> _deepCopy()
function checkModifiable (line 313) | void checkModifiable(String methodName)
function addUnchecked (line 318) | void addUnchecked(E element)
function deepCopy (line 323) | PbList<E> deepCopy()
FILE: protobuf/lib/src/protobuf/pb_map.dart
function newPbMap (line 16) | PbMap<K, V> newPbMap<K, V>(int keyFieldType, int valueFieldType)
function newUnmodifiablePbMap (line 27) | PbMap<K, V> newUnmodifiablePbMap<K, V>(int keyFieldType, int valueFieldT...
class PbMap (line 31) | class PbMap<K, V> extends MapBase<K, V> {
method clear (line 119) | void clear()
method remove (line 130) | V? remove(Object? key)
method freeze (line 137) | PbMap freeze()
method _deepCopy (line 147) | PbMap<K, V> _deepCopy()
function deepCopy (line 172) | PbMap<K, V> deepCopy()
FILE: protobuf/lib/src/protobuf/permissive_compare.dart
function permissiveCompare (line 10) | bool permissiveCompare(String a, String b)
function _isAsciiLetter (line 35) | bool _isAsciiLetter(int char)
FILE: protobuf/lib/src/protobuf/proto3_json.dart
function writeToProto3JsonAny (line 8) | Object writeToProto3JsonAny(
function _writeToProto3Json (line 41) | Object? _writeToProto3Json(FieldSet fs, TypeRegistry typeRegistry)
function convertToMapKey (line 42) | String? convertToMapKey(dynamic key, int keyType)
function valueToProto3Json (line 69) | Object? valueToProto3Json(dynamic fieldValue, int? fieldType)
function findFirst (line 196) | E? findFirst(bool Function(E) test)
function mergeFromProto3JsonAny (line 205) | void mergeFromProto3JsonAny(
function _mergeFromProto3Json (line 256) | void _mergeFromProto3Json(
function _mergeFromProto3JsonWithContext (line 274) | void _mergeFromProto3JsonWithContext(
function recursionHelper (line 282) | void recursionHelper(Object? json, FieldSet fieldSet)
function convertProto3JsonValue (line 285) | Object? convertProto3JsonValue(Object value, FieldInfo fieldInfo)
function decodeMapKey (line 426) | Object decodeMapKey(String key, int fieldType)
FILE: protobuf/lib/src/protobuf/protobuf_enum.dart
class ProtobufEnum (line 32) | class ProtobufEnum {
method initByValue (line 48) | Map<int, T> initByValue<T extends ProtobufEnum>(List<T> enumValues)
method $_initByValueList (line 59) | List<T?> $_initByValueList<T extends ProtobufEnum>(
method toString (line 72) | String toString()
FILE: protobuf/lib/src/protobuf/rpc_client.dart
class ClientContext (line 8) | class ClientContext {
class RpcClient (line 24) | abstract class RpcClient {
method invoke (line 30) | Future<T> invoke<T extends GeneratedMessage>(
FILE: protobuf/lib/src/protobuf/type_registry.dart
class TypeRegistry (line 13) | class TypeRegistry {
method lookup (line 33) | BuilderInfo? lookup(String qualifiedName)
FILE: protobuf/lib/src/protobuf/unknown_field_set.dart
class UnknownFieldSet (line 8) | class UnknownFieldSet {
method clone (line 23) | UnknownFieldSet clone()
method asMap (line 29) | Map<int, UnknownFieldSetField> asMap()
method clear (line 31) | void clear()
method clearField (line 36) | void clearField(int tagNumber)
method getField (line 41) | UnknownFieldSetField? getField(int tagNumber)
method hasField (line 43) | bool hasField(int tagNumber)
method addField (line 45) | void addField(int number, UnknownFieldSetField field)
method mergeField (line 51) | void mergeField(int number, UnknownFieldSetField field)
method mergeFieldFromBuffer (line 61) | bool mergeFieldFromBuffer(int tag, CodedBufferReader input)
method mergeFromCodedBufferReader (line 88) | void mergeFromCodedBufferReader(CodedBufferReader input)
method mergeFromUnknownFieldSet (line 98) | void mergeFromUnknownFieldSet(UnknownFieldSet other)
method _checkFieldNumber (line 105) | void _checkFieldNumber(int number)
method mergeFixed32Field (line 111) | void mergeFixed32Field(int number, int value)
method mergeFixed64Field (line 116) | void mergeFixed64Field(int number, Int64 value)
method mergeGroupField (line 121) | void mergeGroupField(int number, UnknownFieldSet value)
method mergeLengthDelimitedField (line 126) | void mergeLengthDelimitedField(int number, List<int> value)
method mergeVarintField (line 131) | void mergeVarintField(int number, Int64 value)
method _getField (line 136) | UnknownFieldSetField _getField(int number)
method toString (line 161) | String toString()
method _toString (line 163) | String _toString(String indent)
method writeTextFormat (line 183) | void writeTextFormat(StringSink out, int indentLevel)
method _writeUnknownFieldSetField (line 190) | void _writeUnknownFieldSetField(
method writeIndent (line 196) | void writeIndent(StringSink out, int indentLevel)
method writeToCodedBufferWriter (line 247) | void writeToCodedBufferWriter(CodedBufferWriter output)
method _markReadOnly (line 253) | void _markReadOnly()
method _ensureWritable (line 261) | void _ensureWritable(String methodName)
method _deepCopy (line 267) | UnknownFieldSet _deepCopy()
class UnknownFieldSetField (line 279) | class UnknownFieldSetField {
method _markReadOnly (line 309) | void _markReadOnly()
method writeTo (line 374) | void writeTo(int fieldNumber, CodedBufferWriter output)
method write (line 375) | void write(int type, value)
method addGroup (line 386) | void addGroup(UnknownFieldSet value)
method addLengthDelimited (line 390) | void addLengthDelimited(List<int> value)
method addFixed32 (line 394) | void addFixed32(int value)
method addFixed64 (line 398) | void addFixed64(Int64 value)
method addVarint (line 402) | void addVarint(Int64 value)
method _deepCopy (line 406) | UnknownFieldSetField _deepCopy()
FILE: protobuf/lib/src/protobuf/unpack.dart
function unpackIntoHelper (line 15) | void unpackIntoHelper<T extends GeneratedMessage>(
function canUnpackIntoHelper (line 44) | bool canUnpackIntoHelper(GeneratedMessage instance, String typeUrl)
function _typeNameFromUrl (line 48) | String _typeNameFromUrl(String typeUrl)
FILE: protobuf/lib/src/protobuf/utils.dart
type CheckFunc (line 13) | typedef CheckFunc<E> = void Function(E? x);
function deepEquals (line 16) | bool deepEquals(Object? lhs, Object? rhs)
function areListsEqual (line 25) | bool areListsEqual(List<Object?> lhs, List<Object?> rhs)
function areMapsEqual (line 33) | bool areMapsEqual(Map<Object?, Object?> lhs, Map<Object?, Object?> rhs)
function sorted (line 38) | List<T> sorted<T>(Iterable<T> list)
function escapeString (line 44) | String escapeString(String s)
function escapeBytes (line 56) | void escapeBytes(List<int> bytes, StringSink out)
class HashUtils (line 91) | class HashUtils {
method combine (line 95) | int combine(int hash, int value)
method _finish (line 101) | int _finish(int hash)
method hashObjects (line 108) | int hashObjects(Iterable objects)
method hash2 (line 112) | int hash2(dynamic a, dynamic b)
class Proto3ParseUtils (line 116) | class Proto3ParseUtils {
method tryParse32Bit (line 117) | int tryParse32Bit(String s, JsonParsingContext context)
method check32BitSigned (line 122) | int check32BitSigned(int n, JsonParsingContext context)
method check32BitUnsigned (line 129) | int check32BitUnsigned(int n, JsonParsingContext context)
method tryParse64Bit (line 136) | Int64 tryParse64Bit(
FILE: protobuf/lib/src/protobuf/wire_format.dart
function getTagFieldNumber (line 31) | int getTagFieldNumber(int tag)
function getTagWireType (line 34) | int getTagWireType(int tag)
function makeTag (line 37) | int makeTag(int fieldNumber, int tag)
function _wireTypeMatches (line 40) | bool _wireTypeMatches(int fieldType, int wireType)
FILE: protobuf/lib/well_known_types/google/protobuf/any.pb.dart
class Any (line 106) | class Any extends $pb.GeneratedMessage with $mixin.AnyMixin {
method clone (line 138) | Any clone()
method copyWith (line 140) | Any copyWith(void Function(Any) updates)
method create (line 147) | Any create()
method createEmptyInstance (line 149) | Any createEmptyInstance()
method getDefault (line 151) | Any getDefault()
method hasTypeUrl (line 188) | $core.bool hasTypeUrl()
method clearTypeUrl (line 190) | void clearTypeUrl()
method hasValue (line 198) | $core.bool hasValue()
method clearValue (line 200) | void clearValue()
method pack (line 206) | Any pack($pb.GeneratedMessage message,
FILE: protobuf/lib/well_known_types/google/protobuf/api.pb.dart
class Api (line 36) | class Api extends $pb.GeneratedMessage {
method clone (line 88) | Api clone()
method copyWith (line 90) | Api copyWith(void Function(Api) updates)
method create (line 97) | Api create()
method createEmptyInstance (line 99) | Api createEmptyInstance()
method getDefault (line 101) | Api getDefault()
method hasName (line 112) | $core.bool hasName()
method clearName (line 114) | void clearName()
method hasVersion (line 148) | $core.bool hasVersion()
method clearVersion (line 150) | void clearVersion()
method hasSourceContext (line 159) | $core.bool hasSourceContext()
method clearSourceContext (line 161) | void clearSourceContext()
method ensureSourceContext (line 163) | $1.SourceContext ensureSourceContext()
method hasSyntax (line 175) | $core.bool hasSyntax()
method clearSyntax (line 177) | void clearSyntax()
method hasEdition (line 185) | $core.bool hasEdition()
method clearEdition (line 187) | void clearEdition()
class Method (line 196) | class Method extends $pb.GeneratedMessage {
method clone (line 246) | Method clone()
method copyWith (line 248) | Method copyWith(void Function(Method) updates)
method create (line 255) | Method create()
method createEmptyInstance (line 257) | Method createEmptyInstance()
method getDefault (line 259) | Method getDefault()
method hasName (line 269) | $core.bool hasName()
method clearName (line 271) | void clearName()
method hasRequestTypeUrl (line 279) | $core.bool hasRequestTypeUrl()
method clearRequestTypeUrl (line 281) | void clearRequestTypeUrl()
method hasRequestStreaming (line 289) | $core.bool hasRequestStreaming()
method clearRequestStreaming (line 291) | void clearRequestStreaming()
method hasResponseTypeUrl (line 299) | $core.bool hasResponseTypeUrl()
method clearResponseTypeUrl (line 301) | void clearResponseTypeUrl()
method hasResponseStreaming (line 309) | $core.bool hasResponseStreaming()
method clearResponseStreaming (line 311) | void clearResponseStreaming()
method hasSyntax (line 329) | $core.bool hasSyntax()
method clearSyntax (line 332) | void clearSyntax()
method hasEdition (line 346) | $core.bool hasEdition()
method clearEdition (line 349) | void clearEdition()
class Mixin (line 430) | class Mixin extends $pb.GeneratedMessage {
method clone (line 460) | Mixin clone()
method copyWith (line 462) | Mixin copyWith(void Function(Mixin) updates)
method create (line 469) | Mixin create()
method createEmptyInstance (line 471) | Mixin createEmptyInstance()
method getDefault (line 473) | Mixin getDefault()
method hasName (line 483) | $core.bool hasName()
method clearName (line 485) | void clearName()
method hasRoot (line 494) | $core.bool hasRoot()
method clearRoot (line 496) | void clearRoot()
FILE: protobuf/lib/well_known_types/google/protobuf/duration.pb.dart
class Duration (line 80) | class Duration extends $pb.GeneratedMessage with $mixin.DurationMixin {
method clone (line 111) | Duration clone()
method copyWith (line 113) | Duration copyWith(void Function(Duration) updates)
method create (line 120) | Duration create()
method createEmptyInstance (line 122) | Duration createEmptyInstance()
method getDefault (line 124) | Duration getDefault()
method hasSeconds (line 136) | $core.bool hasSeconds()
method clearSeconds (line 138) | void clearSeconds()
method hasNanos (line 151) | $core.bool hasNanos()
method clearNanos (line 153) | void clearNanos()
method toDart (line 159) | $core.Duration toDart()
method fromDart (line 165) | Duration fromDart($core.Duration duration)
FILE: protobuf/lib/well_known_types/google/protobuf/empty.pb.dart
class Empty (line 26) | class Empty extends $pb.GeneratedMessage {
method clone (line 46) | Empty clone()
method copyWith (line 48) | Empty copyWith(void Function(Empty) updates)
method create (line 55) | Empty create()
method createEmptyInstance (line 57) | Empty createEmptyInstance()
method getDefault (line 59) | Empty getDefault()
FILE: protobuf/lib/well_known_types/google/protobuf/field_mask.pb.dart
class FieldMask (line 220) | class FieldMask extends $pb.GeneratedMessage with $mixin.FieldMaskMixin {
method clone (line 248) | FieldMask clone()
method copyWith (line 250) | FieldMask copyWith(void Function(FieldMask) updates)
method create (line 257) | FieldMask create()
method createEmptyInstance (line 259) | FieldMask createEmptyInstance()
method getDefault (line 261) | FieldMask getDefault()
FILE: protobuf/lib/well_known_types/google/protobuf/source_context.pb.dart
class SourceContext (line 21) | class SourceContext extends $pb.GeneratedMessage {
method clone (line 48) | SourceContext clone()
method copyWith (line 50) | SourceContext copyWith(void Function(SourceContext) updates)
method create (line 58) | SourceContext create()
method createEmptyInstance (line 60) | SourceContext createEmptyInstance()
method getDefault (line 62) | SourceContext getDefault()
method hasFileName (line 73) | $core.bool hasFileName()
method clearFileName (line 75) | void clearFileName()
FILE: protobuf/lib/well_known_types/google/protobuf/struct.pb.dart
class Struct (line 31) | class Struct extends $pb.GeneratedMessage with $mixin.StructMixin {
method clone (line 65) | Struct clone()
method copyWith (line 67) | Struct copyWith(void Function(Struct) updates)
method create (line 74) | Struct create()
method createEmptyInstance (line 76) | Struct createEmptyInstance()
method getDefault (line 78) | Struct getDefault()
type Value_Kind (line 87) | enum Value_Kind {
class Value (line 103) | class Value extends $pb.GeneratedMessage with $mixin.ValueMixin {
method clone (line 159) | Value clone()
method copyWith (line 161) | Value copyWith(void Function(Value) updates)
method create (line 168) | Value create()
method createEmptyInstance (line 170) | Value createEmptyInstance()
method getDefault (line 172) | Value getDefault()
method whichKind (line 182) | Value_Kind whichKind()
method clearKind (line 189) | void clearKind()
method hasNullValue (line 197) | $core.bool hasNullValue()
method clearNullValue (line 199) | void clearNullValue()
method hasNumberValue (line 207) | $core.bool hasNumberValue()
method clearNumberValue (line 209) | void clearNumberValue()
method hasStringValue (line 217) | $core.bool hasStringValue()
method clearStringValue (line 219) | void clearStringValue()
method hasBoolValue (line 227) | $core.bool hasBoolValue()
method clearBoolValue (line 229) | void clearBoolValue()
method hasStructValue (line 237) | $core.bool hasStructValue()
method clearStructValue (line 239) | void clearStructValue()
method ensureStructValue (line 241) | Struct ensureStructValue()
method hasListValue (line 249) | $core.bool hasListValue()
method clearListValue (line 251) | void clearListValue()
method ensureListValue (line 253) | ListValue ensureListValue()
class ListValue (line 259) | class ListValue extends $pb.GeneratedMessage with $mixin.ListValueMixin {
method clone (line 287) | ListValue clone()
method copyWith (line 289) | ListValue copyWith(void Function(ListValue) updates)
method create (line 296) | ListValue create()
method createEmptyInstance (line 298) | ListValue createEmptyInstance()
method getDefault (line 300) | ListValue getDefault()
FILE: protobuf/lib/well_known_types/google/protobuf/struct.pbenum.dart
class NullValue (line 21) | class NullValue extends $pb.ProtobufEnum {
method valueOf (line 32) | NullValue? valueOf($core.int value)
FILE: protobuf/lib/well_known_types/google/protobuf/timestamp.pb.dart
class Timestamp (line 111) | class Timestamp extends $pb.GeneratedMessage with $mixin.TimestampMixin {
method clone (line 142) | Timestamp clone()
method copyWith (line 144) | Timestamp copyWith(void Function(Timestamp) updates)
method create (line 151) | Timestamp create()
method createEmptyInstance (line 153) | Timestamp createEmptyInstance()
method getDefault (line 155) | Timestamp getDefault()
method hasSeconds (line 167) | $core.bool hasSeconds()
method clearSeconds (line 169) | void clearSeconds()
method hasNanos (line 181) | $core.bool hasNanos()
method clearNanos (line 183) | void clearNanos()
method fromDateTime (line 188) | Timestamp fromDateTime($core.DateTime dateTime)
FILE: protobuf/lib/well_known_types/google/protobuf/type.pb.dart
class Type (line 30) | class Type extends $pb.GeneratedMessage {
method clone (line 77) | Type clone()
method copyWith (line 79) | Type copyWith(void Function(Type) updates)
method create (line 86) | Type create()
method createEmptyInstance (line 88) | Type createEmptyInstance()
method getDefault (line 90) | Type getDefault()
method hasName (line 100) | $core.bool hasName()
method clearName (line 102) | void clearName()
method hasSourceContext (line 122) | $core.bool hasSourceContext()
method clearSourceContext (line 124) | void clearSourceContext()
method ensureSourceContext (line 126) | $0.SourceContext ensureSourceContext()
method hasSyntax (line 134) | $core.bool hasSyntax()
method clearSyntax (line 136) | void clearSyntax()
method hasEdition (line 144) | $core.bool hasEdition()
method clearEdition (line 146) | void clearEdition()
class Field (line 155) | class Field extends $pb.GeneratedMessage {
method clone (line 212) | Field clone()
method copyWith (line 214) | Field copyWith(void Function(Field) updates)
method create (line 221) | Field create()
method createEmptyInstance (line 223) | Field createEmptyInstance()
method getDefault (line 225) | Field getDefault()
method hasKind (line 235) | $core.bool hasKind()
method clearKind (line 237) | void clearKind()
method hasCardinality (line 245) | $core.bool hasCardinality()
method clearCardinality (line 247) | void clearCardinality()
method hasNumber (line 255) | $core.bool hasNumber()
method clearNumber (line 257) | void clearNumber()
method hasName (line 265) | $core.bool hasName()
method clearName (line 267) | void clearName()
method hasTypeUrl (line 276) | $core.bool hasTypeUrl()
method clearTypeUrl (line 278) | void clearTypeUrl()
method hasOneofIndex (line 287) | $core.bool hasOneofIndex()
method clearOneofIndex (line 289) | void clearOneofIndex()
method hasPacked (line 297) | $core.bool hasPacked()
method clearPacked (line 299) | void clearPacked()
method hasJsonName (line 311) | $core.bool hasJsonName()
method clearJsonName (line 313) | void clearJsonName()
method hasDefaultValue (line 321) | $core.bool hasDefaultValue()
method clearDefaultValue (line 323) | void clearDefaultValue()
class Enum (line 332) | class Enum extends $pb.GeneratedMessage {
method clone (line 377) | Enum clone()
method copyWith (line 379) | Enum copyWith(void Function(Enum) updates)
method create (line 386) | Enum create()
method createEmptyInstance (line 388) | Enum createEmptyInstance()
method getDefault (line 390) | Enum getDefault()
method hasName (line 400) | $core.bool hasName()
method clearName (line 402) | void clearName()
method hasSourceContext (line 418) | $core.bool hasSourceContext()
method clearSourceContext (line 420) | void clearSourceContext()
method ensureSourceContext (line 422) | $0.SourceContext ensureSourceContext()
method hasSyntax (line 430) | $core.bool hasSyntax()
method clearSyntax (line 432) | void clearSyntax()
method hasEdition (line 440) | $core.bool hasEdition()
method clearEdition (line 442) | void clearEdition()
class EnumValue (line 451) | class EnumValue extends $pb.GeneratedMessage {
method clone (line 485) | EnumValue clone()
method copyWith (line 487) | EnumValue copyWith(void Function(EnumValue) updates)
method create (line 494) | EnumValue create()
method createEmptyInstance (line 496) | EnumValue createEmptyInstance()
method getDefault (line 498) | EnumValue getDefault()
method hasName (line 508) | $core.bool hasName()
method clearName (line 510) | void clearName()
method hasNumber (line 518) | $core.bool hasNumber()
method clearNumber (line 520) | void clearNumber()
class Option (line 533) | class Option extends $pb.GeneratedMessage {
method clone (line 563) | Option clone()
method copyWith (line 565) | Option copyWith(void Function(Option) updates)
method create (line 572) | Option create()
method createEmptyInstance (line 574) | Option createEmptyInstance()
method getDefault (line 576) | Option getDefault()
method hasName (line 589) | $core.bool hasName()
method clearName (line 591) | void clearName()
method hasValue (line 602) | $core.bool hasValue()
method clearValue (line 604) | void clearValue()
method ensureValue (line 606) | $1.Any ensureValue()
FILE: protobuf/lib/well_known_types/google/protobuf/type.pbenum.dart
class Syntax (line 18) | class Syntax extends $pb.ProtobufEnum {
method valueOf (line 39) | Syntax? valueOf($core.int value)
class Field_Kind (line 46) | class Field_Kind extends $pb.ProtobufEnum {
method valueOf (line 147) | Field_Kind? valueOf($core.int value)
class Field_Cardinality (line 154) | class Field_Cardinality extends $pb.ProtobufEnum {
method valueOf (line 180) | Field_Cardinality? valueOf($core.int value)
FILE: protobuf/lib/well_known_types/google/protobuf/wrappers.pb.dart
class DoubleValue (line 28) | class DoubleValue extends $pb.GeneratedMessage with $mixin.DoubleValueMi...
method clone (line 56) | DoubleValue clone()
method copyWith (line 58) | DoubleValue copyWith(void Function(DoubleValue) updates)
method create (line 66) | DoubleValue create()
method createEmptyInstance (line 68) | DoubleValue createEmptyInstance()
method getDefault (line 70) | DoubleValue getDefault()
method hasValue (line 80) | $core.bool hasValue()
method clearValue (line 82) | void clearValue()
class FloatValue (line 91) | class FloatValue extends $pb.GeneratedMessage with $mixin.FloatValueMixin {
method clone (line 119) | FloatValue clone()
method copyWith (line 121) | FloatValue copyWith(void Function(FloatValue) updates)
method create (line 128) | FloatValue create()
method createEmptyInstance (line 130) | FloatValue createEmptyInstance()
method getDefault (line 132) | FloatValue getDefault()
method hasValue (line 142) | $core.bool hasValue()
method clearValue (line 144) | void clearValue()
class Int64Value (line 153) | class Int64Value extends $pb.GeneratedMessage with $mixin.Int64ValueMixin {
method clone (line 181) | Int64Value clone()
method copyWith (line 183) | Int64Value copyWith(void Function(Int64Value) updates)
method create (line 190) | Int64Value create()
method createEmptyInstance (line 192) | Int64Value createEmptyInstance()
method getDefault (line 194) | Int64Value getDefault()
method hasValue (line 204) | $core.bool hasValue()
method clearValue (line 206) | void clearValue()
class UInt64Value (line 215) | class UInt64Value extends $pb.GeneratedMessage with $mixin.UInt64ValueMi...
method clone (line 244) | UInt64Value clone()
method copyWith (line 246) | UInt64Value copyWith(void Function(UInt64Value) updates)
method create (line 254) | UInt64Value create()
method createEmptyInstance (line 256) | UInt64Value createEmptyInstance()
method getDefault (line 258) | UInt64Value getDefault()
method hasValue (line 268) | $core.bool hasValue()
method clearValue (line 270) | void clearValue()
class Int32Value (line 279) | class Int32Value extends $pb.GeneratedMessage with $mixin.Int32ValueMixin {
method clone (line 307) | Int32Value clone()
method copyWith (line 309) | Int32Value copyWith(void Function(Int32Value) updates)
method create (line 316) | Int32Value create()
method createEmptyInstance (line 318) | Int32Value createEmptyInstance()
method getDefault (line 320) | Int32Value getDefault()
method hasValue (line 330) | $core.bool hasValue()
method clearValue (line 332) | void clearValue()
class UInt32Value (line 341) | class UInt32Value extends $pb.GeneratedMessage with $mixin.UInt32ValueMi...
method clone (line 369) | UInt32Value clone()
method copyWith (line 371) | UInt32Value copyWith(void Function(UInt32Value) updates)
method create (line 379) | UInt32Value create()
method createEmptyInstance (line 381) | UInt32Value createEmptyInstance()
method getDefault (line 383) | UInt32Value getDefault()
method hasValue (line 393) | $core.bool hasValue()
method clearValue (line 395) | void clearValue()
class BoolValue (line 404) | class BoolValue extends $pb.GeneratedMessage with $mixin.BoolValueMixin {
method clone (line 432) | BoolValue clone()
method copyWith (line 434) | BoolValue copyWith(void Function(BoolValue) updates)
method create (line 441) | BoolValue create()
method createEmptyInstance (line 443) | BoolValue createEmptyInstance()
method getDefault (line 445) | BoolValue getDefault()
method hasValue (line 455) | $core.bool hasValue()
method clearValue (line 457) | void clearValue()
class StringValue (line 466) | class StringValue extends $pb.GeneratedMessage with $mixin.StringValueMi...
method clone (line 494) | StringValue clone()
method copyWith (line 496) | StringValue copyWith(void Function(StringValue) updates)
method create (line 504) | StringValue create()
method createEmptyInstance (line 506) | StringValue createEmptyInstance()
method getDefault (line 508) | StringValue getDefault()
method hasValue (line 518) | $core.bool hasValue()
method clearValue (line 520) | void clearValue()
class BytesValue (line 529) | class BytesValue extends $pb.GeneratedMessage with $mixin.BytesValueMixin {
method clone (line 558) | BytesValue clone()
method copyWith (line 560) | BytesValue copyWith(void Function(BytesValue) updates)
method create (line 567) | BytesValue create()
method createEmptyInstance (line 569) | BytesValue createEmptyInstance()
method getDefault (line 571) | BytesValue getDefault()
method hasValue (line 581) | $core.bool hasValue()
method clearValue (line 583) | void clearValue()
FILE: protobuf/test/builder_info_test.dart
function main (line 8) | void main()
FILE: protobuf/test/codec_test.dart
type RoundtripTester (line 12) | typedef RoundtripTester<T> = void Function(T value, List<int> bytes);
function main (line 14) | void main()
function makeData (line 15) | ByteData makeData(Uint8List bytes)
function convertToBytes (line 17) | Uint8List Function(dynamic) convertToBytes(fieldType)
function roundtripTester (line 22) | RoundtripTester<T> roundtripTester<T>({
function readBool (line 171) | bool readBool(List<int> bytes)
function doubleEquals (line 180) | Matcher doubleEquals(double expected)
function dataToBytes (line 185) | List<int> dataToBytes(ByteData byteData)
function floatToBits (line 187) | int floatToBits(double value)
function test32 (line 190) | void test32(int bits, double value)
function readFloat (line 191) | double readFloat(int bits)
function test64 (line 202) | void test64(List<int> hilo, double value)
FILE: protobuf/test/coded_buffer_reader_test.dart
function main (line 12) | void main()
function testWithList (line 40) | void testWithList(List<int> inputBuffer)
FILE: protobuf/test/dummy_field_test.dart
class Message (line 8) | class Message extends GeneratedMessage {
method createEmptyInstance (line 14) | Message createEmptyInstance()
method clone (line 17) | GeneratedMessage clone()
function main (line 20) | void main()
FILE: protobuf/test/json_test.dart
function main (line 16) | void main()
function makeTestJson (line 190) | T makeTestJson()
function checkJsonMap (line 196) | void checkJsonMap(Map m, {Map<String, dynamic>? unknownFields})
function checkMessage (line 204) | void checkMessage(T t)
FILE: protobuf/test/json_vm_test.dart
function main (line 17) | void main()
FILE: protobuf/test/list_equality_test.dart
function main (line 11) | void main()
FILE: protobuf/test/list_test.dart
function main (line 9) | void main()
function isEven (line 43) | bool isEven(int i)
function isNonNegative (line 49) | bool isNonNegative(int i)
FILE: protobuf/test/map_mixin_test.dart
class Rec (line 18) | class Rec extends MockMessage with MapMixin<Object?, Object>, PbMapMixin {
method createEmptyInstance (line 23) | Rec createEmptyInstance()
method toString (line 26) | String toString()
function main (line 29) | void main()
FILE: protobuf/test/message_test.dart
class Rec (line 14) | class Rec extends MockMessage {
method createEmptyInstance (line 20) | Rec createEmptyInstance()
class EmptyRec (line 23) | class EmptyRec extends MockMessage {
method createEmptyInstance (line 29) | EmptyRec createEmptyInstance()
class Ext (line 32) | class Ext extends MockMessage {
method createEmptyInstance (line 38) | Ext createEmptyInstance()
function throwsError (line 63) | Matcher throwsError(String expectedMessage)
function main (line 67) | void main()
FILE: protobuf/test/mock_util.dart
class MockEnum (line 15) | class MockEnum extends ProtobufEnum {
method valueOf (line 18) | MockEnum? valueOf(int value)
function mockEmptyInfo (line 24) | BuilderInfo mockEmptyInfo(String className, CreateBuilderFunc create)
function mockInfo (line 28) | BuilderInfo mockInfo(String className, CreateBuilderFunc create)
class MockMessage (line 56) | abstract class MockMessage extends GeneratedMessage {
method clone (line 83) | GeneratedMessage clone()
class T (line 89) | class T extends MockMessage {
method createEmptyInstance (line 94) | T createEmptyInstance()
FILE: protobuf/test/permissive_compare_test.dart
function main (line 8) | void main()
function symmetric (line 9) | void symmetric(String a, String b, bool expected)
function variationsFromSeed (line 14) | List<String> variationsFromSeed(String seed)
FILE: protobuf/test/readonly_message_test.dart
function throwsUnsupportedError (line 9) | Matcher throwsUnsupportedError(Matcher expectedMessage)
class Rec (line 17) | class Rec extends GeneratedMessage {
method getDefault (line 18) | Rec getDefault()
method create (line 19) | Rec create()
method createEmptyInstance (line 21) | Rec createEmptyInstance()
method hasValue (line 35) | bool hasValue()
method clone (line 42) | Rec clone()
method copyWith (line 45) | Rec copyWith(void Function(Rec) updates)
function main (line 52) | void main()
FILE: protobuf/test/test_util.dart
function make64 (line 8) | Int64 make64(int lo, [int? hi])
function expect64 (line 13) | Matcher expect64(int lo, [int? hi])
FILE: protoc_plugin/bin/protoc_plugin.dart
function main (line 10) | void main()
FILE: protoc_plugin/bin/protoc_plugin_bazel.dart
function main (line 11) | void main()
FILE: protoc_plugin/lib/bazel.dart
class BazelPackage (line 30) | class BazelPackage {
class BazelOptionParser (line 41) | class BazelOptionParser implements SingleOptionParser {
method parse (line 48) | void parse(String name, String? value, OnError onError)
class _PackageUri (line 87) | class _PackageUri {
class BazelOutputConfiguration (line 97) | class BazelOutputConfiguration extends DefaultOutputConfiguration {
method _findPackage (line 103) | BazelPackage? _findPackage(String searchPath)
method outputPathFor (line 115) | Uri outputPathFor(Uri inputPath, String extension)
method resolveImport (line 129) | Uri resolveImport(Uri target, Uri source, String extension)
method _packageUriFor (line 148) | _PackageUri? _packageUriFor(String target)
FILE: protoc_plugin/lib/const_generator.dart
function writeJsonConst (line 10) | void writeJsonConst(IndentingWriter out, Object? val)
function _nonEmptyListOrMap (line 48) | bool _nonEmptyListOrMap(dynamic x)
function _writeString (line 54) | void _writeString(IndentingWriter out, String val)
function _writeListItems (line 58) | void _writeListItems(IndentingWriter out, List val, {bool vertical = fal...
function _writeMapItems (line 72) | void _writeMapItems(
FILE: protoc_plugin/lib/indenting_writer.dart
class NamedLocation (line 12) | class NamedLocation {
class IndentingWriter (line 25) | class IndentingWriter {
method print (line 45) | void print(String text)
method println (line 61) | void println([String text = ''])
method printAnnotated (line 66) | void printAnnotated(String text, List<NamedLocation> namedLocations)
method printlnAnnotated (line 78) | void printlnAnnotated(String text, List<NamedLocation> namedLocations)
method addBlock (line 84) | void addBlock(
method addUnindentedBlock (line 96) | void addUnindentedBlock(
method addAnnotatedBlock (line 106) | void addAnnotatedBlock(
method _addBlockBodyAndEnd (line 117) | void _addBlockBodyAndEnd(
method addSuffix (line 140) | void addSuffix(String suffixKey, String text)
method emitSource (line 147) | String emitSource({required bool format})
method _writeChunk (line 169) | void _writeChunk(String chunk)
method _newline (line 180) | void _newline()
method _addAnnotation (line 189) | void _addAnnotation(List<int> fieldPath, String name, int start)
class ImportWriter (line 205) | class ImportWriter {
method addImport (line 224) | void addImport(String url, {String? prefix})
method addExport (line 237) | void addExport(String url, {List<String> members = const []})
method emit (line 250) | String emit()
FILE: protoc_plugin/lib/mixins.dart
function findMixin (line 12) | PbMixin? findMixin(String name)
class PbMixin (line 22) | class PbMixin {
method findMixinsToApply (line 57) | Iterable<PbMixin> findMixinsToApply()
method findReservedNames (line 66) | Iterable<String> findReservedNames()
method injectHelpers (line 77) | void injectHelpers(IndentingWriter out)
FILE: protoc_plugin/lib/names.dart
class MemberNames (line 12) | class MemberNames {
class FieldNames (line 19) | class FieldNames {
class OneofNames (line 65) | class OneofNames {
function _startsWithDigit (line 94) | bool _startsWithDigit(String input)
function avoidInitialUnderscore (line 104) | String avoidInitialUnderscore(String input)
function singleQuote (line 115) | String singleQuote(String input)
function extensionName (line 120) | String extensionName(
function extensionSuffixes (line 134) | Iterable<String> extensionSuffixes()
function legalDartIdentifier (line 147) | String legalDartIdentifier(String input)
function extensionClassName (line 152) | String extensionClassName(
function _fileNameWithoutExtension (line 163) | String _fileNameWithoutExtension(FileDescriptorProto descriptor)
class DartNameOptionException (line 171) | class DartNameOptionException implements Exception {
method toString (line 175) | String toString()
function disambiguateName (line 187) | String disambiguateName(
function allVariantsAvailable (line 195) | bool allVariantsAvailable(List<String> variants)
function defaultSuffixes (line 216) | Iterable<String> defaultSuffixes()
function oneofEnumClassName (line 225) | String oneofEnumClassName(
function oneofEnumMemberName (line 238) | String oneofEnumMemberName(String fieldName)
function messageOrEnumClassName (line 248) | String messageOrEnumClassName(
function enumSuffixes (line 271) | Iterable<String> enumSuffixes()
function messageMemberNames (line 289) | MemberNames messageMemberNames(
function takeFieldNames (line 318) | void takeFieldNames(FieldNames chosen)
function takeOneofNames (line 367) | void takeOneofNames(OneofNames chosen)
function oneofNameVariants (line 374) | List<String> oneofNameVariants(String name)
function _memberNamesFromOption (line 420) | FieldNames _memberNamesFromOption(
function checkAvailable (line 430) | void checkAvailable(String name)
function _memberNamesSuffix (line 477) | Iterable<String> _memberNamesSuffix(int number)
function _unusedMemberNames (line 485) | FieldNames _unusedMemberNames(
function generateNameVariants (line 505) | List<String> generateNameVariants(String name)
function _defaultFieldName (line 539) | String _defaultFieldName(String fieldMethodSuffix)
function _defaultHasMethodName (line 542) | String _defaultHasMethodName(String fieldMethodSuffix)
function _defaultClearMethodName (line 545) | String _defaultClearMethodName(String fieldMethodSuffix)
function _defaultWhichMethodName (line 548) | String _defaultWhichMethodName(String oneofMethodSuffix)
function _defaultEnsureMethodName (line 551) | String _defaultEnsureMethodName(String fieldMethodSuffix)
function _fieldMethodSuffix (line 556) | String _fieldMethodSuffix(
function underscoresToCamelCase (line 577) | String underscoresToCamelCase(String s)
function _capitalize (line 580) | String _capitalize(String s)
function _isRepeated (line 583) | bool _isRepeated(FieldDescriptorProto field)
function _isGroupOrMessage (line 586) | bool _isGroupOrMessage(FieldDescriptorProto field)
function _nameOption (line 590) | String? _nameOption(FieldDescriptorProto field)
function _isDartFieldName (line 593) | bool _isDartFieldName(String name)
function countRealOneofs (line 680) | int countRealOneofs(DescriptorProto descriptor)
function lowerCaseFirstLetter (line 691) | String lowerCaseFirstLetter(String input)
FILE: protoc_plugin/lib/src/base_type.dart
class BaseType (line 9) | class BaseType {
method prefixed (line 46) | String prefixed(FileGenerator fileGen)
method getDartType (line 57) | String getDartType(FileGenerator fileGen)
method getRepeatedDartType (line 62) | String getRepeatedDartType(FileGenerator fileGen)
method getRepeatedDartTypeIterable (line 65) | String getRepeatedDartTypeIterable(FileGenerator fileGen)
FILE: protoc_plugin/lib/src/client_generator.dart
class ClientApiGenerator (line 7) | class ClientApiGenerator {
method _methodDescriptorPath (line 28) | List<int> _methodDescriptorPath(int methodIndex)
method generate (line 45) | void generate(IndentingWriter out)
method generateMethod (line 69) | void generateMethod(
FILE: protoc_plugin/lib/src/code_generator.dart
class ProtobufContainer (line 27) | abstract class ProtobufContainer {
class CodeGenerator (line 68) | class CodeGenerator {
method generate (line 79) | Future<void> generate({
FILE: protoc_plugin/lib/src/enum_generator.dart
class EnumAlias (line 7) | class EnumAlias {
class EnumGenerator (line 13) | class EnumGenerator extends ProtobufContainer {
method register (line 122) | void register(GenerationContext ctx)
method getJsonConstant (line 129) | String getJsonConstant(FileGenerator context)
method generate (line 139) | void generate(IndentingWriter out)
method generateConstants (line 276) | void generateConstants(IndentingWriter out)
FILE: protoc_plugin/lib/src/extension_generator.dart
class ExtensionGenerator (line 7) | class ExtensionGenerator {
method resolve (line 58) | void resolve(GenerationContext ctx)
method addImportsTo (line 91) | void addImportsTo(
method addConstantImportsTo (line 107) | void addConstantImportsTo(Set<FileGenerator> imports)
method generate (line 112) | void generate(IndentingWriter out)
FILE: protoc_plugin/lib/src/file_generator.dart
class FileGenerator (line 24) | class FileGenerator extends ProtobufContainer {
method importPrefix (line 67) | String importPrefix(ProtobufContainer container)
method resolve (line 154) | void resolve(GenerationContext ctx)
method generateFiles (line 186) | List<CodeGeneratorResponse_File> generateFiles(OutputConfiguration con...
method makeFile (line 189) | CodeGeneratorResponse_File makeFile(String extension, String content)
method makeWriter (line 238) | IndentingWriter makeWriter()
method generateMainFile (line 246) | IndentingWriter generateMainFile([
method writeMainHeader (line 286) | void writeMainHeader(
method _findProtosToImport (line 384) | void _findProtosToImport(
method findMixinImports (line 403) | List<String> findMixinImports()
method generateEnumFile (line 416) | IndentingWriter generateEnumFile([
method generateServerFile (line 471) | String generateServerFile([
method generateGrpcFile (line 519) | String generateGrpcFile([
method writeBinaryDescriptor (line 555) | void writeBinaryDescriptor(
method _splitString (line 582) | List<String> _splitString(String str, int segmentLength)
method generateJsonFile (line 593) | String generateJsonFile([
method _findJsonProtosToImport (line 650) | Set<FileGenerator> _findJsonProtosToImport()
method _writeHeading (line 666) | void _writeHeading(
method _addImport (line 700) | void _addImport(
method _addExport (line 721) | void _addExport(
class ConditionalConstDefinition (line 732) | class ConditionalConstDefinition {
method createTernary (line 744) | String createTernary(String ifFalse)
method _convertToCamelCase (line 749) | String _convertToCamelCase(String lowerUnderscoreCase)
function _getEdition (line 759) | Edition _getEdition(FileDescriptorProto file)
function resolveFeatures (line 769) | FeatureSet resolveFeatures(FeatureSet parent, FeatureSet child)
function _getEditionDefaults (line 775) | FeatureSet _getEditionDefaults(
function _getDeclaredMixins (line 810) | Map<String, PbMixin> _getDeclaredMixins(FileDescriptorProto desc)
function mixinError (line 811) | String mixinError(String error)
function resolveMixin (line 866) | PbMixin? resolveMixin(String name)
FILE: protoc_plugin/lib/src/formatter.dart
function format (line 16) | String format(String source)
FILE: protoc_plugin/lib/src/gen/dart_options.pb.dart
class DartMixin (line 21) | class DartMixin extends $pb.GeneratedMessage {
method clone (line 53) | DartMixin clone()
method copyWith (line 55) | DartMixin copyWith(void Function(DartMixin) updates)
method create (line 62) | DartMixin create()
method createEmptyInstance (line 64) | DartMixin createEmptyInstance()
method getDefault (line 66) | DartMixin getDefault()
method hasName (line 76) | $core.bool hasName()
method clearName (line 78) | void clearName()
method hasImportFrom (line 87) | $core.bool hasImportFrom()
method clearImportFrom (line 89) | void clearImportFrom()
method hasParent (line 99) | $core.bool hasParent()
method clearParent (line 101) | void clearParent()
class Imports (line 105) | class Imports extends $pb.GeneratedMessage {
method clone (line 132) | Imports clone()
method copyWith (line 134) | Imports copyWith(void Function(Imports) updates)
method create (line 141) | Imports create()
method createEmptyInstance (line 143) | Imports createEmptyInstance()
method getDefault (line 145) | Imports getDefault()
class Dart_options (line 161) | class Dart_options {
method registerAllExtensions (line 204) | void registerAllExtensions($pb.ExtensionRegistry registry)
FILE: protoc_plugin/lib/src/gen/google/api/client.pb.dart
class CommonLanguageSettings (line 27) | class CommonLanguageSettings extends $pb.GeneratedMessage {
method clone (line 68) | CommonLanguageSettings clone()
method copyWith (line 70) | CommonLanguageSettings copyWith(
method create (line 79) | CommonLanguageSettings create()
method createEmptyInstance (line 81) | CommonLanguageSettings createEmptyInstance()
method getDefault (line 83) | CommonLanguageSettings getDefault()
method hasReferenceDocsUri (line 97) | $core.bool hasReferenceDocsUri()
method clearReferenceDocsUri (line 100) | void clearReferenceDocsUri()
method hasSelectiveGapicGeneration (line 113) | $core.bool hasSelectiveGapicGeneration()
method clearSelectiveGapicGeneration (line 115) | void clearSelectiveGapicGeneration()
method ensureSelectiveGapicGeneration (line 117) | SelectiveGapicGeneration ensureSelectiveGapicGeneration()
class ClientLibrarySettings (line 121) | class ClientLibrarySettings extends $pb.GeneratedMessage {
method clone (line 186) | ClientLibrarySettings clone()
method copyWith (line 188) | ClientLibrarySettings copyWith(
method create (line 197) | ClientLibrarySettings create()
method createEmptyInstance (line 199) | ClientLibrarySettings createEmptyInstance()
method getDefault (line 201) | ClientLibrarySettings getDefault()
method hasVersion (line 213) | $core.bool hasVersion()
method clearVersion (line 215) | void clearVersion()
method hasLaunchStage (line 223) | $core.bool hasLaunchStage()
method clearLaunchStage (line 225) | void clearLaunchStage()
method hasRestNumericEnums (line 234) | $core.bool hasRestNumericEnums()
method clearRestNumericEnums (line 236) | void clearRestNumericEnums()
method hasJavaSettings (line 244) | $core.bool hasJavaSettings()
method clearJavaSettings (line 246) | void clearJavaSettings()
method ensureJavaSettings (line 248) | JavaSettings ensureJavaSettings()
method hasCppSettings (line 256) | $core.bool hasCppSettings()
method clearCppSettings (line 258) | void clearCppSettings()
method ensureCppSettings (line 260) | CppSettings ensureCppSettings()
method hasPhpSettings (line 268) | $core.bool hasPhpSettings()
method clearPhpSettings (line 270) | void clearPhpSettings()
method ensurePhpSettings (line 272) | PhpSettings ensurePhpSettings()
method hasPythonSettings (line 280) | $core.bool hasPythonSettings()
method clearPythonSettings (line 282) | void clearPythonSettings()
method ensurePythonSettings (line 284) | PythonSettings ensurePythonSettings()
method hasNodeSettings (line 292) | $core.bool hasNodeSettings()
method clearNodeSettings (line 294) | void clearNodeSettings()
method ensureNodeSettings (line 296) | NodeSettings ensureNodeSettings()
method hasDotnetSettings (line 304) | $core.bool hasDotnetSettings()
method clearDotnetSettings (line 306) | void clearDotnetSettings()
method ensureDotnetSettings (line 308) | DotnetSettings ensureDotnetSettings()
method hasRubySettings (line 316) | $core.bool hasRubySettings()
method clearRubySettings (line 318) | void clearRubySettings()
method ensureRubySettings (line 320) | RubySettings ensureRubySettings()
method hasGoSettings (line 328) | $core.bool hasGoSettings()
method clearGoSettings (line 330) | void clearGoSettings()
method ensureGoSettings (line 332) | GoSettings ensureGoSettings()
class Publishing (line 338) | class Publishing extends $pb.GeneratedMessage {
method clone (line 400) | Publishing clone()
method copyWith (line 402) | Publishing copyWith(void Function(Publishing) updates)
method create (line 409) | Publishing create()
method createEmptyInstance (line 411) | Publishing createEmptyInstance()
method getDefault (line 413) | Publishing getDefault()
method hasNewIssueUri (line 429) | $core.bool hasNewIssueUri()
method clearNewIssueUri (line 431) | void clearNewIssueUri()
method hasDocumentationUri (line 440) | $core.bool hasDocumentationUri()
method clearDocumentationUri (line 442) | void clearDocumentationUri()
method hasApiShortName (line 452) | $core.bool hasApiShortName()
method clearApiShortName (line 454) | void clearApiShortName()
method hasGithubLabel (line 462) | $core.bool hasGithubLabel()
method clearGithubLabel (line 464) | void clearGithubLabel()
method hasDocTagPrefix (line 478) | $core.bool hasDocTagPrefix()
method clearDocTagPrefix (line 480) | void clearDocTagPrefix()
method hasOrganization (line 488) | $core.bool hasOrganization()
method clearOrganization (line 490) | void clearOrganization()
method hasProtoReferenceDocumentationUri (line 506) | $core.bool hasProtoReferenceDocumentationUri()
method clearProtoReferenceDocumentationUri (line 508) | void clearProtoReferenceDocumentationUri()
method hasRestReferenceDocumentationUri (line 518) | $core.bool hasRestReferenceDocumentationUri()
method clearRestReferenceDocumentationUri (line 520) | void clearRestReferenceDocumentationUri()
class JavaSettings (line 524) | class JavaSettings extends $pb.GeneratedMessage {
method clone (line 564) | JavaSettings clone()
method copyWith (line 566) | JavaSettings copyWith(void Function(JavaSettings) updates)
method create (line 574) | JavaSettings create()
method createEmptyInstance (line 576) | JavaSettings createEmptyInstance()
method getDefault (line 578) | JavaSettings getDefault()
method hasLibraryPackage (line 598) | $core.bool hasLibraryPackage()
method clearLibraryPackage (line 600) | void clearLibraryPackage()
method hasCommon (line 625) | $core.bool hasCommon()
method clearCommon (line 627) | void clearCommon()
method ensureCommon (line 629) | CommonLanguageSettings ensureCommon()
class CppSettings (line 633) | class CppSettings extends $pb.GeneratedMessage {
method clone (line 660) | CppSettings clone()
method copyWith (line 662) | CppSettings copyWith(void Function(CppSettings) updates)
method create (line 670) | CppSettings create()
method createEmptyInstance (line 672) | CppSettings createEmptyInstance()
method getDefault (line 674) | CppSettings getDefault()
method hasCommon (line 684) | $core.bool hasCommon()
method clearCommon (line 686) | void clearCommon()
method ensureCommon (line 688) | CommonLanguageSettings ensureCommon()
class PhpSettings (line 692) | class PhpSettings extends $pb.GeneratedMessage {
method clone (line 719) | PhpSettings clone()
method copyWith (line 721) | PhpSettings copyWith(void Function(PhpSettings) updates)
method create (line 729) | PhpSettings create()
method createEmptyInstance (line 731) | PhpSettings createEmptyInstance()
method getDefault (line 733) | PhpSettings getDefault()
method hasCommon (line 743) | $core.bool hasCommon()
method clearCommon (line 745) | void clearCommon()
method ensureCommon (line 747) | CommonLanguageSettings ensureCommon()
class PythonSettings_ExperimentalFeatures (line 753) | class PythonSettings_ExperimentalFeatures extends $pb.GeneratedMessage {
method clone (line 789) | PythonSettings_ExperimentalFeatures clone()
method copyWith (line 791) | PythonSettings_ExperimentalFeatures copyWith(
method create (line 801) | PythonSettings_ExperimentalFeatures create()
method createEmptyInstance (line 804) | PythonSettings_ExperimentalFeatures createEmptyInstance()
method getDefault (line 806) | PythonSettings_ExperimentalFeatures getDefault()
method hasRestAsyncIoEnabled (line 820) | $core.bool hasRestAsyncIoEnabled()
method clearRestAsyncIoEnabled (line 822) | void clearRestAsyncIoEnabled()
method hasProtobufPythonicTypesEnabled (line 833) | $core.bool hasProtobufPythonicTypesEnabled()
method clearProtobufPythonicTypesEnabled (line 835) | void clearProtobufPythonicTypesEnabled()
method hasUnversionedPackageDisabled (line 846) | $core.bool hasUnversionedPackageDisabled()
method clearUnversionedPackageDisabled (line 848) | void clearUnversionedPackageDisabled()
class PythonSettings (line 852) | class PythonSettings extends $pb.GeneratedMessage {
method clone (line 885) | PythonSettings clone()
method copyWith (line 887) | PythonSettings copyWith(void Function(PythonSettings) updates)
method create (line 895) | PythonSettings create()
method createEmptyInstance (line 897) | PythonSettings createEmptyInstance()
method getDefault (line 899) | PythonSettings getDefault()
method hasCommon (line 909) | $core.bool hasCommon()
method clearCommon (line 911) | void clearCommon()
method ensureCommon (line 913) | CommonLanguageSettings ensureCommon()
method hasExperimentalFeatures (line 922) | $core.bool hasExperimentalFeatures()
method clearExperimentalFeatures (line 924) | void clearExperimentalFeatures()
method ensureExperimentalFeatures (line 926) | PythonSettings_ExperimentalFeatures ensureExperimentalFeatures()
class NodeSettings (line 931) | class NodeSettings extends $pb.GeneratedMessage {
method clone (line 958) | NodeSettings clone()
method copyWith (line 960) | NodeSettings copyWith(void Function(NodeSettings) updates)
method create (line 968) | NodeSettings create()
method createEmptyInstance (line 970) | NodeSettings createEmptyInstance()
method getDefault (line 972) | NodeSettings getDefault()
method hasCommon (line 982) | $core.bool hasCommon()
method clearCommon (line 984) | void clearCommon()
method ensureCommon (line 986) | CommonLanguageSettings ensureCommon()
class DotnetSettings (line 990) | class DotnetSettings extends $pb.GeneratedMessage {
method clone (line 1047) | DotnetSettings clone()
method copyWith (line 1049) | DotnetSettings copyWith(void Function(DotnetSettings) updates)
method create (line 1057) | DotnetSettings create()
method createEmptyInstance (line 1059) | DotnetSettings createEmptyInstance()
method getDefault (line 1061) | DotnetSettings getDefault()
method hasCommon (line 1071) | $core.bool hasCommon()
method clearCommon (line 1073) | void clearCommon()
method ensureCommon (line 1075) | CommonLanguageSettings ensureCommon()
class RubySettings (line 1114) | class RubySettings extends $pb.GeneratedMessage {
method clone (line 1141) | RubySettings clone()
method copyWith (line 1143) | RubySettings copyWith(void Function(RubySettings) updates)
method create (line 1151) | RubySettings create()
method createEmptyInstance (line 1153) | RubySettings createEmptyInstance()
method getDefault (line 1155) | RubySettings getDefault()
method hasCommon (line 1165) | $core.bool hasCommon()
method clearCommon (line 1167) | void clearCommon()
method ensureCommon (line 1169) | CommonLanguageSettings ensureCommon()
class GoSettings (line 1173) | class GoSettings extends $pb.GeneratedMessage {
method clone (line 1208) | GoSettings clone()
method copyWith (line 1210) | GoSettings copyWith(void Function(GoSettings) updates)
method create (line 1217) | GoSettings create()
method createEmptyInstance (line 1219) | GoSettings createEmptyInstance()
method getDefault (line 1221) | GoSettings getDefault()
method hasCommon (line 1231) | $core.bool hasCommon()
method clearCommon (line 1233) | void clearCommon()
method ensureCommon (line 1235) | CommonLanguageSettings ensureCommon()
class MethodSettings_LongRunning (line 1254) | class MethodSettings_LongRunning extends $pb.GeneratedMessage {
method clone (line 1294) | MethodSettings_LongRunning clone()
method copyWith (line 1296) | MethodSettings_LongRunning copyWith(
method create (line 1306) | MethodSettings_LongRunning create()
method createEmptyInstance (line 1308) | MethodSettings_LongRunning createEmptyInstance()
method getDefault (line 1310) | MethodSettings_LongRunning getDefault()
method hasInitialPollDelay (line 1321) | $core.bool hasInitialPollDelay()
method clearInitialPollDelay (line 1323) | void clearInitialPollDelay()
method ensureInitialPollDelay (line 1325) | $0.Duration ensureInitialPollDelay()
method hasPollDelayMultiplier (line 1335) | $core.bool hasPollDelayMultiplier()
method clearPollDelayMultiplier (line 1337) | void clearPollDelayMultiplier()
method hasMaxPollDelay (line 1346) | $core.bool hasMaxPollDelay()
method clearMaxPollDelay (line 1348) | void clearMaxPollDelay()
method ensureMaxPollDelay (line 1350) | $0.Duration ensureMaxPollDelay()
method hasTotalPollTimeout (line 1359) | $core.bool hasTotalPollTimeout()
method clearTotalPollTimeout (line 1361) | void clearTotalPollTimeout()
method ensureTotalPollTimeout (line 1363) | $0.Duration ensureTotalPollTimeout()
class MethodSettings (line 1367) | class MethodSettings extends $pb.GeneratedMessage {
method clone (line 1401) | MethodSettings clone()
method copyWith (line 1403) | MethodSettings copyWith(void Function(MethodSettings) updates)
method create (line 1411) | MethodSettings create()
method createEmptyInstance (line 1413) | MethodSettings createEmptyInstance()
method getDefault (line 1415) | MethodSettings getDefault()
method hasSelector (line 1433) | $core.bool hasSelector()
method clearSelector (line 1435) | void clearSelector()
method hasLongRunning (line 1456) | $core.bool hasLongRunning()
method clearLongRunning (line 1458) | void clearLongRunning()
method ensureLongRunning (line 1460) | MethodSettings_LongRunning ensureLongRunning()
class SelectiveGapicGeneration (line 1479) | class SelectiveGapicGeneration extends $pb.GeneratedMessage {
method clone (line 1509) | SelectiveGapicGeneration clone()
method copyWith (line 1511) | SelectiveGapicGeneration copyWith(
method create (line 1520) | SelectiveGapicGeneration create()
method createEmptyInstance (line 1522) | SelectiveGapicGeneration createEmptyInstance()
method getDefault (line 1524) | SelectiveGapicGeneration getDefault()
method hasGenerateOmittedAsInternal (line 1544) | $core.bool hasGenerateOmittedAsInternal()
method clearGenerateOmittedAsInternal (line 1546) | void clearGenerateOmittedAsInternal()
class Client (line 1549) | class Client {
method registerAllExtensions (line 1571) | void registerAllExtensions($pb.ExtensionRegistry registry)
FILE: protoc_plugin/lib/src/gen/google/api/client.pbenum.dart
class ClientLibraryOrganization (line 19) | class ClientLibraryOrganization extends $pb.ProtobufEnum {
method valueOf (line 67) | ClientLibraryOrganization? valueOf($core.int value)
class ClientLibraryDestination (line 74) | class ClientLibraryDestination extends $pb.ProtobufEnum {
method valueOf (line 99) | ClientLibraryDestination? valueOf($core.int value)
FILE: protoc_plugin/lib/src/gen/google/api/http.pb.dart
class Http (line 22) | class Http extends $pb.GeneratedMessage {
method clone (line 53) | Http clone()
method copyWith (line 55) | Http copyWith(void Function(Http) updates)
method create (line 62) | Http create()
method createEmptyInstance (line 64) | Http createEmptyInstance()
method getDefault (line 66) | Http getDefault()
method hasFullyDecodeReservedExpansion (line 87) | $core.bool hasFullyDecodeReservedExpansion()
method clearFullyDecodeReservedExpansion (line 89) | void clearFullyDecodeReservedExpansion()
type HttpRule_Pattern (line 92) | enum HttpRule_Pattern { get, put, post, delete, patch, custom, notSet }
class HttpRule (line 358) | class HttpRule extends $pb.GeneratedMessage {
method clone (line 424) | HttpRule clone()
method copyWith (line 426) | HttpRule copyWith(void Function(HttpRule) updates)
method create (line 433) | HttpRule create()
method createEmptyInstance (line 435) | HttpRule createEmptyInstance()
method getDefault (line 437) | HttpRule getDefault()
method whichPattern (line 447) | HttpRule_Pattern whichPattern()
method clearPattern (line 454) | void clearPattern()
method hasSelector (line 465) | $core.bool hasSelector()
method clearSelector (line 467) | void clearSelector()
method hasGet (line 476) | $core.bool hasGet()
method clearGet (line 478) | void clearGet()
method hasPut (line 486) | $core.bool hasPut()
method clearPut (line 488) | void clearPut()
method hasPost (line 496) | $core.bool hasPost()
method clearPost (line 498) | void clearPost()
method hasDelete (line 506) | $core.bool hasDelete()
method clearDelete (line 508) | void clearDelete()
method hasPatch (line 516) | $core.bool hasPatch()
method clearPatch (line 518) | void clearPatch()
method hasBody (line 531) | $core.bool hasBody()
method clearBody (line 533) | void clearBody()
method hasCustom (line 544) | $core.bool hasCustom()
method clearCustom (line 546) | void clearCustom()
method ensureCustom (line 548) | CustomHttpPattern ensureCustom()
method hasResponseBody (line 567) | $core.bool hasResponseBody()
method clearResponseBody (line 569) | void clearResponseBody()
class CustomHttpPattern (line 573) | class CustomHttpPattern extends $pb.GeneratedMessage {
method clone (line 602) | CustomHttpPattern clone()
method copyWith (line 604) | CustomHttpPattern copyWith(void Function(CustomHttpPattern) updates)
method create (line 612) | CustomHttpPattern create()
method createEmptyInstance (line 614) | CustomHttpPattern createEmptyInstance()
method getDefault (line 616) | CustomHttpPattern getDefault()
method hasKind (line 626) | $core.bool hasKind()
method clearKind (line 628) | void clearKind()
method hasPath (line 636) | $core.bool hasPath()
method clearPath (line 638) | void clearPath()
FILE: protoc_plugin/lib/src/gen/google/api/launch_stage.pbenum.dart
class LaunchStage (line 19) | class LaunchStage extends $pb.ProtobufEnum {
method valueOf (line 85) | LaunchStage? valueOf($core.int value)
FILE: protoc_plugin/lib/src/gen/google/api/routing.pb.dart
class RoutingRule (line 378) | class RoutingRule extends $pb.GeneratedMessage {
method clone (line 406) | RoutingRule clone()
method copyWith (line 408) | RoutingRule copyWith(void Function(RoutingRule) updates)
method create (line 416) | RoutingRule create()
method createEmptyInstance (line 418) | RoutingRule createEmptyInstance()
method getDefault (line 420) | RoutingRule getDefault()
class RoutingParameter (line 435) | class RoutingParameter extends $pb.GeneratedMessage {
method clone (line 464) | RoutingParameter clone()
method copyWith (line 466) | RoutingParameter copyWith(void Function(RoutingParameter) updates)
method create (line 474) | RoutingParameter create()
method createEmptyInstance (line 476) | RoutingParameter createEmptyInstance()
method getDefault (line 478) | RoutingParameter getDefault()
method hasField_1 (line 488) | $core.bool hasField_1()
method clearField_1 (line 490) | void clearField_1()
method hasPathTemplate (line 551) | $core.bool hasPathTemplate()
method clearPathTemplate (line 553) | void clearPathTemplate()
class Routing (line 556) | class Routing {
method registerAllExtensions (line 564) | void registerAllExtensions($pb.ExtensionRegistry registry)
FILE: protoc_plugin/lib/src/gen/google/protobuf/compiler/plugin.pb.dart
class Version (line 25) | class Version extends $pb.GeneratedMessage {
method clone (line 61) | Version clone()
method copyWith (line 63) | Version copyWith(void Function(Version) updates)
method create (line 70) | Version create()
method createEmptyInstance (line 72) | Version createEmptyInstance()
method getDefault (line 74) | Version getDefault()
method hasMajor (line 83) | $core.bool hasMajor()
method clearMajor (line 85) | void clearMajor()
method hasMinor (line 92) | $core.bool hasMinor()
method clearMinor (line 94) | void clearMinor()
method hasPatch (line 101) | $core.bool hasPatch()
method clearPatch (line 103) | void clearPatch()
method hasSuffix (line 112) | $core.bool hasSuffix()
method clearSuffix (line 114) | void clearSuffix()
class CodeGeneratorRequest (line 118) | class CodeGeneratorRequest extends $pb.GeneratedMessage {
method clone (line 161) | CodeGeneratorRequest clone()
method copyWith (line 163) | CodeGeneratorRequest copyWith(void Function(CodeGeneratorRequest) upda...
method create (line 171) | CodeGeneratorRequest create()
method createEmptyInstance (line 173) | CodeGeneratorRequest createEmptyInstance()
method getDefault (line 175) | CodeGeneratorRequest getDefault()
method hasParameter (line 191) | $core.bool hasParameter()
method clearParameter (line 193) | void clearParameter()
method hasCompilerVersion (line 201) | $core.bool hasCompilerVersion()
method clearCompilerVersion (line 203) | void clearCompilerVersion()
method ensureCompilerVersion (line 205) | Version ensureCompilerVersion()
class CodeGeneratorResponse_File (line 237) | class CodeGeneratorResponse_File extends $pb.GeneratedMessage {
method clone (line 274) | CodeGeneratorResponse_File clone()
method copyWith (line 276) | CodeGeneratorResponse_File copyWith(
method create (line 286) | CodeGeneratorResponse_File create()
method createEmptyInstance (line 288) | CodeGeneratorResponse_File createEmptyInstance()
method getDefault (line 290) | CodeGeneratorResponse_File getDefault()
method hasName (line 310) | $core.bool hasName()
method clearName (line 312) | void clearName()
method hasInsertionPoint (line 356) | $core.bool hasInsertionPoint()
method clearInsertionPoint (line 358) | void clearInsertionPoint()
method hasContent (line 366) | $core.bool hasContent()
method clearContent (line 368) | void clearContent()
method hasGeneratedCodeInfo (line 378) | $core.bool hasGeneratedCodeInfo()
method clearGeneratedCodeInfo (line 380) | void clearGeneratedCodeInfo()
method ensureGeneratedCodeInfo (line 382) | $0.GeneratedCodeInfo ensureGeneratedCodeInfo()
class CodeGeneratorResponse (line 386) | class CodeGeneratorResponse extends $pb.GeneratedMessage {
method clone (line 428) | CodeGeneratorResponse clone()
method copyWith (line 430) | CodeGeneratorResponse copyWith(
method create (line 439) | CodeGeneratorResponse create()
method createEmptyInstance (line 441) | CodeGeneratorResponse createEmptyInstance()
method getDefault (line 443) | CodeGeneratorResponse getDefault()
method hasError (line 460) | $core.bool hasError()
method clearError (line 462) | void clearError()
method hasSupportedFeatures (line 471) | $core.bool hasSupportedFeatures()
method clearSupportedFeatures (line 473) | void clearSupportedFeatures()
method hasMinimumEdition (line 484) | $core.bool hasMinimumEdition()
method clearMinimumEdition (line 486) | void clearMinimumEdition()
method hasMaximumEdition (line 497) | $core.bool hasMaximumEdition()
method clearMaximumEdition (line 499) | void clearMaximumEdition()
FILE: protoc_plugin/lib/src/gen/google/protobuf/compiler/plugin.pbenum.dart
class CodeGeneratorResponse_Feature (line 18) | class CodeGeneratorResponse_Feature extends $pb.ProtobufEnum {
method valueOf (line 37) | CodeGeneratorResponse_Feature? valueOf($core.int value)
FILE: protoc_plugin/lib/src/gen/google/protobuf/descriptor.pb.dart
class FileDescriptorSet (line 26) | class FileDescriptorSet extends $pb.GeneratedMessage {
method clone (line 54) | FileDescriptorSet clone()
method copyWith (line 56) | FileDescriptorSet copyWith(void Function(FileDescriptorSet) updates)
method create (line 64) | FileDescriptorSet create()
method createEmptyInstance (line 66) | FileDescriptorSet createEmptyInstance()
method getDefault (line 68) | FileDescriptorSet getDefault()
class FileDescriptorProto (line 77) | class FileDescriptorProto extends $pb.GeneratedMessage {
method clone (line 153) | FileDescriptorProto clone()
method copyWith (line 155) | FileDescriptorProto copyWith(void Function(FileDescriptorProto) updates)
method create (line 163) | FileDescriptorProto create()
method createEmptyInstance (line 165) | FileDescriptorProto createEmptyInstance()
method getDefault (line 167) | FileDescriptorProto getDefault()
method hasName (line 176) | $core.bool hasName()
method clearName (line 178) | void clearName()
method hasPackage (line 185) | $core.bool hasPackage()
method clearPackage (line 187) | void clearPackage()
method hasOptions (line 211) | $core.bool hasOptions()
method clearOptions (line 213) | void clearOptions()
method ensureOptions (line 215) | FileOptions ensureOptions()
method hasSourceCodeInfo (line 226) | $core.bool hasSourceCodeInfo()
method clearSourceCodeInfo (line 228) | void clearSourceCodeInfo()
method ensureSourceCodeInfo (line 230) | SourceCodeInfo ensureSourceCodeInfo()
method hasSyntax (line 253) | $core.bool hasSyntax()
method clearSyntax (line 255) | void clearSyntax()
method hasEdition (line 266) | $core.bool hasEdition()
method clearEdition (line 268) | void clearEdition()
class DescriptorProto_ExtensionRange (line 276) | class DescriptorProto_ExtensionRange extends $pb.GeneratedMessage {
method clone (line 309) | DescriptorProto_ExtensionRange clone()
method copyWith (line 311) | DescriptorProto_ExtensionRange copyWith(
method create (line 321) | DescriptorProto_ExtensionRange create()
method createEmptyInstance (line 324) | DescriptorProto_ExtensionRange createEmptyInstance()
method getDefault (line 326) | DescriptorProto_ExtensionRange getDefault()
method hasStart (line 335) | $core.bool hasStart()
method clearStart (line 337) | void clearStart()
method hasEnd (line 344) | $core.bool hasEnd()
method clearEnd (line 346) | void clearEnd()
method hasOptions (line 353) | $core.bool hasOptions()
method clearOptions (line 355) | void clearOptions()
method ensureOptions (line 357) | ExtensionRangeOptions ensureOptions()
class DescriptorProto_ReservedRange (line 363) | class DescriptorProto_ReservedRange extends $pb.GeneratedMessage {
method clone (line 393) | DescriptorProto_ReservedRange clone()
method copyWith (line 395) | DescriptorProto_ReservedRange copyWith(
method create (line 405) | DescriptorProto_ReservedRange create()
method createEmptyInstance (line 408) | DescriptorProto_ReservedRange createEmptyInstance()
method getDefault (line 410) | DescriptorProto_ReservedRange getDefault()
method hasStart (line 419) | $core.bool hasStart()
method clearStart (line 421) | void clearStart()
method hasEnd (line 428) | $core.bool hasEnd()
method clearEnd (line 430) | void clearEnd()
class DescriptorProto (line 434) | class DescriptorProto extends $pb.GeneratedMessage {
method clone (line 501) | DescriptorProto clone()
method copyWith (line 503) | DescriptorProto copyWith(void Function(DescriptorProto) updates)
method create (line 511) | DescriptorProto create()
method createEmptyInstance (line 513) | DescriptorProto createEmptyInstance()
method getDefault (line 515) | DescriptorProto getDefault()
method hasName (line 524) | $core.bool hasName()
method clearName (line 526) | void clearName()
method hasOptions (line 548) | $core.bool hasOptions()
method clearOptions (line 550) | void clearOptions()
method ensureOptions (line 552) | MessageOptions ensureOptions()
method hasVisibility (line 571) | $core.bool hasVisibility()
method clearVisibility (line 573) | void clearVisibility()
class ExtensionRangeOptions_Declaration (line 576) | class ExtensionRangeOptions_Declaration extends $pb.GeneratedMessage {
method clone (line 616) | ExtensionRangeOptions_Declaration clone()
method copyWith (line 618) | ExtensionRangeOptions_Declaration copyWith(
method create (line 628) | ExtensionRangeOptions_Declaration create()
method createEmptyInstance (line 631) | ExtensionRangeOptions_Declaration createEmptyInstance()
method getDefault (line 633) | ExtensionRangeOptions_Declaration getDefault()
method hasNumber (line 644) | $core.bool hasNumber()
method clearNumber (line 646) | void clearNumber()
method hasFullName (line 655) | $core.bool hasFullName()
method clearFullName (line 657) | void clearFullName()
method hasType (line 667) | $core.bool hasType()
method clearType (line 669) | void clearType()
method hasReserved (line 679) | $core.bool hasReserved()
method clearReserved (line 681) | void clearReserved()
method hasRepeated (line 690) | $core.bool hasRepeated()
method clearRepeated (line 692) | void clearRepeated()
class ExtensionRangeOptions (line 695) | class ExtensionRangeOptions extends $pb.GeneratedMessage {
method clone (line 740) | ExtensionRangeOptions clone()
method copyWith (line 742) | ExtensionRangeOptions copyWith(
method create (line 751) | ExtensionRangeOptions create()
method createEmptyInstance (line 753) | ExtensionRangeOptions createEmptyInstance()
method getDefault (line 755) | ExtensionRangeOptions getDefault()
method hasVerification (line 774) | $core.bool hasVerification()
method clearVerification (line 776) | void clearVerification()
method hasFeatures (line 784) | $core.bool hasFeatures()
method clearFeatures (line 786) | void clearFeatures()
method ensureFeatures (line 788) | FeatureSet ensureFeatures()
class FieldDescriptorProto (line 796) | class FieldDescriptorProto extends $pb.GeneratedMessage {
method clone (line 855) | FieldDescriptorProto clone()
method copyWith (line 857) | FieldDescriptorProto copyWith(void Function(FieldDescriptorProto) upda...
method create (line 865) | FieldDescriptorProto create()
method createEmptyInstance (line 867) | FieldDescriptorProto createEmptyInstance()
method getDefault (line 869) | FieldDescriptorProto getDefault()
method hasName (line 878) | $core.bool hasName()
method clearName (line 880) | void clearName()
method hasExtendee (line 889) | $core.bool hasExtendee()
method clearExtendee (line 891) | void clearExtendee()
method hasNumber (line 898) | $core.bool hasNumber()
method clearNumber (line 900) | void clearNumber()
method hasLabel (line 907) | $core.bool hasLabel()
method clearLabel (line 909) | void clearLabel()
method hasType (line 918) | $core.bool hasType()
method clearType (line 920) | void clearType()
method hasTypeName (line 932) | $core.bool hasTypeName()
method clearTypeName (line 934) | void clearTypeName()
method hasDefaultValue (line 945) | $core.bool hasDefaultValue()
method clearDefaultValue (line 947) | void clearDefaultValue()
method hasOptions (line 954) | $core.bool hasOptions()
method clearOptions (line 956) | void clearOptions()
method ensureOptions (line 958) | FieldOptions ensureOptions()
method hasOneofIndex (line 967) | $core.bool hasOneofIndex()
method clearOneofIndex (line 969) | void clearOneofIndex()
method hasJsonName (line 980) | $core.bool hasJsonName()
method clearJsonName (line 982) | void clearJsonName()
method hasProto3Optional (line 1010) | $core.bool hasProto3Optional()
method clearProto3Optional (line 1012) | void clearProto3Optional()
class OneofDescriptorProto (line 1016) | class OneofDescriptorProto extends $pb.GeneratedMessage {
method clone (line 1046) | OneofDescriptorProto clone()
method copyWith (line 1048) | OneofDescriptorProto copyWith(void Function(OneofDescriptorProto) upda...
method create (line 1056) | OneofDescriptorProto create()
method createEmptyInstance (line 1058) | OneofDescriptorProto createEmptyInstance()
method getDefault (line 1060) | OneofDescriptorProto getDefault()
method hasName (line 1069) | $core.bool hasName()
method clearName (line 1071) | void clearName()
method hasOptions (line 1078) | $core.bool hasOptions()
method clearOptions (line 1080) | void clearOptions()
method ensureOptions (line 1082) | OneofOptions ensureOptions()
class EnumDescriptorProto_EnumReservedRange (line 1091) | class EnumDescriptorProto_EnumReservedRange extends $pb.GeneratedMessage {
method clone (line 1122) | EnumDescriptorProto_EnumReservedRange clone()
method copyWith (line 1124) | EnumDescriptorProto_EnumReservedRange copyWith(
method create (line 1134) | EnumDescriptorProto_EnumReservedRange create()
method createEmptyInstance (line 1137) | EnumDescriptorProto_EnumReservedRange createEmptyInstance()
method getDefault (line 1139) | EnumDescriptorProto_EnumReservedRange getDefault()
method hasStart (line 1149) | $core.bool hasStart()
method clearStart (line 1151) | void clearStart()
method hasEnd (line 1158) | $core.bool hasEnd()
method clearEnd (line 1160) | void clearEnd()
class EnumDescriptorProto (line 1164) | class EnumDescriptorProto extends $pb.GeneratedMessage {
method clone (line 1210) | EnumDescriptorProto clone()
method copyWith (line 1212) | EnumDescriptorProto copyWith(void Function(EnumDescriptorProto) updates)
method create (line 1220) | EnumDescriptorProto create()
method createEmptyInstance (line 1222) | EnumDescriptorProto createEmptyInstance()
method getDefault (line 1224) | EnumDescriptorProto getDefault()
method hasName (line 1233) | $core.bool hasName()
method clearName (line 1235) | void clearName()
method hasOptions (line 1245) | $core.bool hasOptions()
method clearOptions (line 1247) | void clearOptions()
method ensureOptions (line 1249) | EnumOptions ensureOptions()
method hasVisibility (line 1269) | $core.bool hasVisibility()
method clearVisibility (line 1271) | void clearVisibility()
class EnumValueDescriptorProto (line 1275) | class EnumValueDescriptorProto extends $pb.GeneratedMessage {
method clone (line 1308) | EnumValueDescriptorProto clone()
method copyWith (line 1310) | EnumValueDescriptorProto copyWith(
method create (line 1319) | EnumValueDescriptorProto create()
method createEmptyInstance (line 1321) | EnumValueDescriptorProto createEmptyInstance()
method getDefault (line 1323) | EnumValueDescriptorProto getDefault()
method hasName (line 1332) | $core.bool hasName()
method clearName (line 1334) | void clearName()
method hasNumber (line 1341) | $core.bool hasNumber()
method clearNumber (line 1343) | void clearNumber()
method hasOptions (line 1350) | $core.bool hasOptions()
method clearOptions (line 1352) | void clearOptions()
method ensureOptions (line 1354) | EnumValueOptions ensureOptions()
class ServiceDescriptorProto (line 1358) | class ServiceDescriptorProto extends $pb.GeneratedMessage {
method clone (line 1392) | ServiceDescriptorProto clone()
method copyWith (line 1394) | ServiceDescriptorProto copyWith(
method create (line 1403) | ServiceDescriptorProto create()
method createEmptyInstance (line 1405) | ServiceDescriptorProto createEmptyInstance()
method getDefault (line 1407) | ServiceDescriptorProto getDefault()
method hasName (line 1416) | $core.bool hasName()
method clearName (line 1418) | void clearName()
method hasOptions (line 1428) | $core.bool hasOptions()
method clearOptions (line 1430) | void clearOptions()
method ensureOptions (line 1432) | ServiceOptions ensureOptions()
class MethodDescriptorProto (line 1436) | class MethodDescriptorProto extends $pb.GeneratedMessage {
method clone (line 1478) | MethodDescriptorProto clone()
method copyWith (line 1480) | MethodDescriptorProto copyWith(
method create (line 1489) | MethodDescriptorProto create()
method createEmptyInstance (line 1491) | MethodDescriptorProto createEmptyInstance()
method getDefault (line 1493) | MethodDescriptorProto getDefault()
method hasName (line 1502) | $core.bool hasName()
method clearName (line 1504) | void clearName()
method hasInputType (line 1513) | $core.bool hasInputType()
method clearInputType (line 1515) | void clearInputType()
method hasOutputType (line 1522) | $core.bool hasOutputType()
method clearOutputType (line 1524) | void clearOutputType()
method hasOptions (line 1531) | $core.bool hasOptions()
method clearOptions (line 1533) | void clearOptions()
method ensureOptions (line 1535) | MethodOptions ensureOptions()
method hasClientStreaming (line 1543) | $core.bool hasClientStreaming()
method clearClientStreaming (line 1545) | void clearClientStreaming()
method hasServerStreaming (line 1553) | $core.bool hasServerStreaming()
method clearServerStreaming (line 1555) | void clearServerStreaming()
class FileOptions (line 1558) | class FileOptions extends $pb.GeneratedMessage {
method clone (line 1659) | FileOptions clone()
method copyWith (line 1661) | FileOptions copyWith(void Function(FileOptions) updates)
method create (line 1669) | FileOptions create()
method createEmptyInstance (line 1671) | FileOptions createEmptyInstance()
method getDefault (line 1673) | FileOptions getDefault()
method hasJavaPackage (line 1686) | $core.bool hasJavaPackage()
method clearJavaPackage (line 1688) | void clearJavaPackage()
method hasJavaOuterClassname (line 1700) | $core.bool hasJavaOuterClassname()
method clearJavaOuterClassname (line 1702) | void clearJavaOuterClassname()
method hasOptimizeFor (line 1709) | $core.bool hasOptimizeFor()
method clearOptimizeFor (line 1711) | void clearOptimizeFor()
method hasJavaMultipleFiles (line 1724) | $core.bool hasJavaMultipleFiles()
method clearJavaMultipleFiles (line 1726) | void clearJavaMultipleFiles()
method hasGoPackage (line 1738) | $core.bool hasGoPackage()
method clearGoPackage (line 1740) | void clearGoPackage()
method hasCcGenericServices (line 1757) | $core.bool hasCcGenericServices()
method clearCcGenericServices (line 1759) | void clearCcGenericServices()
method hasJavaGenericServices (line 1766) | $core.bool hasJavaGenericServices()
method clearJavaGenericServices (line 1768) | void clearJavaGenericServices()
method hasPyGenericServices (line 1775) | $core.bool hasPyGenericServices()
method clearPyGenericServices (line 1777) | void clearPyGenericServices()
method hasJavaGenerateEqualsAndHash (line 1788) | $core.bool hasJavaGenerateEqualsAndHash()
method clearJavaGenerateEqualsAndHash (line 1791) | void clearJavaGenerateEqualsAndHash()
method hasDeprecated (line 1802) | $core.bool hasDeprecated()
method clearDeprecated (line 1804) | void clearDeprecated()
method hasJavaStringCheckUtf8 (line 1821) | $core.bool hasJavaStringCheckUtf8()
method clearJavaStringCheckUtf8 (line 1823) | void clearJavaStringCheckUtf8()
method hasCcEnableArenas (line 1832) | $core.bool hasCcEnableArenas()
method clearCcEnableArenas (line 1834) | void clearCcEnableArenas()
method hasObjcClassPrefix (line 1843) | $core.bool hasObjcClassPrefix()
method clearObjcClassPrefix (line 1845) | void clearObjcClassPrefix()
method hasCsharpNamespace (line 1853) | $core.bool hasCsharpNamespace()
method clearCsharpNamespace (line 1855) | void clearCsharpNamespace()
method hasSwiftPrefix (line 1866) | $core.bool hasSwiftPrefix()
method clearSwiftPrefix (line 1868) | void clearSwiftPrefix()
method hasPhpClassPrefix (line 1877) | $core.bool hasPhpClassPrefix()
method clearPhpClassPrefix (line 1879) | void clearPhpClassPrefix()
method hasPhpNamespace (line 1889) | $core.bool hasPhpNamespace()
method clearPhpNamespace (line 1891) | void clearPhpNamespace()
method hasPhpMetadataNamespace (line 1901) | $core.bool hasPhpMetadataNamespace()
method clearPhpMetadataNamespace (line 1903) | void clearPhpMetadataNamespace()
method hasRubyPackage (line 1913) | $core.bool hasRubyPackage()
method clearRubyPackage (line 1915) | void clearRubyPackage()
method hasFeatures (line 1926) | $core.bool hasFeatures()
method clearFeatures (line 1928) | void clearFeatures()
method ensureFeatures (line 1930) | FeatureSet ensureFeatures()
class MessageOptions (line 1938) | class MessageOptions extends $pb.GeneratedMessage {
method clone (line 1992) | MessageOptions clone()
method copyWith (line 1994) | MessageOptions copyWith(void Function(MessageOptions) updates)
method create (line 2002) | MessageOptions create()
method createEmptyInstance (line 2004) | MessageOptions createEmptyInstance()
method getDefault (line 2006) | MessageOptions getDefault()
method hasMessageSetWireFormat (line 2033) | $core.bool hasMessageSetWireFormat()
method clearMessageSetWireFormat (line 2035) | void clearMessageSetWireFormat()
method hasNoStandardDescriptorAccessor (line 2045) | $core.bool hasNoStandardDescriptorAccessor()
method clearNoStandardDescriptorAccessor (line 2047) | void clearNoStandardDescriptorAccessor()
method hasDeprecated (line 2058) | $core.bool hasDeprecated()
method clearDeprecated (line 2060) | void clearDeprecated()
method hasMapEntry (line 2088) | $core.bool hasMapEntry()
method clearMapEntry (line 2090) | void clearMapEntry()
method hasDeprecatedLegacyJsonFieldConflicts (line 2111) | $core.bool hasDeprecatedLegacyJsonFieldConflicts()
method clearDeprecatedLegacyJsonFieldConflicts (line 2114) | void clearDeprecatedLegacyJsonFieldConflicts()
method hasFeatures (line 2125) | $core.bool hasFeatures()
method clearFeatures (line 2127) | void clearFeatures()
method ensureFeatures (line 2129) | FeatureSet ensureFeatures()
class FieldOptions_EditionDefault (line 2136) | class FieldOptions_EditionDefault extends $pb.GeneratedMessage {
method clone (line 2167) | FieldOptions_EditionDefault clone()
method copyWith (line 2169) | FieldOptions_EditionDefault copyWith(
method create (line 2179) | FieldOptions_EditionDefault create()
method createEmptyInstance (line 2182) | FieldOptions_EditionDefault createEmptyInstance()
method getDefault (line 2184) | FieldOptions_EditionDefault getDefault()
method hasValue (line 2193) | $core.bool hasValue()
method clearValue (line 2195) | void clearValue()
method hasEdition (line 2202) | $core.bool hasEdition()
method clearEdition (line 2204) | void clearEdition()
class FieldOptions_FeatureSupport (line 2208) | class FieldOptions_FeatureSupport extends $pb.GeneratedMessage {
method clone (line 2248) | FieldOptions_FeatureSupport clone()
method copyWith (line 2250) | FieldOptions_FeatureSupport copyWith(
method create (line 2260) | FieldOptions_FeatureSupport create()
method createEmptyInstance (line 2263) | FieldOptions_FeatureSupport createEmptyInstance()
method getDefault (line 2265) | FieldOptions_FeatureSupport getDefault()
method hasEditionIntroduced (line 2277) | $core.bool hasEditionIntroduced()
method clearEditionIntroduced (line 2279) | void clearEditionIntroduced()
method hasEditionDeprecated (line 2288) | $core.bool hasEditionDeprecated()
method clearEditionDeprecated (line 2290) | void clearEditionDeprecated()
method hasDeprecationWarning (line 2299) | $core.bool hasDeprecationWarning()
method clearDeprecationWarning (line 2301) | void clearDeprecationWarning()
method hasEditionRemoved (line 2311) | $core.bool hasEditionRemoved()
method clearEditionRemoved (line 2313) | void clearEditionRemoved()
class FieldOptions (line 2316) | class FieldOptions extends $pb.GeneratedMessage {
method clone (line 2396) | FieldOptions clone()
method copyWith (line 2398) | FieldOptions copyWith(void Function(FieldOptions) updates)
method create (line 2406) | FieldOptions create()
method createEmptyInstance (line 2408) | FieldOptions createEmptyInstance()
method getDefault (line 2410) | FieldOptions getDefault()
method hasCtype (line 2426) | $core.bool hasCtype()
method clearCtype (line 2428) | void clearCtype()
method hasPacked (line 2442) | $core.bool hasPacked()
method clearPacked (line 2444) | void clearPacked()
method hasDeprecated (line 2455) | $core.bool hasDeprecated()
method clearDeprecated (line 2457) | void clearDeprecated()
method hasLazy (line 2486) | $core.bool hasLazy()
method clearLazy (line 2488) | void clearLazy()
method hasJstype (line 2506) | $core.bool hasJstype()
method clearJstype (line 2508) | void clearJstype()
method hasWeak (line 2520) | $core.bool hasWeak()
method clearWeak (line 2523) | void clearWeak()
method hasUnverifiedLazy (line 2533) | $core.bool hasUnverifiedLazy()
method clearUnverifiedLazy (line 2535) | void clearUnverifiedLazy()
method hasDebugRedact (line 2544) | $core.bool hasDebugRedact()
method clearDebugRedact (line 2546) | void clearDebugRedact()
method hasRetention (line 2553) | $core.bool hasRetention()
method clearRetention (line 2555) | void clearRetention()
method hasFeatures (line 2572) | $core.bool hasFeatures()
method clearFeatures (line 2574) | void clearFeatures()
method ensureFeatures (line 2576) | FeatureSet ensureFeatures()
method hasFeatureSupport (line 2584) | $core.bool hasFeatureSupport()
method clearFeatureSupport (line 2586) | void clearFeatureSupport()
method ensureFeatureSupport (line 2588) | FieldOptions_FeatureSupport ensureFeatureSupport()
class OneofOptions (line 2595) | class OneofOptions extends $pb.GeneratedMessage {
method clone (line 2629) | OneofOptions clone()
method copyWith (line 2631) | OneofOptions copyWith(void Function(OneofOptions) updates)
method create (line 2639) | OneofOptions create()
method createEmptyInstance (line 2641) | OneofOptions createEmptyInstance()
method getDefault (line 2643) | OneofOptions getDefault()
method hasFeatures (line 2656) | $core.bool hasFeatures()
method clearFeatures (line 2658) | void clearFeatures()
method ensureFeatures (line 2660) | FeatureSet ensureFeatures()
class EnumOptions (line 2667) | class EnumOptions extends $pb.GeneratedMessage {
method clone (line 2713) | EnumOptions clone()
method copyWith (line 2715) | EnumOptions copyWith(void Function(EnumOptions) updates)
method create (line 2723) | EnumOptions create()
method createEmptyInstance (line 2725) | EnumOptions createEmptyInstance()
method getDefault (line 2727) | EnumOptions getDefault()
method hasAllowAlias (line 2738) | $core.bool hasAllowAlias()
method clearAllowAlias (line 2740) | void clearAllowAlias()
method hasDeprecated (line 2751) | $core.bool hasDeprecated()
method clearDeprecated (line 2753) | void clearDeprecated()
method hasDeprecatedLegacyJsonFieldConflicts (line 2770) | $core.bool hasDeprecatedLegacyJsonFieldConflicts()
method clearDeprecatedLegacyJsonFieldConflicts (line 2773) | void clearDeprecatedLegacyJsonFieldConflicts()
method hasFeatures (line 2784) | $core.bool hasFeatures()
method clearFeatures (line 2786) | void clearFeatures()
method ensureFeatures (line 2788) | FeatureSet ensureFeatures()
class EnumValueOptions (line 2795) | class EnumValueOptions extends $pb.GeneratedMessage {
method clone (line 2840) | EnumValueOptions clone()
method copyWith (line 2842) | EnumValueOptions copyWith(void Function(EnumValueOptions) updates)
method create (line 2850) | EnumValueOptions create()
method createEmptyInstance (line 2852) | EnumValueOptions createEmptyInstance()
method getDefault (line 2854) | EnumValueOptions getDefault()
method hasDeprecated (line 2867) | $core.bool hasDeprecated()
method clearDeprecated (line 2869) | void clearDeprecated()
method hasFeatures (line 2880) | $core.bool hasFeatures()
method clearFeatures (line 2882) | void clearFeatures()
method ensureFeatures (line 2884) | FeatureSet ensureFeatures()
method hasDebugRedact (line 2894) | $core.bool hasDebugRedact()
method clearDebugRedact (line 2896) | void clearDebugRedact()
method hasFeatureSupport (line 2904) | $core.bool hasFeatureSupport()
method clearFeatureSupport (line 2906) | void clearFeatureSupport()
method ensureFeatureSupport (line 2908) | FieldOptions_FeatureSupport ensureFeatureSupport()
class ServiceOptions (line 2915) | class ServiceOptions extends $pb.GeneratedMessage {
method clone (line 2952) | ServiceOptions clone()
method copyWith (line 2954) | ServiceOptions copyWith(void Function(ServiceOptions) updates)
method create (line 2962) | ServiceOptions create()
method createEmptyInstance (line 2964) | ServiceOptions createEmptyInstance()
method getDefault (line 2966) | ServiceOptions getDefault()
method hasDeprecated (line 2979) | $core.bool hasDeprecated()
method clearDeprecated (line 2981) | void clearDeprecated()
method hasFeatures (line 2992) | $core.bool hasFeatures()
method clearFeatures (line 2994) | void clearFeatures()
method ensureFeatures (line 2996) | FeatureSet ensureFeatures()
class MethodOptions (line 3003) | class MethodOptions extends $pb.GeneratedMessage {
method clone (line 3046) | MethodOptions clone()
method copyWith (line 3048) | MethodOptions copyWith(void Function(MethodOptions) updates)
method create (line 3056) | MethodOptions create()
method createEmptyInstance (line 3058) | MethodOptions createEmptyInstance()
method getDefault (line 3060) | MethodOptions getDefault()
method hasDeprecated (line 3073) | $core.bool hasDeprecated()
method clearDeprecated (line 3075) | void clearDeprecated()
method hasIdempotencyLevel (line 3083) | $core.bool hasIdempotencyLevel()
method clearIdempotencyLevel (line 3085) | void clearIdempotencyLevel()
method hasFeatures (line 3096) | $core.bool hasFeatures()
method clearFeatures (line 3098) | void clearFeatures()
method ensureFeatures (line 3100) | FeatureSet ensureFeatures()
class UninterpretedOption_NamePart (line 3112) | class UninterpretedOption_NamePart extends $pb.GeneratedMessage {
method clone (line 3142) | UninterpretedOption_NamePart clone()
method copyWith (line 3144) | UninterpretedOption_NamePart copyWith(
method create (line 3154) | UninterpretedOption_NamePart create()
method createEmptyInstance (line 3157) | UninterpretedOption_NamePart createEmptyInstance()
method getDefault (line 3159) | UninterpretedOption_NamePart getDefault()
method hasNamePart (line 3168) | $core.bool hasNamePart()
method clearNamePart (line 3170) | void clearNamePart()
method hasIsExtension (line 3177) | $core.bool hasIsExtension()
method clearIsExtension (line 3179) | void clearIsExtension()
class UninterpretedOption (line 3188) | class UninterpretedOption extends $pb.GeneratedMessage {
method clone (line 3236) | UninterpretedOption clone()
method copyWith (line 3238) | UninterpretedOption copyWith(void Function(UninterpretedOption) updates)
method create (line 3246) | UninterpretedOption create()
method createEmptyInstance (line 3248) | UninterpretedOption createEmptyInstance()
method getDefault (line 3250) | UninterpretedOption getDefault()
method hasIdentifierValue (line 3264) | $core.bool hasIdentifierValue()
method clearIdentifierValue (line 3266) | void clearIdentifierValue()
method hasPositiveIntValue (line 3273) | $core.bool hasPositiveIntValue()
method clearPositiveIntValue (line 3275) | void clearPositiveIntValue()
method hasNegativeIntValue (line 3282) | $core.bool hasNegativeIntValue()
method clearNegativeIntValue (line 3284) | void clearNegativeIntValue()
method hasDoubleValue (line 3291) | $core.bool hasDoubleValue()
method clearDoubleValue (line 3293) | void clearDoubleValue()
method hasStringValue (line 3300) | $core.bool hasStringValue()
method clearStringValue (line 3302) | void clearStringValue()
method hasAggregateValue (line 3309) | $core.bool hasAggregateValue()
method clearAggregateValue (line 3311) | void clearAggregateValue()
class FeatureSet_VisibilityFeature (line 3314) | class FeatureSet_VisibilityFeature extends $pb.GeneratedMessage {
method clone (line 3334) | FeatureSet_VisibilityFeature clone()
method copyWith (line 3336) | FeatureSet_VisibilityFeature copyWith(
method create (line 3346) | FeatureSet_VisibilityFeature create()
method createEmptyInstance (line 3349) | FeatureSet_VisibilityFeature createEmptyInstance()
method getDefault (line 3351) | FeatureSet_VisibilityFeature getDefault()
class FeatureSet (line 3362) | class FeatureSet extends $pb.GeneratedMessage {
method clone (line 3426) | FeatureSet clone()
method copyWith (line 3428) | FeatureSet copyWith(void Function(FeatureSet) updates)
method create (line 3435) | FeatureSet create()
method createEmptyInstance (line 3437) | FeatureSet createEmptyInstance()
method getDefault (line 3439) | FeatureSet getDefault()
method hasFieldPresence (line 3448) | $core.bool hasFieldPresence()
method clearFieldPresence (line 3450) | void clearFieldPresence()
method hasEnumType (line 3457) | $core.bool hasEnumType()
method clearEnumType (line 3459) | void clearEnumType()
method hasRepeatedFieldEncoding (line 3467) | $core.bool hasRepeatedFieldEncoding()
method clearRepeatedFieldEncoding (line 3469) | void clearRepeatedFieldEncoding()
method hasUtf8Validation (line 3476) | $core.bool hasUtf8Validation()
method clearUtf8Validation (line 3478) | void clearUtf8Validation()
method hasMessageEncoding (line 3485) | $core.bool hasMessageEncoding()
method clearMessageEncoding (line 3487) | void clearMessageEncoding()
method hasJsonFormat (line 3494) | $core.bool hasJsonFormat()
method clearJsonFormat (line 3496) | void clearJsonFormat()
method hasEnforceNamingStyle (line 3504) | $core.bool hasEnforceNamingStyle()
method clearEnforceNamingStyle (line 3506) | void clearEnforceNamingStyle()
method hasDefaultSymbolVisibility (line 3516) | $core.bool hasDefaultSymbolVisibility()
method clearDefaultSymbolVisibility (line 3518) | void clearDefaultSymbolVisibility()
class FeatureSetDefaults_FeatureSetEditionDefault (line 3525) | class FeatureSetDefaults_FeatureSetEditionDefault extends $pb.GeneratedM...
method clone (line 3563) | FeatureSetDefaults_FeatureSetEditionDefault clone()
method copyWith (line 3565) | FeatureSetDefaults_FeatureSetEditionDefault copyWith(
method create (line 3575) | FeatureSetDefaults_FeatureSetEditionDefault create()
method createEmptyInstance (line 3578) | FeatureSetDefaults_FeatureSetEditionDefault createEmptyInstance()
method getDefault (line 3580) | FeatureSetDefaults_FeatureSetEditionDefault getDefault()
method hasEdition (line 3590) | $core.bool hasEdition()
method clearEdition (line 3592) | void clearEdition()
method hasOverridableFeatures (line 3600) | $core.bool hasOverridableFeatures()
method clearOverridableFeatures (line 3602) | void clearOverridableFeatures()
method ensureOverridableFeatures (line 3604) | FeatureSet ensureOverridableFeatures()
method hasFixedFeatures (line 3612) | $core.bool hasFixedFeatures()
method clearFixedFeatures (line 3614) | void clearFixedFeatures()
method ensureFixedFeatures (line 3616) | FeatureSet ensureFixedFeatures()
class FeatureSetDefaults (line 3623) | class FeatureSetDefaults extends $pb.GeneratedMessage {
method clone (line 3659) | FeatureSetDefaults clone()
method copyWith (line 3661) | FeatureSetDefaults copyWith(void Function(FeatureSetDefaults) updates)
method create (line 3669) | FeatureSetDefaults create()
method createEmptyInstance (line 3671) | FeatureSetDefaults createEmptyInstance()
method getDefault (line 3673) | FeatureSetDefaults getDefault()
method hasMinimumEdition (line 3688) | $core.bool hasMinimumEdition()
method clearMinimumEdition (line 3690) | void clearMinimumEdition()
method hasMaximumEdition (line 3699) | $core.bool hasMaximumEdition()
method clearMaximumEdition (line 3701) | void clearMaximumEdition()
class SourceCodeInfo_Location (line 3704) | class SourceCodeInfo_Location extends $pb.GeneratedMessage {
method clone (line 3744) | SourceCodeInfo_Location clone()
method copyWith (line 3746) | SourceCodeInfo_Location copyWith(
method create (line 3755) | SourceCodeInfo_Location create()
method createEmptyInstance (line 3757) | SourceCodeInfo_Location createEmptyInstance()
method getDefault (line 3759) | SourceCodeInfo_Location getDefault()
method hasLeadingComments (line 3849) | $core.bool hasLeadingComments()
method clearLeadingComments (line 3851) | void clearLeadingComments()
method hasTrailingComments (line 3858) | $core.bool hasTrailingComments()
method clearTrailingComments (line 3860) | void clearTrailingComments()
class SourceCodeInfo (line 3868) | class SourceCodeInfo extends $pb.GeneratedMessage {
method clone (line 3896) | SourceCodeInfo clone()
method copyWith (line 3898) | SourceCodeInfo copyWith(void Function(SourceCodeInfo) updates)
method create (line 3906) | SourceCodeInfo create()
method createEmptyInstance (line 3908) | SourceCodeInfo createEmptyInstance()
method getDefault (line 3910) | SourceCodeInfo getDefault()
class GeneratedCodeInfo_Annotation (line 3961) | class GeneratedCodeInfo_Annotation extends $pb.GeneratedMessage {
method clone (line 4002) | GeneratedCodeInfo_Annotation clone()
method copyWith (line 4004) | GeneratedCodeInfo_Annotation copyWith(
method create (line 4014) | GeneratedCodeInfo_Annotation create()
method createEmptyInstance (line 4017) | GeneratedCodeInfo_Annotation createEmptyInstance()
method getDefault (line 4019) | GeneratedCodeInfo_Annotation getDefault()
method hasSourceFile (line 4034) | $core.bool hasSourceFile()
method clearSourceFile (line 4036) | void clearSourceFile()
method hasBegin (line 4045) | $core.bool hasBegin()
method clearBegin (line 4047) | void clearBegin()
method hasEnd (line 4057) | $core.bool hasEnd()
method clearEnd (line 4059) | void clearEnd()
method hasSemantic (line 4067) | $core.bool hasSemantic()
method clearSemantic (line 4069) | void clearSemantic()
class GeneratedCodeInfo (line 4075) | class GeneratedCodeInfo extends $pb.GeneratedMessage {
method clone (line 4103) | GeneratedCodeInfo clone()
method copyWith (line 4105) | GeneratedCodeInfo copyWith(void Function(GeneratedCodeInfo) updates)
method create (line 4113) | GeneratedCodeInfo create()
method createEmptyInstance (line 4115) | GeneratedCodeInfo createEmptyInstance()
method getDefault (line 4117) | GeneratedCodeInfo getDefault()
FILE: protoc_plugin/lib/src/gen/google/protobuf/descriptor.pbenum.dart
class Edition (line 18) | class Edition extends $pb.ProtobufEnum {
method valueOf (line 81) | Edition? valueOf($core.int value)
class SymbolVisibility (line 91) | class SymbolVisibility extends $pb.ProtobufEnum {
method valueOf (line 107) | SymbolVisibility? valueOf($core.int value)
class ExtensionRangeOptions_VerificationState (line 114) | class ExtensionRangeOptions_VerificationState extends $pb.ProtobufEnum {
method valueOf (line 131) | ExtensionRangeOptions_VerificationState? valueOf($core.int value)
class FieldDescriptorProto_Type (line 137) | class FieldDescriptorProto_Type extends $pb.ProtobufEnum {
method valueOf (line 215) | FieldDescriptorProto_Type? valueOf($core.int value)
class FieldDescriptorProto_Label (line 221) | class FieldDescriptorProto_Label extends $pb.ProtobufEnum {
method valueOf (line 243) | FieldDescriptorProto_Label? valueOf($core.int value)
class FileOptions_OptimizeMode (line 250) | class FileOptions_OptimizeMode extends $pb.ProtobufEnum {
method valueOf (line 269) | FileOptions_OptimizeMode? valueOf($core.int value)
class FieldOptions_CType (line 275) | class FieldOptions_CType extends $pb.ProtobufEnum {
method valueOf (line 299) | FieldOptions_CType? valueOf($core.int value)
class FieldOptions_JSType (line 305) | class FieldOptions_JSType extends $pb.ProtobufEnum {
method valueOf (line 326) | FieldOptions_JSType? valueOf($core.int value)
class FieldOptions_OptionRetention (line 333) | class FieldOptions_OptionRetention extends $pb.ProtobufEnum {
method valueOf (line 353) | FieldOptions_OptionRetention? valueOf($core.int value)
class FieldOptions_OptionTargetType (line 362) | class FieldOptions_OptionTargetType extends $pb.ProtobufEnum {
method valueOf (line 410) | FieldOptions_OptionTargetType? valueOf($core.int value)
class MethodOptions_IdempotencyLevel (line 419) | class MethodOptions_IdempotencyLevel extends $pb.ProtobufEnum {
method valueOf (line 438) | MethodOptions_IdempotencyLevel? valueOf($core.int value)
class FeatureSet_FieldPresence (line 444) | class FeatureSet_FieldPresence extends $pb.ProtobufEnum {
method valueOf (line 465) | FeatureSet_FieldPresence? valueOf($core.int value)
class FeatureSet_EnumType (line 471) | class FeatureSet_EnumType extends $pb.ProtobufEnum {
method valueOf (line 487) | FeatureSet_EnumType? valueOf($core.int value)
class FeatureSet_RepeatedFieldEncoding (line 493) | class FeatureSet_RepeatedFieldEncoding extends $pb.ProtobufEnum {
method valueOf (line 511) | FeatureSet_RepeatedFieldEncoding? valueOf($core.int value)
class FeatureSet_Utf8Validation (line 517) | class FeatureSet_Utf8Validation extends $pb.ProtobufEnum {
method valueOf (line 535) | FeatureSet_Utf8Validation? valueOf($core.int value)
class FeatureSet_MessageEncoding (line 541) | class FeatureSet_MessageEncoding extends $pb.ProtobufEnum {
method valueOf (line 559) | FeatureSet_MessageEncoding? valueOf($core.int value)
class FeatureSet_JsonFormat (line 565) | class FeatureSet_JsonFormat extends $pb.ProtobufEnum {
method valueOf (line 582) | FeatureSet_JsonFormat? valueOf($core.int value)
class FeatureSet_EnforceNamingStyle (line 588) | class FeatureSet_EnforceNamingStyle extends $pb.ProtobufEnum {
method valueOf (line 606) | FeatureSet_EnforceNamingStyle? valueOf($core.int value)
class FeatureSet_VisibilityFeature_DefaultSymbolVisibility (line 612) | class FeatureSet_VisibilityFeature_DefaultSymbolVisibility
method valueOf (line 652) | FeatureSet_VisibilityFeature_DefaultSymbolVisibility? valueOf(
class GeneratedCodeInfo_Annotation_Semantic (line 662) | class GeneratedCodeInfo_Annotation_Semantic extends $pb.ProtobufEnum {
method valueOf (line 684) | GeneratedCodeInfo_Annotation_Semantic? valueOf($core.int value)
FILE: protoc_plugin/lib/src/gen/google/protobuf/unittest_features.pb.dart
class TestMessage_Nested (line 23) | class TestMessage_Nested extends $pb.GeneratedMessage {
method clone (line 49) | TestMessage_Nested clone()
method copyWith (line 51) | TestMessage_Nested copyWith(void Function(TestMessage_Nested) updates)
method create (line 59) | TestMessage_Nested create()
method createEmptyInstance (line 61) | TestMessage_Nested createEmptyInstance()
method getDefault (line 63) | TestMessage_Nested getDefault()
class TestMessage (line 68) | class TestMessage extends $pb.GeneratedMessage {
method clone (line 94) | TestMessage clone()
method copyWith (line 96) | TestMessage copyWith(void Function(TestMessage) updates)
method create (line 104) | TestMessage create()
method createEmptyInstance (line 106) | TestMessage createEmptyInstance()
method getDefault (line 108) | TestMessage getDefault()
class TestFeatures (line 113) | class TestFeatures extends $pb.GeneratedMessage {
method clone (line 206) | TestFeatures clone()
method copyWith (line 208) | TestFeatures copyWith(void Function(TestFeatures) updates)
method create (line 216) | TestFeatures create()
method createEmptyInstance (line 218) | TestFeatures createEmptyInstance()
method getDefault (line 220) | TestFeatures getDefault()
method hasFileFeature (line 229) | $core.bool hasFileFeature()
method clearFileFeature (line 231) | void clearFileFeature()
method hasExtensionRangeFeature (line 238) | $core.bool hasExtensionRangeFeature()
method clearExtensionRangeFeature (line 240) | void clearExtensionRangeFeature()
method hasMessageFeature (line 247) | $core.bool hasMessageFeature()
method clearMessageFeature (line 249) | void clearMessageFeature()
method hasFieldFeature (line 256) | $core.bool hasFieldFeature()
method clearFieldFeature (line 258) | void clearFieldFeature()
method hasOneofFeature (line 265) | $core.bool hasOneofFeature()
method clearOneofFeature (line 267) | void clearOneofFeature()
method hasEnumFeature (line 274) | $core.bool hasEnumFeature()
method clearEnumFeature (line 276) | void clearEnumFeature()
method hasEnumEntryFeature (line 283) | $core.bool hasEnumEntryFeature()
method clearEnumEntryFeature (line 285) | void clearEnumEntryFeature()
method hasServiceFeature (line 292) | $core.bool hasServiceFeature()
method clearServiceFeature (line 294) | void clearServiceFeature()
method hasMethodFeature (line 301) | $core.bool hasMethodFeature()
method clearMethodFeature (line 303) | void clearMethodFeature()
method hasMultipleFeature (line 310) | $core.bool hasMultipleFeature()
method clearMultipleFeature (line 312) | void clearMultipleFeature()
method hasBoolFieldFeature (line 319) | $core.bool hasBoolFieldFeature()
method clearBoolFieldFeature (line 321) | void clearBoolFieldFeature()
method hasSourceFeature (line 328) | $core.bool hasSourceFeature()
method clearSourceFeature (line 330) | void clearSourceFeature()
method hasSourceFeature2 (line 337) | $core.bool hasSourceFeature2()
method clearSourceFeature2 (line 339) | void clearSourceFeature2()
method hasRemovedFeature (line 346) | $core.bool hasRemovedFeature()
method clearRemovedFeature (line 348) | void clearRemovedFeature()
method hasFutureFeature (line 355) | $core.bool hasFutureFeature()
method clearFutureFeature (line 357) | void clearFutureFeature()
method hasLegacyFeature (line 364) | $core.bool hasLegacyFeature()
method clearLegacyFeature (line 366) | void clearLegacyFeature()
method hasValueLifetimeFeature (line 373) | $core.bool hasValueLifetimeFeature()
method clearValueLifetimeFeature (line 375) | void clearValueLifetimeFeature()
class Unittest_features (line 378) | class Unittest_features {
method registerAllExtensions (line 386) | void registerAllExtensions($pb.ExtensionRegistry registry)
FILE: protoc_plugin/lib/src/gen/google/protobuf/unittest_features.pbenum.dart
class EnumFeature (line 17) | class EnumFeature extends $pb.ProtobufEnum {
method valueOf (line 72) | EnumFeature? valueOf($core.int value)
class ValueLifetimeFeature (line 78) | class ValueLifetimeFeature extends $pb.ProtobufEnum {
method valueOf (line 110) | ValueLifetimeFeature? valueOf($core.int value)
FILE: protoc_plugin/lib/src/grpc_generator.dart
class GrpcServiceGenerator (line 7) | class GrpcServiceGenerator {
method resolve (line 66) | void resolve(GenerationContext ctx)
method _addDependency (line 75) | void _addDependency(GenerationContext ctx, String fqname, String locat...
method addImportsTo (line 91) | void addImportsTo(Set<FileGenerator> imports)
method _getDartClassName (line 100) | String _getDartClassName(String fqName)
method generate (line 111) | void generate(IndentingWriter out)
method _generateClient (line 117) | void _generateClient(IndentingWriter out)
method _generateService (line 172) | void _generateService(IndentingWriter out)
class _GrpcMethod (line 207) | class _GrpcMethod {
method generateClientMethodDescriptor (line 281) | void generateClientMethodDescriptor(IndentingWriter out)
method _methodDescriptorPath (line 290) | List<int> _methodDescriptorPath(GrpcServiceGenerator generator, int in...
method generateClientStub (line 298) | void generateClientStub(
method generateServiceMethodRegistration (line 340) | void generateServiceMethodRegistration(IndentingWriter out)
method generateServiceMethodPreamble (line 352) | void generateServiceMethodPreamble(IndentingWriter out)
method generateServiceMethodStub (line 366) | void generateServiceMethodStub(IndentingWriter out)
FILE: protoc_plugin/lib/src/linker.dart
function link (line 10) | void link(GenerationOptions? options, Iterable<FileGenerator> files)
class GenerationContext (line 41) | class GenerationContext {
method registerProtoFile (line 55) | void registerProtoFile(FileGenerator f)
method registerFieldType (line 60) | void registerFieldType(ProtobufContainer type)
method getImportedProtoFile (line 68) | FileGenerator? getImportedProtoFile(String name)
method getFieldType (line 72) | ProtobufContainer? getFieldType(String name)
FILE: protoc_plugin/lib/src/message_generator.dart
class OneofEnumGenerator (line 11) | class OneofEnumGenerator {
method generate (line 12) | void generate(
class MessageGenerator (line 46) | class MessageGenerator extends ProtobufContainer {
method checkResolved (line 207) | void checkResolved()
method getJsonConstant (line 216) | String getJsonConstant(FileGenerator context)
method addMixinsTo (line 225) | void addMixinsTo(Set<PbMixin> output)
method register (line 235) | void register(GenerationContext ctx)
method resolve (line 246) | void resolve(GenerationContext ctx)
method addImportsTo (line 304) | void addImportsTo(
method addConstantImportsTo (line 338) | void addConstantImportsTo(Set<FileGenerator> imports)
method generate (line 348) | void generate(IndentingWriter out)
method _generateFactory (line 543) | void _generateFactory(IndentingWriter out)
method _hasRequiredFields (line 603) | bool _hasRequiredFields(MessageGenerator type, Set<String> alreadySeen)
method generateFieldsAccessorsMutators (line 639) | void generateFieldsAccessorsMutators(IndentingWriter out)
method generateOneofAccessors (line 654) | void generateOneofAccessors(IndentingWriter out, OneofNames oneof)
method generateFieldAccessorsMutators (line 686) | void generateFieldAccessorsMutators(
method _getterExpression (line 813) | String _getterExpression(
method _emitDeprecatedIf (line 850) | void _emitDeprecatedIf(bool condition, IndentingWriter out)
method _emitOverrideIf (line 858) | void _emitOverrideIf(bool condition, IndentingWriter out)
method _emitIndexAnnotation (line 864) | void _emitIndexAnnotation(int index, IndentingWriter out)
method generateEnums (line 868) | void generateEnums(IndentingWriter out)
method generateConstants (line 881) | void generateConstants(IndentingWriter out)
method _getMixin (line 929) | PbMixin? _getMixin(
FILE: protoc_plugin/lib/src/options.dart
type OnError (line 7) | typedef OnError = void Function(String details);
function genericOptionsParser (line 14) | bool genericOptionsParser(
function reportError (line 26) | void reportError(String details)
class GenerationOptions (line 53) | class GenerationOptions {
class SingleOptionParser (line 68) | abstract class SingleOptionParser {
method parse (line 73) | void parse(String name, String? value, OnError onError)
class GrpcOptionParser (line 76) | class GrpcOptionParser implements SingleOptionParser {
method parse (line 80) | void parse(String name, String? value, OnError onError)
class GenerateMetadataParser (line 89) | class GenerateMetadataParser implements SingleOptionParser {
method parse (line 93) | void parse(String name, String? value, OnError onError)
class DisableConstructorArgsParser (line 102) | class DisableConstructorArgsParser implements SingleOptionParser {
method parse (line 106) | void parse(String name, String? value, OnError onError)
function parseGenerationOptions (line 118) | GenerationOptions? parseGenerationOptions(
FILE: protoc_plugin/lib/src/output_config.dart
class OutputConfiguration (line 9) | abstract class OutputConfiguration {
method resolveImport (line 19) | Uri resolveImport(Uri target, Uri source, String extension)
method outputPathFor (line 25) | Uri outputPathFor(Uri inputPath, String extension)
class DefaultOutputConfiguration (line 31) | class DefaultOutputConfiguration extends OutputConfiguration {
method outputPathFor (line 35) | Uri outputPathFor(Uri inputPath, String extension)
method resolveImport (line 41) | Uri resolveImport(Uri target, Uri source, String extension)
function _wellKnownProtoImport (line 71) | String? _wellKnownProtoImport(String importPath, String extension)
FILE: protoc_plugin/lib/src/paths.dart
class Paths (line 14) | class Paths {
method buildTopLevelMessagePath (line 31) | List<int> buildTopLevelMessagePath(
method buildNestedMessagePath (line 38) | List<int> buildNestedMessagePath(
method buildFieldPath (line 45) | List<int> buildFieldPath(List<int> parentPath, ProtobufField field)
method buildOneofPath (line 50) | List<int> buildOneofPath(List<int> parentPath, OneofNames oneof)
FILE: protoc_plugin/lib/src/protobuf_field.dart
class ProtobufField (line 7) | class ProtobufField {
method getDartType (line 165) | String getDartType()
method getDartMapKeyType (line 176) | String getDartMapKeyType()
method getDartMapValueType (line 184) | String getDartMapValueType()
method _formatArguments (line 206) | String _formatArguments(
method generateBuilderInfoCall (line 221) | void generateBuilderInfoCall(IndentingWriter out, String package)
method getDefaultExpr (line 376) | String getDefaultExpr()
method generateDefaultFunction (line 395) | String? generateDefaultFunction({bool omitIfFirstEnumValue = false})
method _getDefaultAsBoolExpr (line 465) | String? _getDefaultAsBoolExpr(String? noDefault)
method _getDefaultAsStringExpr (line 472) | String? _getDefaultAsStringExpr(String? noDefault)
method _getDefaultAsInt32Expr (line 480) | String? _getDefaultAsInt32Expr(String? noDefault)
method _hasBooleanOption (line 487) | bool _hasBooleanOption(Extension extension)
method _typeNotImplemented (line 495) | String _typeNotImplemented(String methodName)
method _unCamelCase (line 502) | String _unCamelCase(String name)
function _inferLegacyProtoFeatures (line 510) | FeatureSet _inferLegacyProtoFeatures(
FILE: protoc_plugin/lib/src/service_generator.dart
class ServiceGenerator (line 7) | class ServiceGenerator {
method serviceBaseName (line 32) | String serviceBaseName(String originalName)
method resolve (line 52) | void resolve(GenerationContext ctx)
method _resolveMoreTypes (line 61) | void _resolveMoreTypes(GenerationContext ctx)
method _addDependency (line 67) | void _addDependency(GenerationContext ctx, String fqname, String locat...
method _addDepsRecursively (line 78) | void _addDepsRecursively(MessageGenerator mg, int depth)
method addImportsTo (line 101) | void addImportsTo(Set<FileGenerator> imports)
method addConstantImportsTo (line 111) | void addConstantImportsTo(Set<FileGenerator> imports)
method _getDartClassName (line 123) | String _getDartClassName(String fqname, {bool forMainFile = false})
method _methodName (line 140) | String _methodName(String name)
method _generateStub (line 142) | void _generateStub(IndentingWriter out, MethodDescriptorProto m)
method _generateStubs (line 153) | void _generateStubs(IndentingWriter out)
method _generateRequestMethod (line 160) | void _generateRequestMethod(IndentingWriter out)
method _generateDispatchMethod (line 180) | void _generateDispatchMethod(IndentingWriter out)
method _generateMoreClassMembers (line 206) | void _generateMoreClassMembers(IndentingWriter out)
method generate (line 208) | void generate(IndentingWriter out)
method generateConstants (line 237) | void generateConstants(IndentingWriter out)
FILE: protoc_plugin/lib/src/shared.dart
function _listEquals (line 19) | bool _listEquals(List<int> a, List<int> b)
function commentBlock (line 41) | String? commentBlock(List<int> path)
function toDartComment (line 68) | String? toDartComment(String value)
FILE: protoc_plugin/lib/src/well_known_types.dart
function wellKnownMixinForFullName (line 7) | PbMixin? wellKnownMixinForFullName(String qualifiedName)
FILE: protoc_plugin/lib/string_escape.dart
function quoted (line 6) | String quoted(String input)
function _escapeCharacter (line 16) | String _escapeCharacter(int char)
FILE: protoc_plugin/lib/testing/mixins.dart
function hasInterfaceString (line 10) | bool hasInterfaceString()
function hasOverriddenHasMethod (line 16) | bool hasOverriddenHasMethod()
FILE: protoc_plugin/test/any_test.dart
function main (line 13) | void main()
FILE: protoc_plugin/test/bazel_test.dart
function main (line 8) | void main()
function onError (line 20) | void onError(String message)
FILE: protoc_plugin/test/client_generator_test.dart
function main (line 18) | void main()
FILE: protoc_plugin/test/coded_buffer_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/const_generator_test.dart
function toConst (line 9) | String toConst(Object? val)
function main (line 15) | void main()
FILE: protoc_plugin/test/constructor_args_test.dart
function main (line 12) | void main()
FILE: protoc_plugin/test/default_value_escape_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/deprecations_test.dart
function main (line 14) | void main()
FILE: protoc_plugin/test/descriptor_test.dart
function main (line 13) | void main()
FILE: protoc_plugin/test/doc_comments_test.dart
function main (line 14) | void main()
FILE: protoc_plugin/test/duration_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/enum_generator_test.dart
function main (line 17) | void main()
FILE: protoc_plugin/test/extension_generator_test.dart
function makeExtension (line 20) | pb.FieldDescriptorProto makeExtension()
function main (line 30) | void main()
FILE: protoc_plugin/test/extension_test.dart
function throwsArgError (line 17) | Matcher throwsArgError(String expectedMessage)
function main (line 43) | void main()
FILE: protoc_plugin/test/extension_unknown_interaction_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/feature_set_defaults_test.dart
function main (line 8) | void main()
FILE: protoc_plugin/test/file_generator_test.dart
function buildFileDescriptor (line 20) | FileDescriptorProto buildFileDescriptor({
function createInt64Proto (line 86) | FileDescriptorProto createInt64Proto()
function main (line 105) | void main()
FILE: protoc_plugin/test/freeze_test.dart
function main (line 11) | void main()
FILE: protoc_plugin/test/generated_message_test.dart
function main (line 23) | void main()
function makeRecursiveMessage (line 255) | TestRecursiveMessage makeRecursiveMessage(int depth)
function assertMessageDepth (line 261) | void assertMessageDepth(TestRecursiveMessage message, int depth)
function testCopy (line 875) | void testCopy(TestAllTypes value1, TestAllTypes value2)
function testCopyExtensions (line 917) | void testCopyExtensions(TestAllExtensions value1, TestAllExtensions value2)
FILE: protoc_plugin/test/goldens/client.pb.dart
class TestApi (line 1) | class TestApi {
method aMethod (line 6) | $async.Future<SomeReply> aMethod(
method anotherMethod (line 10) | $async.Future<$0.AnotherReply> anotherMethod(
FILE: protoc_plugin/test/goldens/deprecations.pb.dart
class HelloRequest (line 22) | @$core.Deprecated('This message is deprecated')
method clone (line 49) | HelloRequest clone()
method copyWith (line 51) | HelloRequest copyWith(void Function(HelloRequest) updates)
method create (line 59) | HelloRequest create()
method createEmptyInstance (line 61) | HelloRequest createEmptyInstance()
method getDefault (line 63) | HelloRequest getDefault()
method hasName (line 75) | $core.bool hasName()
method clearName (line 78) | void clearName()
class HelloReply (line 81) | class HelloReply extends $pb.GeneratedMessage {
method clone (line 107) | HelloReply clone()
method copyWith (line 109) | HelloReply copyWith(void Function(HelloReply) updates)
method create (line 116) | HelloReply create()
method createEmptyInstance (line 118) | HelloReply createEmptyInstance()
method getDefault (line 120) | HelloReply getDefault()
method hasMessage (line 129) | $core.bool hasMessage()
method clearMessage (line 131) | void clearMessage()
class GreeterApi (line 134) | @$core.Deprecated('This service is deprecated')
method sayHello (line 141) | $async.Future<HelloReply> sayHello(
FILE: protoc_plugin/test/goldens/deprecations.pbenum.dart
class A (line 17) | @$core.Deprecated('This enum is deprecated')
method valueOf (line 30) | A? valueOf($core.int value)
FILE: protoc_plugin/test/goldens/doc_comments.pb.dart
class HelloRequest (line 23) | class HelloRequest extends $pb.GeneratedMessage {
method clone (line 49) | HelloRequest clone()
method copyWith (line 51) | HelloRequest copyWith(void Function(HelloRequest) updates)
method create (line 59) | HelloRequest create()
method createEmptyInstance (line 61) | HelloRequest createEmptyInstance()
method getDefault (line 63) | HelloRequest getDefault()
method hasName (line 73) | $core.bool hasName()
method clearName (line 75) | void clearName()
class HelloReply (line 78) | class HelloReply extends $pb.GeneratedMessage {
method clone (line 104) | HelloReply clone()
method copyWith (line 106) | HelloReply copyWith(void Function(HelloReply) updates)
method create (line 113) | HelloReply create()
method createEmptyInstance (line 115) | HelloReply createEmptyInstance()
method getDefault (line 117) | HelloReply getDefault()
method hasMessage (line 126) | $core.bool hasMessage()
method clearMessage (line 128) | void clearMessage()
class GreeterApi (line 132) | class GreeterApi {
method sayHello (line 138) | $async.Future<HelloReply> sayHello(
FILE: protoc_plugin/test/goldens/doc_comments.pbenum.dart
class A (line 18) | class A extends $pb.ProtobufEnum {
method valueOf (line 32) | A? valueOf($core.int value)
FILE: protoc_plugin/test/goldens/enum.pbenum.dart
class PhoneType (line 1) | class PhoneType extends $pb.ProtobufEnum {
method valueOf (line 15) | PhoneType? valueOf($core.int value)
FILE: protoc_plugin/test/goldens/grpc_service.pb.dart
class Empty (line 19) | class Empty extends $pb.GeneratedMessage {
method clone (line 37) | Empty clone()
method copyWith (line 39) | Empty copyWith(void Function(Empty) updates)
method create (line 46) | Empty create()
method createEmptyInstance (line 48) | Empty createEmptyInstance()
method getDefault (line 50) | Empty getDefault()
FILE: protoc_plugin/test/goldens/imports.pb.dart
class M (line 22) | class M extends $pb.GeneratedMessage {
method clone (line 42) | M clone()
method copyWith (line 44) | M copyWith(void Function(M) updates)
method create (line 51) | M create()
method createEmptyInstance (line 53) | M createEmptyInstance()
method getDefault (line 55) | M getDefault()
method hasM (line 64) | $core.bool hasM()
method clearM (line 66) | void clearM()
method ensureM (line 68) | M ensureM()
method hasM1 (line 75) | $core.bool hasM1()
method clearM1 (line 77) | void clearM1()
method ensureM1 (line 79) | $0.M ensureM1()
method hasM2 (line 86) | $core.bool hasM2()
method clearM2 (line 88) | void clearM2()
method ensureM2 (line 90) | $1.M ensureM2()
FILE: protoc_plugin/test/goldens/int64.pb.dart
class Int64 (line 20) | class Int64 extends $pb.GeneratedMessage {
method clone (line 39) | Int64 clone()
method copyWith (line 41) | Int64 copyWith(void Function(Int64) updates)
method create (line 48) | Int64 create()
method createEmptyInstance (line 50) | Int64 createEmptyInstance()
method getDefault (line 52) | Int64 getDefault()
method hasValue (line 61) | $core.bool hasValue()
method clearValue (line 63) | void clearValue()
FILE: protoc_plugin/test/goldens/messageGenerator.pb.dart
class PhoneNumber (line 1) | class PhoneNumber extends $pb.GeneratedMessage {
method clone (line 17) | PhoneNumber clone()
method copyWith (line 19) | PhoneNumber copyWith(void Function(PhoneNumber) updates)
method create (line 25) | PhoneNumber create()
method createEmptyInstance (line 27) | PhoneNumber createEmptyInstance()
method getDefault (line 29) | PhoneNumber getDefault()
method hasNumber (line 37) | $core.bool hasNumber()
method clearNumber (line 39) | void clearNumber()
method hasType (line 46) | $core.bool hasType()
method clearType (line 48) | void clearType()
method hasName (line 55) | $core.bool hasName()
method clearName (line 57) | void clearName()
method hasDeprecatedField (line 67) | $core.bool hasDeprecatedField()
method clearDeprecatedField (line 70) | void clearDeprecatedField()
FILE: protoc_plugin/test/goldens/messageGeneratorEnums.pb.dart
class PhoneNumber_PhoneType (line 1) | class PhoneNumber_PhoneType extends $pb.ProtobufEnum {
method valueOf (line 15) | PhoneNumber_PhoneType? valueOf($core.int value)
FILE: protoc_plugin/test/goldens/oneMessage.pb.dart
class PhoneNumber (line 19) | class PhoneNumber extends $pb.GeneratedMessage {
method clone (line 40) | PhoneNumber clone()
method copyWith (line 42) | PhoneNumber copyWith(void Function(PhoneNumber) updates)
method create (line 50) | PhoneNumber create()
method createEmptyInstance (line 52) | PhoneNumber createEmptyInstance()
method getDefault (line 54) | PhoneNumber getDefault()
method hasNumber (line 63) | $core.bool hasNumber()
method clearNumber (line 65) | void clearNumber()
method hasType (line 72) | $core.bool hasType()
method clearType (line 74) | void clearType()
method hasName (line 81) | $core.bool hasName()
method clearName (line 83) | void clearName()
FILE: protoc_plugin/test/goldens/service.pb.dart
class Empty (line 20) | class Empty extends $pb.GeneratedMessage {
method clone (line 38) | Empty clone()
method copyWith (line 40) | Empty copyWith(void Function(Empty) updates)
method create (line 47) | Empty create()
method createEmptyInstance (line 49) | Empty createEmptyInstance()
method getDefault (line 51) | Empty getDefault()
class TestApi (line 56) | class TestApi {
method ping (line 61) | $async.Future<Empty> ping($pb.ClientContext? ctx, Empty request)
FILE: protoc_plugin/test/goldens/service.pbserver.dart
class TestServiceBase (line 23) | abstract class TestServiceBase extends $pb.GeneratedService {
method ping (line 24) | $async.Future<$0.Empty> ping($pb.ServerContext ctx, $0.Empty request)
method createRequest (line 26) | $pb.GeneratedMessage createRequest($core.String methodName)
method handleCall (line 35) | $async.Future<$pb.GeneratedMessage> handleCall($pb.ServerContext ctx,
FILE: protoc_plugin/test/goldens/serviceGenerator.pb.dart
class TestServiceBase (line 1) | abstract class TestServiceBase extends $pb.GeneratedService {
method aMethod (line 2) | $async.Future<$0.SomeReply> aMethod(
method anotherMethod (line 6) | $async.Future<$1.AnotherReply> anotherMethod(
method createRequest (line 11) | $pb.GeneratedMessage createRequest($core.String methodName)
method handleCall (line 22) | $async.Future<$pb.GeneratedMessage> handleCall(
FILE: protoc_plugin/test/goldens/topLevelEnum.pbenum.dart
class PhoneType (line 17) | class PhoneType extends $pb.ProtobufEnum {
method valueOf (line 33) | PhoneType? valueOf($core.int value)
FILE: protoc_plugin/test/hash_code_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/high_tagnumber_test.dart
function main (line 11) | void main()
FILE: protoc_plugin/test/import_option_test.dart
function main (line 12) | void main()
FILE: protoc_plugin/test/import_public_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/import_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/indenting_writer_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/json_test.dart
function main (line 14) | void main()
function expectedJson (line 34) | Matcher expectedJson(String from, String to)
function optionalBytes (line 122) | String optionalBytes(String from, String to)
FILE: protoc_plugin/test/leading_underscores_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/list_iterator_args_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/map_field_test.dart
function main (line 12) | void main()
function setValues (line 18) | void setValues(TestMap testMap)
function updateValues (line 40) | void updateValues(TestMap testMap)
function expectEmpty (line 62) | void expectEmpty(TestMap testMap)
function expectMapValuesSet (line 71) | void expectMapValuesSet(TestMap testMap)
function expectMapValuesUpdated (line 97) | void expectMapValuesUpdated(TestMap testMap)
function testValues (line 308) | void testValues(TestMap candidate)
function varint32Bytes (line 518) | List<int> varint32Bytes(int value)
FILE: protoc_plugin/test/map_test.dart
function main (line 12) | void main()
FILE: protoc_plugin/test/merge_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/message_generator_test.dart
function main (line 22) | void main()
FILE: protoc_plugin/test/message_set_test.dart
function main (line 14) | void main()
type Encoding (line 234) | enum Encoding { lengthDelimited, group }
function encodeMessageSetWithExtraItemTags (line 238) | Uint8List encodeMessageSetWithExtraItemTags(Encoding encoding)
FILE: protoc_plugin/test/message_test.dart
function main (line 15) | void main()
FILE: protoc_plugin/test/mixin_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/names_test.dart
function throwsMessage (line 13) | Matcher throwsMessage(String msg)
class _ToStringMatcher (line 15) | class _ToStringMatcher extends CustomMatcher {
method featureValueOf (line 19) | String featureValueOf(dynamic actual)
function main (line 22) | void main()
function oneTwoThree (line 112) | Iterable<String> oneTwoThree()
function variants (line 133) | List<String> variants(String s)
function stringField (line 275) | FieldDescriptorProto stringField(String name, int number, String dartName)
function stringFieldOneof (line 284) | FieldDescriptorProto stringFieldOneof(String name, int number, int oneof...
function oneofField (line 293) | OneofDescriptorProto oneofField(String name)
FILE: protoc_plugin/test/omit_enum_names_test.dart
function constant (line 10) | String constant()
function main (line 12) | Future<void> main()
FILE: protoc_plugin/test/omit_field_names_test.dart
function constant (line 10) | String constant()
function main (line 12) | Future<void> main()
FILE: protoc_plugin/test/omit_message_names_test.dart
function constant (line 10) | String constant()
function main (line 12) | Future<void> main()
FILE: protoc_plugin/test/oneof_test.dart
function main (line 9) | void main()
function expectSecondSet (line 204) | void expectSecondSet(Foo foo)
function expectFirstSet (line 220) | void expectFirstSet(Foo foo)
function expectOneofNotSet (line 236) | void expectOneofNotSet(Foo foo)
FILE: protoc_plugin/test/proto3_json_test.dart
function main (line 112) | void main()
function testValue (line 159) | void testValue(double value, Object expected)
function parseFailure (line 449) | Matcher parseFailure(List<String> expectedPath)
function expectRoundTrip (line 1044) | void expectRoundTrip(String typeName, int value)
function expectFailure (line 1052) | void expectFailure(String typeName, int value)
function expectSigned32 (line 1059) | void expectSigned32(String typeName)
function expectUnsigned32 (line 1068) | void expectUnsigned32(String typeName)
FILE: protoc_plugin/test/proto3_optional_test.dart
function main (line 11) | void main()
FILE: protoc_plugin/test/protoc_options_test.dart
function main (line 9) | void main()
function checkValid (line 11) | void checkValid(String? parameter)
function checkInvalid (line 28) | void checkInvalid(String parameter)
FILE: protoc_plugin/test/repeated_encoding_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/repeated_field_test.dart
function main (line 10) | void main()
FILE: protoc_plugin/test/reserved_names_test.dart
function main (line 22) | void main()
FILE: protoc_plugin/test/send_protos_via_sendports_test.dart
function sendReceive (line 15) | Future<T> sendReceive<T>(T object)
function main (line 21) | void main()
FILE: protoc_plugin/test/service_generator_test.dart
function main (line 18) | void main()
FILE: protoc_plugin/test/service_test.dart
class SearchService (line 14) | class SearchService extends pb.SearchServiceBase {
method search (line 16) | Future<pb.SearchResponse> search(
method search2 (line 28) | Future<pb2.SearchResponse> search2(
class FakeJsonServer (line 44) | class FakeJsonServer {
method messageHandler (line 48) | Future<String> messageHandler(
class FakeJsonClient (line 65) | class FakeJsonClient implements RpcClient {
method invoke (line 71) | Future<T> invoke<T extends GeneratedMessage>(
function main (line 89) | void main()
function readMessageName (line 126) | String readMessageName(fqname)
FILE: protoc_plugin/test/shared_test.dart
function main (line 8) | void main()
FILE: protoc_plugin/test/src/golden_file.dart
function expectGolden (line 15) | void expectGolden(String actual, String file)
FILE: protoc_plugin/test/src/mirror_util.dart
function findMemberNames (line 9) | Set<String> findMemberNames(String importName, Symbol classSymbol)
function addNames (line 15) | void addNames(ClassMirror cls)
function chooseName (line 18) | String chooseName(Symbol sym)
FILE: protoc_plugin/test/src/service_util.dart
function buildServiceDescriptor (line 7) | ServiceDescriptorProto buildServiceDescriptor()
function buildFileDescriptor (line 24) | FileDescriptorProto buildFileDescriptor(
FILE: protoc_plugin/test/src/test_features.dart
function setTestFeature (line 12) | dynamic setTestFeature(dynamic descriptor, int value)
function getTestFeature (line 27) | int getTestFeature(FeatureSet features)
FILE: protoc_plugin/test/src/test_util.dart
function make64 (line 14) | Int64 make64(int lo, [int? hi])
function expect64 (line 19) | Matcher expect64(int lo, [int? hi])
function assertAllExtensionsSet (line 24) | void assertAllExtensionsSet(TestAllExtensions message)
function assertAllFieldsSet (line 344) | void assertAllFieldsSet(TestAllTypes message)
function assertClear (line 540) | void assertClear(TestAllTypes message)
function assertExtensionsClear (line 683) | void assertExtensionsClear(TestAllExtensions message)
function assertPackedExtensionsSet (line 914) | void assertPackedExtensionsSet(TestPackedExtensions message)
function assertPackedFieldsSet (line 991) | void assertPackedFieldsSet(TestPackedTypes message)
function assertRepeatedExtensionsModified (line 1036) | void assertRepeatedExtensionsModified(TestAllExtensions message)
function assertRepeatedFieldsModified (line 1355) | void assertRepeatedFieldsModified(TestAllTypes message)
function assertUnpackedFieldsSet (line 1446) | void assertUnpackedFieldsSet(TestUnpackedTypes message)
function getAllExtensionsSet (line 1491) | TestAllExtensions getAllExtensionsSet()
function getAllSet (line 1499) | TestAllTypes getAllSet()
function getExtensionRegistry (line 1505) | ExtensionRegistry getExtensionRegistry()
function getPackedExtensionsSet (line 1511) | TestPackedExtensions getPackedExtensionsSet()
function getPackedSet (line 1517) | TestPackedTypes getPackedSet()
function getUnpackedSet (line 1523) | TestUnpackedTypes getUnpackedSet()
function modifyRepeatedExtensions (line 1529) | void modifyRepeatedExtensions(TestAllExtensions message)
function modifyRepeatedFields (line 1577) | void modifyRepeatedFields(TestAllTypes message)
function registerAllExtensions (line 1618) | void registerAllExtensions(ExtensionRegistry registry)
function setAllExtensions (line 1622) | void setAllExtensions(TestAllExtensions message)
function setAllFields (line 1807) | void setAllFields(TestAllTypes message)
function setPackedExtensions (line 1954) | void setPackedExtensions(TestPackedExtensions message)
function setPackedFields (line 1988) | void setPackedFields(TestPackedTypes message)
function setUnpackedFields (line 2022) | void setUnpackedFields(TestUnpackedTypes message)
FILE: protoc_plugin/test/timestamp_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/to_builder_test.dart
function main (line 14) | void main()
FILE: protoc_plugin/test/unknown_enums_test.dart
function main (line 9) | void main()
FILE: protoc_plugin/test/unknown_field_set_test.dart
function main (line 13) | void main()
function getField (line 19) | UnknownFieldSetField getField(String name)
function checkNotEqual (line 32) | void checkNotEqual(UnknownFieldSet s1, UnknownFieldSet s2)
function checkEqualsIsConsistent (line 46) | void checkEqualsIsConsistent(UnknownFieldSet set)
function getBizarroData (line 165) | List<int> getBizarroData()
FILE: protoc_plugin/test/validate_fail_test.dart
function main (line 26) | void main()
FILE: protoc_plugin/test/wire_format_test.dart
function main (line 11) | void main()
FILE: protoc_plugin/tool/update_protos.dart
function main (line 11) | void main(List<String> args)
function git (line 57) | Future<void> git(List<String> args, {required Directory cwd})
function copy (line 73) | void copy(Directory from, Directory to, String fromPrefix, List<String> ...
Condensed preview — 380 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,091K chars).
[
{
"path": ".github/dependabot.yml",
"chars": 230,
"preview": "# Dependabot configuration file.\n# See https://docs.github.com/en/code-security/dependabot/dependabot-version-updates\n\nv"
},
{
"path": ".github/workflows/benchmark.yaml",
"chars": 795,
"preview": "name: benchmarks\npermissions: read-all\n\non:\n pull_request:\n push:\n branches: [master]\n schedule:\n - cron: \"0 0 "
},
{
"path": ".github/workflows/post_summaries.yaml",
"chars": 442,
"preview": "name: Comment on the pull request\n\non:\n # Trigger this workflow after the Publish workflow completes. This workflow\n #"
},
{
"path": ".github/workflows/protobuf.yaml",
"chars": 888,
"preview": "name: protobuf\npermissions: read-all\n\non:\n pull_request:\n push:\n branches: [master]\n schedule:\n - cron: \"0 0 * "
},
{
"path": ".github/workflows/protoc_plugin.yaml",
"chars": 863,
"preview": "name: protoc_plugin\npermissions: read-all\n\non:\n pull_request:\n push:\n branches: [master]\n schedule:\n - cron: \"0"
},
{
"path": ".github/workflows/publish.yaml",
"chars": 401,
"preview": "# A CI configuration to auto-publish pub packages.\n\nname: Publish\n\non:\n pull_request:\n branches: [master]\n push:\n "
},
{
"path": ".gitignore",
"chars": 175,
"preview": ".dart_tool/\n.pub\nbuild/\npubspec.lock\ndoc/\n\n# `dart compile exe` outputs\n*.exe\n\n# `dart compile js` outputs\n*.js\n*.js.dep"
},
{
"path": "AUTHORS",
"chars": 187,
"preview": "# Below is a list of people and organizations that have contributed\n# to the Dart project. Names should be added to the "
},
{
"path": "LICENSE",
"chars": 1503,
"preview": "Copyright 2013, the Dart project authors.\n\nRedistribution and use in source and binary forms, with or without\nmodificati"
},
{
"path": "README.md",
"chars": 1025,
"preview": "## Protobuf support for Dart\n\n[Protocol Buffers](https://developers.google.com/protocol-buffers) (protobuf)\nare Google's"
},
{
"path": "analysis_options.yaml",
"chars": 160,
"preview": "include: package:lints/recommended.yaml\n\nlinter:\n rules:\n - avoid_bool_literals_in_conditional_expressions\n - comment"
},
{
"path": "benchmarks/.gitignore",
"chars": 65,
"preview": "# Generated by pub\n.dart_tool/\npubspec.lock\n\nlib/generated/\nout/\n"
},
{
"path": "benchmarks/README.md",
"chars": 1404,
"preview": "## Running benchmarks\n\n- Compile protos with `./tool/compile_protos.sh`\n\n- **JIT:** Run benchmark programs in `bin/`, e."
},
{
"path": "benchmarks/analysis_options.yaml",
"chars": 34,
"preview": "include: ../analysis_options.yaml\n"
},
{
"path": "benchmarks/bin/binary_decode_packed.dart",
"chars": 6139,
"preview": "// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/deep_copy.dart",
"chars": 1829,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/from_binary.dart",
"chars": 1909,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/from_json_string.dart",
"chars": 2016,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/from_proto3_json_object.dart",
"chars": 2192,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/from_proto3_json_string.dart",
"chars": 2345,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/hash_code.dart",
"chars": 1752,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/query_decode_binary.dart",
"chars": 826,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/query_decode_json.dart",
"chars": 876,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/query_encode_binary.dart",
"chars": 838,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/query_encode_json.dart",
"chars": 804,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/query_set_nested_value.dart",
"chars": 1237,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/repeated_field.dart",
"chars": 1542,
"preview": "// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/to_binary.dart",
"chars": 1809,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/to_json_string.dart",
"chars": 1772,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/to_proto3_json_object.dart",
"chars": 1782,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/bin/to_proto3_json_string.dart",
"chars": 1858,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/lib/benchmark_base.dart",
"chars": 1214,
"preview": "// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/lib/readfile.dart",
"chars": 314,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/lib/readfile_js.dart",
"chars": 705,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/lib/readfile_vm.dart",
"chars": 337,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protoc_version",
"chars": 5,
"preview": "21.2\n"
},
{
"path": "benchmarks/protos/google_message1_proto2.proto",
"chars": 2790,
"preview": "// Benchmark messages for proto2.\n\nsyntax = \"proto2\";\n\npackage benchmarks.proto2;\noption java_package = \"com.google.prot"
},
{
"path": "benchmarks/protos/google_message1_proto3.proto",
"chars": 1716,
"preview": "// Benchmark messages for proto3.\n\nsyntax = \"proto3\";\n\npackage benchmarks.proto3;\noption java_package = \"com.google.prot"
},
{
"path": "benchmarks/protos/google_message2.proto",
"chars": 2457,
"preview": "// Benchmark messages for proto2.\n\nsyntax = \"proto2\";\n\npackage benchmarks.proto2;\noption java_package = \"com.google.prot"
},
{
"path": "benchmarks/protos/packed_fields.proto",
"chars": 1317,
"preview": "syntax = \"proto3\";\n\nmessage PackedFields {\n repeated int32 packedInt32 = 1 [packed = true];\n repeated int64 packed"
},
{
"path": "benchmarks/protos/query_benchmark/f0.proto",
"chars": 506,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f1.proto",
"chars": 959,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f10.proto",
"chars": 547,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f11.proto",
"chars": 430,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f12.proto",
"chars": 2644,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f13.proto",
"chars": 308,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f14.proto",
"chars": 945,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f15.proto",
"chars": 566,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f16.proto",
"chars": 689,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f17.proto",
"chars": 433,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f18.proto",
"chars": 652,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f19.proto",
"chars": 648,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f2.proto",
"chars": 1721,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f20.proto",
"chars": 460,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f21.proto",
"chars": 394,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f22.proto",
"chars": 2135,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f23.proto",
"chars": 1730,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f24.proto",
"chars": 314,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f25.proto",
"chars": 506,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f26.proto",
"chars": 753,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f27.proto",
"chars": 334,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f28.proto",
"chars": 1337,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f3.proto",
"chars": 509,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f4.proto",
"chars": 1449,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f5.proto",
"chars": 8358,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f6.proto",
"chars": 344,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f7.proto",
"chars": 297,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f8.proto",
"chars": 1337,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/protos/query_benchmark/f9.proto",
"chars": 954,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "benchmarks/pubspec.yaml",
"chars": 688,
"preview": "# Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n# for details. All rights reserved. Use of "
},
{
"path": "benchmarks/tool/compile_benchmarks.dart",
"chars": 5747,
"preview": "#!/usr/bin/env dart\n// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n// for details. All ri"
},
{
"path": "benchmarks/tool/compile_protos.sh",
"chars": 885,
"preview": "#!/bin/bash\n\n# Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n# for details. All rights rese"
},
{
"path": "benchmarks/tool/run_protoc_plugin.sh",
"chars": 274,
"preview": "#!/usr/bin/env bash\n\n# Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file\n# for details. All rig"
},
{
"path": "protobuf/CHANGELOG.md",
"chars": 25960,
"preview": "## 6.0.0\n\n* New `GeneratedMessage` extension methods `toTextFormat` and `writeTextFormat`\n added to convert the message"
},
{
"path": "protobuf/LICENSE",
"chars": 1503,
"preview": "Copyright 2013, the Dart project authors.\n\nRedistribution and use in source and binary forms, with or without\nmodificati"
},
{
"path": "protobuf/README.md",
"chars": 937,
"preview": "[](https://pub.dev/packages/protobuf)\n[ 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/protobuf.dart",
"chars": 759,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/annotations.dart",
"chars": 792,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/builder_info.dart",
"chars": 15201,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/coded_buffer.dart",
"chars": 14972,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/coded_buffer_reader.dart",
"chars": 10522,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/coded_buffer_writer.dart",
"chars": 17159,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/consts.dart",
"chars": 684,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/exceptions.dart",
"chars": 2086,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/extension.dart",
"chars": 1591,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/extension_field_set.dart",
"chars": 7363,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/extension_registry.dart",
"chars": 8014,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/field_error.dart",
"chars": 4669,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/field_info.dart",
"chars": 9879,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/field_set.dart",
"chars": 37056,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/field_type.dart",
"chars": 10507,
"preview": "// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/generated_message.dart",
"chars": 23088,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/generated_service.dart",
"chars": 897,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/internal.dart",
"chars": 2146,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/json/json.dart",
"chars": 10938,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/json/json_vm.dart",
"chars": 729,
"preview": "// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/json/json_web.dart",
"chars": 14109,
"preview": "// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/json_parsing_context.dart",
"chars": 1096,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/message_set.dart",
"chars": 4777,
"preview": "// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/mixins/map_mixin.dart",
"chars": 1616,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/mixins/well_known.dart",
"chars": 26420,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/pb_list.dart",
"chars": 7893,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/pb_map.dart",
"chars": 4689,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/permissive_compare.dart",
"chars": 1148,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/proto3_json.dart",
"chars": 23812,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/protobuf_enum.dart",
"chars": 2249,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/rpc_client.dart",
"chars": 1277,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/type_registry.dart",
"chars": 1259,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/unknown_field_set.dart",
"chars": 11902,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/unpack.dart",
"chars": 1732,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/utils.dart",
"chars": 4838,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/src/protobuf/wire_format.dart",
"chars": 2061,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/any.pb.dart",
"chars": 7843,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/any.proto.\n\n// @dart = 3.3\n\n// ignore_fo"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/any.pbjson.dart",
"chars": 1028,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/any.proto.\n\n// @dart = 3.3\n\n// ignore_fo"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/api.pb.dart",
"chars": 18947,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/api.proto.\n\n// @dart = 3.3\n\n// ignore_fo"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/api.pbjson.dart",
"chars": 4301,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/api.proto.\n\n// @dart = 3.3\n\n// ignore_fo"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/duration.pb.dart",
"chars": 6729,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/duration.proto.\n\n// @dart = 3.3\n\n// igno"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/duration.pbjson.dart",
"chars": 1071,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/duration.proto.\n\n// @dart = 3.3\n\n// igno"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/empty.pb.dart",
"chars": 2404,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/empty.proto.\n\n// @dart = 3.3\n\n// ignore_"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/empty.pbjson.dart",
"chars": 841,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/empty.proto.\n\n// @dart = 3.3\n\n// ignore_"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/field_mask.pb.dart",
"chars": 9003,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/field_mask.proto.\n\n// @dart = 3.3\n\n// ig"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/field_mask.pbjson.dart",
"chars": 971,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/field_mask.proto.\n\n// @dart = 3.3\n\n// ig"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/source_context.pb.dart",
"chars": 3060,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/source_context.proto.\n\n// @dart = 3.3\n\n/"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/source_context.pbjson.dart",
"chars": 1019,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/source_context.proto.\n\n// @dart = 3.3\n\n/"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/struct.pb.dart",
"chars": 11137,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/struct.proto.\n\n// @dart = 3.3\n\n// ignore"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/struct.pbenum.dart",
"chars": 1297,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/struct.proto.\n\n// @dart = 3.3\n\n// ignore"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/struct.pbjson.dart",
"chars": 3883,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/struct.proto.\n\n// @dart = 3.3\n\n// ignore"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/timestamp.pb.dart",
"chars": 8167,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/timestamp.proto.\n\n// @dart = 3.3\n\n// ign"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/timestamp.pbjson.dart",
"chars": 1077,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/timestamp.proto.\n\n// @dart = 3.3\n\n// ign"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/type.pb.dart",
"chars": 22107,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/type.proto.\n\n// @dart = 3.3\n\n// ignore_f"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/type.pbenum.dart",
"chars": 5891,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/type.proto.\n\n// @dart = 3.3\n\n// ignore_f"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/type.pbjson.dart",
"chars": 8536,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/type.proto.\n\n// @dart = 3.3\n\n// ignore_f"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/wrappers.pb.dart",
"chars": 21020,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/wrappers.proto.\n\n// @dart = 3.3\n\n// igno"
},
{
"path": "protobuf/lib/well_known_types/google/protobuf/wrappers.pbjson.dart",
"chars": 4103,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/wrappers.proto.\n\n// @dart = 3.3\n\n// igno"
},
{
"path": "protobuf/pubspec.yaml",
"chars": 428,
"preview": "name: protobuf\nversion: 6.0.0\ndescription: >-\n Runtime library for protocol buffers support. Use with package:protoc_pl"
},
{
"path": "protobuf/test/builder_info_test.dart",
"chars": 806,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/codec_test.dart",
"chars": 33927,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/coded_buffer_reader_test.dart",
"chars": 4815,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/dummy_field_test.dart",
"chars": 709,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/json_test.dart",
"chars": 6092,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/json_vm_test.dart",
"chars": 818,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/list_equality_test.dart",
"chars": 1619,
"preview": "// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/list_test.dart",
"chars": 2067,
"preview": "// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/map_mixin_test.dart",
"chars": 3250,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/message_test.dart",
"chars": 5643,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/mock_util.dart",
"chars": 2762,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/permissive_compare_test.dart",
"chars": 1438,
"preview": "// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/readonly_message_test.dart",
"chars": 7540,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protobuf/test/test_util.dart",
"chars": 517,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/.gitignore",
"chars": 119,
"preview": "# Generated by pub\n.dart_tool/\npubspec.lock\n\n# Other generated files\ntest/gen/\n\n# Legacy (can be deleted locally)\nout/\n"
},
{
"path": "protoc_plugin/CHANGELOG.md",
"chars": 25281,
"preview": "## 25.0.0\n\nNote: this version requires protobuf 5.2.0.\n\n* Handle importing [well-known protos][wkts]. ([#1081])\n\n[wkts]:"
},
{
"path": "protoc_plugin/LICENSE",
"chars": 1503,
"preview": "Copyright 2013, the Dart project authors.\n\nRedistribution and use in source and binary forms, with or without\nmodificati"
},
{
"path": "protoc_plugin/Makefile",
"chars": 2143,
"preview": "PLUGIN_SRC = \\\n\tbin/protoc_plugin.dart \\\n\tlib/**/*.dart\n\nOUTPUT_DIR=test/gen\nPLUGIN_NAME=protoc-gen-dart-debug\nPLUGIN_PA"
},
{
"path": "protoc_plugin/README.md",
"chars": 5458,
"preview": "[](https://pub.dev/packages/protoc_plugin)\n[![package publ"
},
{
"path": "protoc_plugin/analysis_options.yaml",
"chars": 191,
"preview": "include: ../analysis_options.yaml\n\nanalyzer:\n errors:\n # The generated code in lib/src/gen triggers this lint.\n u"
},
{
"path": "protoc_plugin/bin/protoc-gen-dart",
"chars": 77,
"preview": "#!/bin/bash\nBINDIR=$(dirname \"$0\")\ndart \"$BINDIR/protoc_plugin.dart\" -c \"$@\"\n"
},
{
"path": "protoc_plugin/bin/protoc-gen-dart-debug",
"chars": 94,
"preview": "#!/bin/bash\nBINDIR=$(dirname \"$0\")\ndart --enable-asserts \"$BINDIR/protoc_plugin.dart\" -c \"$@\"\n"
},
{
"path": "protoc_plugin/bin/protoc-gen-dart.bat",
"chars": 49,
"preview": "@echo off\ndart \"%~dp0protoc_plugin.dart\" -c \"$@\"\n"
},
{
"path": "protoc_plugin/bin/protoc_plugin.dart",
"chars": 360,
"preview": "#!/usr/bin/env dart\n// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file\n// for details. All ri"
},
{
"path": "protoc_plugin/bin/protoc_plugin_bazel.dart",
"chars": 564,
"preview": "#!/usr/bin/env dart\n// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All ri"
},
{
"path": "protoc_plugin/lib/bazel.dart",
"chars": 5319,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/const_generator.dart",
"chars": 2176,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/indenting_writer.dart",
"chars": 7982,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/mixins.dart",
"chars": 3154,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/names.dart",
"chars": 18664,
"preview": "// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/protoc.dart",
"chars": 1515,
"preview": "// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/base_type.dart",
"chars": 7309,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/client_generator.dart",
"chars": 3273,
"preview": "// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/code_generator.dart",
"chars": 4884,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/enum_generator.dart",
"chars": 8710,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/extension_generator.dart",
"chars": 5581,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/file_generator.dart",
"chars": 27128,
"preview": "// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/formatter.dart",
"chars": 639,
"preview": "// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file\n// for details. All rights reserved. Use o"
},
{
"path": "protoc_plugin/lib/src/gen/dart_options.pb.dart",
"chars": 8184,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from dart_options.proto.\n\n// @dart = 3.3\n\n// ignore_for_file:"
},
{
"path": "protoc_plugin/lib/src/gen/dart_options.pbenum.dart",
"chars": 437,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from dart_options.proto.\n\n// @dart = 3.3\n\n// ignore_for_file:"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/client.pb.dart",
"chars": 63841,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/client.proto.\n\n// @dart = 3.3\n\n// ignore_for_"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/client.pbenum.dart",
"chars": 3930,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/client.proto.\n\n// @dart = 3.3\n\n// ignore_for_"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/http.pb.dart",
"chars": 25276,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/http.proto.\n\n// @dart = 3.3\n\n// ignore_for_fi"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/http.pbenum.dart",
"chars": 440,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/http.proto.\n\n// @dart = 3.3\n\n// ignore_for_fi"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/launch_stage.pb.dart",
"chars": 595,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/launch_stage.proto.\n\n// @dart = 3.3\n\n// ignor"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/launch_stage.pbenum.dart",
"chars": 4023,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/launch_stage.proto.\n\n// @dart = 3.3\n\n// ignor"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/routing.pb.dart",
"chars": 19661,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/routing.proto.\n\n// @dart = 3.3\n\n// ignore_for"
},
{
"path": "protoc_plugin/lib/src/gen/google/api/routing.pbenum.dart",
"chars": 443,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/api/routing.proto.\n\n// @dart = 3.3\n\n// ignore_for"
},
{
"path": "protoc_plugin/lib/src/gen/google/protobuf/compiler/plugin.pb.dart",
"chars": 21538,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/compiler/plugin.proto.\n\n// @dart = 3.3\n\n"
},
{
"path": "protoc_plugin/lib/src/gen/google/protobuf/compiler/plugin.pbenum.dart",
"chars": 1735,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/compiler/plugin.proto.\n\n// @dart = 3.3\n\n"
},
{
"path": "protoc_plugin/lib/src/gen/google/protobuf/dart_edition_defaults.pb.dart",
"chars": 529,
"preview": "// Generated with third_party/dart/protoc_plugin/tool/regenerate.sh.\n// Copyright (c) 2013, the Dart project authors. P"
},
{
"path": "protoc_plugin/lib/src/gen/google/protobuf/descriptor.pb.dart",
"chars": 167584,
"preview": "// This is a generated file - do not edit.\n//\n// Generated from google/protobuf/descriptor.proto.\n\n// @dart = 3.3\n\n// ig"
}
]
// ... and 180 more files (download for full content)
About this extraction
This page contains the full source code of the google/protobuf.dart GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 380 files (1.9 MB), approximately 529.5k tokens, and a symbol index with 2431 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.