| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
Instead, introduce GeneratedCodeInfo which passes in what we need, and adjust the codegen to take account of this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes in brief:
1. Descriptor is now the entry point for all reflection.
2. IReflectedMessage has gone; there's now a Descriptor property in IMessage, which is explicitly implemented (due to the static property).
3. FieldAccessorTable has gone away
4. IFieldAccessor and OneofFieldAccessor still exist; we *could* put the functionality straight into FieldDescriptor and OneofDescriptor... I'm unsure about that.
5. There's a temporary property MessageDescriptor.FieldAccessorsByFieldNumber to make the test changes small - we probably want this to go away
6. Discovery for delegates is now via attributes applied to properties and the Clear method of a oneof
I'm happy with 1-3.
4 I'm unsure about - feedback welcome.
5 will go away
6 I'm unsure about, both in design and implementation. Should we have a ProtobufMessageAttribute too? Should we find all the relevant attributes in MessageDescriptor and pass them down, to avoid an O(N^2) scenario?
Generated code changes coming in the next commit.
|
|\
| |
| | |
Integrate changes from upstream/master into csharp-experimental
|
| |\
| | |
| | | |
Let GOOGLE_COMPILE_ASSERT use static_assert if available.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The motivation is that gcc 4.8+ and clang trunk warn on unused local
typedefs, which COMPILE_ASSERT adds. After this change, the warning
will be happy at least in C++11 builds. static_assert also produces a
slighly nicer diagnostic than the typedef method.
https://github.com/google/re2/commit/eb93e8bc43ac8d05322fb3e9fc885898ad924f8a
did the same change in re2.
|
| |\ \
| | | |
| | | | |
Added Ruby to conformance tests.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This involved fixing a few important bugs in the
Ruby implementation -- mostly cases of mixing
upb field types and descriptor types (upb field
types do not distinguish between int/sint/fixed/sfixed
like descriptor types do).
Also added protobuf-specific exceptions so parse
errors can be caught specifically.
Change-Id: Ib49d3db976900b2c6f3455c8b88af52cfb86e036
|
| |\ \ \
| | |_|/
| |/| | |
Addming missing includes in stubs headers.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is to prepare removing those additional headers in common.h
Change-Id: I707d6d8eaf193eb28195a827c7fec738b968ab3e
|
| |\| |
| | | |
| | | | |
Split up common.h headers
|
| | |\ \
| | | | |
| | | | |
| | | | | |
Change-Id: I5f6cbc2430200e3751ad754cc7ae604338db6f91
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ifbc415755266ba3d0ffa5661fcd7c7d2e3b32a22
|
| | | |/
| | |/|
| | | |
| | | | |
Change-Id: I223783111d743aa5193bf70fa1b9b54c7b4389c3
|
| |\ \ \
| | |_|/
| |/| | |
ignore UTF-8 BOM
|
| | |/ |
|
| |/
| |
| |
| |
| |
| | |
Install google/protobuf/stubs/status.h, and google/protobuf/stubs/stringpiece.h -- these are required in order to include google/protobuf/util/type_resolver.h.
Install google/protobuf/stubs/bytestream.h -- this is required in order to include google/protobuf/util/json_util.h.
|
|\ \
| | |
| | | |
C# wrapper types
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
- We do still generate the message types, as otherwise reflection breaks, even though it doesn't actually use those types.
- JSON handling hasn't been implemented yet
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Export c# naming routines publicly
|
| | | |
|
|\ \ \
| | |/
| |/| |
|
| | | |
|
| |\ \
| | | |
| | | | |
Implement parsing for proto3 primitive repeated fields.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
proto3 primitive repeated fields, packed data cannot be parsed if
definition is unpacked. Neither is the other way.
|
| |\ \ \
| | | | |
| | | | | |
MinGW64+MSYS2 compilation issues
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Delete default UnknownFieldSet when shuting down.
|
| | | | | | |
|
| | |/ / /
| |/| | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- control reaches end of non-void function.
- remove a deprecated IsMatch.
Change-Id: Ifdeb15879bbcf591c48dc7fda1cd8994bdf87bb3
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
I'm sure I've implemented this before, but somehow it's been lost in a maze of twisty little branches, all alike.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This involves:
- Specifying a namespace in each proto (including ones we'd previously missed)
- Updating the generation script
- Changing codegen to implement IReflectedMessage.Fields explicitly (a good thing anyway)
- Changing reflection tests to take account of the explicit interface implementation
Non-generated code in this commit; generated code to follow
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change the C# namespace in descriptor.proto to Google.Protobuf.Reflection.
This then means changing where the generated code lives, which means updating the project file...
It also involves regenerating the C++ - which has updated the well-known types as well,
for no terribly obvious reason...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Move types into Google.Protobuf.Reflection
- Change codegen to reflect that in generated types
Generated code changes coming in part 2
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes issue 312.
|
| | | | | |
|
| |_|_|/
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Add a partial method called by all constructors
- Generate internal classes for descriptor.proto (only)
- Forbid proto2 descriptors except for descriptor.proto
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Coded*Stream.
Prod code works, but some tests are broken. Obviously those need fixing, then more tests,
and review benchmarks.
|
| | | |
| | | |
| | | |
| | | | |
No specific test case - if the generated code compiles, the issue is fixed :)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Remove some old proto2-based C#-only messages
- Remove the "build" directory which only contained out-of-date files
- Remove the csharp_namespace option from proto2 messages
- Change "Google.ProtocolBuffers" to "Google.Protobuf" in other messages
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Change the default message hash code to 1 to be consistent with other code
- Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map"
- Removed map fields from unittest_proto3.proto
- Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only
- Fixed factory methods in FieldCodec highlighted by using all field types :)
- Added tests for map serialization:
- Extra fields within entries
- Entries with value then key
- Non-contiguous entries for the same map
- Multiple entries for the same key
Changes to generated code coming in next commit
|