• Jon Skeet's avatar
    Provide simple access to descriptor declarations in C# · 17119990
    Jon Skeet authored
    This is primarily for access to comments, which would be expected to be available in a protoc plugin.
    
    The implementation has two fiddly aspects:
    
    - We use a Lazy<T> to avoid building the map before cross-linking. An alternative would be to crosslink at the end of the constructor, and remove the calls to CrossLink elsewhere. This would be generally better IMO, but deviate from the Java code.
    - The casts to IReadOnlyList<DescriptorBase> are unfortunate. They'll always work, because these lists are always ReadOnlyCollection<T> for a descriptor type... but we can't use IList<DescriptorBase> as that's not covariant, and it's annoyingly fiddly to change the field to be of type ReadOnlyCollection<T>.
    17119990
Name
Last commit
Last update
.github/ISSUE_TEMPLATE Loading commit data...
benchmarks Loading commit data...
cmake Loading commit data...
conformance Loading commit data...
csharp Loading commit data...
docs Loading commit data...
editors Loading commit data...
examples Loading commit data...
java Loading commit data...
js Loading commit data...
kokoro Loading commit data...
m4 Loading commit data...
objectivec Loading commit data...
php Loading commit data...
protoc-artifacts Loading commit data...
python Loading commit data...
ruby Loading commit data...
src Loading commit data...
third_party Loading commit data...
util/python Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
BUILD Loading commit data...
CHANGES.txt Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS.txt Loading commit data...
LICENSE Loading commit data...
Makefile.am Loading commit data...
Protobuf.podspec Loading commit data...
README.md Loading commit data...
WORKSPACE Loading commit data...
appveyor.bat Loading commit data...
appveyor.yml Loading commit data...
autogen.sh Loading commit data...
compiler_config_setting.bzl Loading commit data...
composer.json Loading commit data...
configure.ac Loading commit data...
generate_changelog.py Loading commit data...
generate_descriptor_proto.sh Loading commit data...
post_process_dist.sh Loading commit data...
protobuf-lite.pc.in Loading commit data...
protobuf.bzl Loading commit data...
protobuf.pc.in Loading commit data...
six.BUILD Loading commit data...
tests.sh Loading commit data...
update_file_lists.sh Loading commit data...