Jan Tattermusch
c855561c54
initial implementation of buffer encoding
5 years ago
Jan Tattermusch
7cb5597013
Overcome the `ref struct` limitation for pre-roslyn compilers by introducing GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE for generated code ( #7490 )
...
* enable compatibility mode in codegen
* regenerate protos
* improve readability
* more robust way of figuring out path to old C# compiler
* add recent C# changes
5 years ago
Joshua Haberman
9ce8c330e7
Updated version to 3.12.3 and updated CHANGES.txt. ( #7580 )
...
* Updated version to 3.12.3 and updated CHANGES.txt.
* Re-ran generate_descriptor_protos.sh and made it more parallel.
5 years ago
Jan Tattermusch
040b2a6d07
C# project cleanup
5 years ago
Joshua Haberman
beeb621f50
Update protobuf version ( #7557 )
5 years ago
Joshua Haberman
0a737d8eb0
Sync from Piper @313142438
...
PROTOBUF_SYNC_PIPER
5 years ago
Joshua Haberman
6ad138d85a
Update protobuf version ( #7535 )
5 years ago
Joshua Haberman
9952e36f92
Merge release branch into master. ( #7517 )
...
* Added background information about proto3 presence. (#7501 )
* Fixed bug in map key sorting for Java TextFormat. (#7508 )
Fixes: https://github.com/protocolbuffers/protobuf/issues/7505
* Update protobuf version
* Added a changelog entry about the Java fix. (#7516 )
5 years ago
Joshua Haberman
e90b71cdee
Update protobuf version
5 years ago
listonjesse
2ae7cf0e03
Auxillary -> Auxiliary
5 years ago
Joshua Haberman
6ed738305b
Sync from Piper @311396324
...
PROTOBUF_SYNC_PIPER
5 years ago
Joshua Haberman
f597a24627
Update protobuf version
5 years ago
Jon Skeet
3c3646fa78
Implement HasPresence for C#
...
FieldDescriptor.HasPresence returns true if both ClearValue and HasValue (on the accessor) can be expected to work. Some fields have a working ClearValue, but no HasValue; HasPresence returns false for those fields.
Generally:
- Extension fields have presence if and only if they're singular
- Repeated fields do not support presence
- Map fields do not support presence
- Message fields support presence
- Oneof fields support presence (this includes synthetic oneof fields, so that covers proto3 optional singular fields)
- Proto2 singular primitive fields support presence
- Proto3 singular primitive fields do not support presence (unless they're in a oneof, covered above)
5 years ago
Jan Tattermusch
fc5ded36bc
Merge pull request #7434 from jtattermusch/csharp_expose_options
...
C#: Get rid of broken GetOption API and expose the "GetOptions()" method on descriptors instead
5 years ago
Jon Skeet
807ea2f352
Fix to C# support library code
...
(This was the only use of a HasXyz property for a message type.)
5 years ago
Jon Skeet
13df985bff
Regenerate C# code based on the previous commit
...
(This removes the Has/Clear members for message types in proto2.)
5 years ago
Joshua Haberman
6b5fb807c0
Sync from Piper @310858019
...
PROTOBUF_SYNC_PIPER
5 years ago
Joshua Haberman
2d80a70048
Sync from Piper @310457838
...
PROTOBUF_SYNC_PIPER
5 years ago
Jon Skeet
ed5c874de3
Fix to C# support library code
...
(This was the only use of a HasXyz property for a message type.)
5 years ago
Jon Skeet
9926c9504b
Regenerate C# code based on the previous commit
...
(This removes the Has/Clear members for message types in proto2.)
5 years ago
Joshua Haberman
a9f11d7d64
Updated version to 3.12.0-rc1. ( #7449 )
5 years ago
Joshua Haberman
32e5deb1ac
Sync from Piper @308829107
...
PROTOBUF_SYNC_PIPER
5 years ago
Jon Skeet
97737072f9
Add reflection support for proto3 optional fields
...
This is more involved than might be expected because the synthetic oneofs don't generate the properties we would usually expect to see.
5 years ago
Jon Skeet
bad9d753ae
Add unit tests for proto3 optional fields
...
(This isn't as exhaustive as it might be, but the behavior is basically the same as proto2 optional fields.)
5 years ago
Jon Skeet
b0649a088a
Regenerate C# code with the new generator, adding unittest_proto3_optional.proto
...
The changes in the existing proto2 code are solely around presence bits. The new generator allocated presence bits more efficiently. (Previously bits were sometimes allocated but never used.)
5 years ago
Jan Tattermusch
a1b9aa499e
get rid of extraneous ParserInternalState.codedInputStream field
5 years ago
Jan Tattermusch
eb38a3cdb8
adjust some TODOs in ParsingPrimitives.cs
5 years ago
Jan Tattermusch
dd97af88db
deduplicate ExtensionSet.TryMergeFieldFrom implementation, add test
5 years ago
Jan Tattermusch
cf49962c57
actually use ParsingPrimitives.ReadBytes and ReadString
5 years ago
Jan Tattermusch
d7c1fab00b
add benchmarks for parsing string and bytes
5 years ago
Jan Tattermusch
556cb8dc4b
remove unused internal method
5 years ago
Jan Tattermusch
7f42d7c65b
increase MapField test coverage
5 years ago
Jan Tattermusch
7c74e3901b
deduplicate MapField implementation
5 years ago
Jan Tattermusch
9ca70db2aa
remove a few more TODOs
5 years ago
Jan Tattermusch
a171f6d670
address a few TODOs
5 years ago
Jan Tattermusch
373b9eaeb2
optimize ParseRawLittleEndian32
5 years ago
Jan Tattermusch
17ea4d932f
add LegacyGeneratedCodeTest
5 years ago
Jan Tattermusch
f1d12ac768
also test with ParseContext in CodedInputStream test
5 years ago
Jan Tattermusch
9f00d3279b
add missing assert to CodedInputStreamTest.AssertReadVarint
5 years ago
Jan Tattermusch
238fd35f1d
improve test coverage
5 years ago
Joshua Haberman
74ad62759e
Sync from Piper @306496510
...
PROTOBUF_SYNC_PIPER
5 years ago
Jan Tattermusch
b2d5ceb1f7
speedup parsing multi-segment readOnlySequence
5 years ago
Jan Tattermusch
a980705bdb
attempt to fix CompatibilityTests
5 years ago
Jan Tattermusch
638a0813b4
increase coverage of GeneratedMessageTest
5 years ago
Jan Tattermusch
c2925d5b93
fix C# compatibility tests
5 years ago
Jan Tattermusch
0df7ddc805
regenerate
5 years ago
Jan Tattermusch
d7e2c8387a
change MergeFrom_Internal to InternalMergeFrom
5 years ago
Jan Tattermusch
3936114642
remove newline
5 years ago
James Newton-King
18bfd9e2e5
Fix net45 tests
5 years ago
Jan Tattermusch
07182a843c
optimize initialization of ParseContext
5 years ago