• Jon Skeet's avatar
    Implement reflection properly for fields. · 78ea98f5
    Jon Skeet authored
    - FieldAccessorTable is now non-generic
    - We don't have a static field per message type in the umbrella class. (Message descriptors are accessed via the file descriptor.)
    - Removed the "descriptor assigner" complication from the descriptor fixup; without extensions, we don't need it
    - MapField implements IDictionary (more tests would be good...)
    - RepeatedField implements IList (more tests would be good)
    - Use expression trees to build accessors. (Will need to test this on various platforms... probably need a fallback strategy just using reflection directly.)
    - Added FieldDescriptor.IsMap
    - Added tests for reflection with generated messages
    
    Changes to generated code coming in next commit.
    78ea98f5
Name
Last commit
Last update
benchmarks Loading commit data...
cmake Loading commit data...
conformance Loading commit data...
csharp Loading commit data...
editors Loading commit data...
examples Loading commit data...
java Loading commit data...
javanano Loading commit data...
m4 Loading commit data...
more_tests Loading commit data...
objectivec Loading commit data...
protoc-artifacts Loading commit data...
python Loading commit data...
ruby Loading commit data...
src Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
BUILD Loading commit data...
CHANGES.txt Loading commit data...
CONTRIBUTORS.txt Loading commit data...
INSTALL.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.yml Loading commit data...
autogen.sh Loading commit data...
configure.ac 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.pc.in Loading commit data...
travis.sh Loading commit data...
update_file_lists.sh Loading commit data...