aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf/Reflection
Commit message (Collapse)AuthorAgeFilesLines
* Merge 3.2.x branch into master (#2648)Paul Yang2017-01-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Down-integrate internal changes to github. * Update conformance test failure list. * Explicitly import used class in nano test to avoid random test fail. * Update _GNUC_VER to use the correct implementation of atomic operation on Mac. * maps_test.js: check whether Symbol is defined before using it (#2524) Symbol is not yet available on older versions of Node.js and so this test fails with them. This change just directly checks whether Symbol is available before we try to use it. * Added well_known_types_embed.cc to CLEANFILES so that it gets cleaned up * Updated Makefile.am to fix out-of-tree builds * Added Bazel genrule for generating well_known_types_embed.cc In pull request #2517 I made this change for the CMake and autotools builds but forgot to do it for the Bazel build. * Update _GNUC_VER to use the correct implementation of atomic operation on Mac. * Add new js file in extra dist. * Bump version number to 3.2.0 * Fixed issue with autoloading - Invalid paths (#2538) * PHP fix int64 decoding (#2516) * fix int64 decoding * fix int64 decoding + tests * Fix int64 decoding on 32-bit machines. * Fix warning in compiler/js/embed.cc embed.cc: In function ‘std::string CEscape(const string&)’: embed.cc:51:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < str.size(); ++i) { ^ * Fix include in auto-generated well_known_types_embed.cc Restore include style fix (e3da722) that has been trampled by auto-generation of well_known_types_embed.cc * Fixed cross compilations with the Autotools build Pull request #2517 caused cross compilations to start failing, because the js_embed binary was being built to run on the target platform instead of on the build machine. This change updates the Autotools build to use the AX_PROG_CXX_FOR_BUILD macro to find a suitable compiler for the build machine and always use that when building js_embed. * Minor fix for autocreated object repeated fields and maps. - If setting/clearing a repeated field/map that was objects, check the class before checking the autocreator. - Just to be paranoid, don’t mutate within copy/mutableCopy for the autocreated classes to ensure there is less chance of issues if someone does something really crazy threading wise. - Some more tests for the internal AutocreatedArray/AutocreatedDictionary classes to ensure things are working as expected. - Add Xcode 8.2 to the full_mac_build.sh supported list. * Fix generation of extending nested messages in JavaScript (#2439) * Fix generation of extending nested messages in JavaScript * Added missing test8.proto to build * Fix generated code when there is no namespace but there is enum definition. * Decoding unknown field should succeed. * Add embed.cc in src/Makefile.am to fix dist check. * Fixed "make distcheck" for the Autotools build To make the test pass I needed to fix out-of-tree builds and update EXTRA_DIST and CLEANFILES. * Remove redundent embed.cc from src/Makefile.am * Update version number to 3.2.0-rc.1 (#2578) * Change protoc-artifacts version to 3.2.0-rc.1 * Update version number to 3.2.0rc2 * Update change logs for 3.2.0 release. * Update php README * Update upb, fixes some bugs (including a hash table problem). (#2611) * Update upb, fixes some bugs (including a hash table problem). * Ruby: added a test for the previous hash table corruption. Verified that this triggers the bug in the currently released version. * Ruby: bugfix for SEGV. * Ruby: removed old code for dup'ing defs. * Reverting deployment target to 7.0 (#2618) The Protobuf library doesn’t require the 7.1 deployment target so reverting it back to 7.0 * Fix typo that breaks builds on big-endian (#2632) * Bump version number to 3.2.0
* Support custom options in C#Jon Skeet2017-01-1910-8/+454
| | | | | | | | | | | | This consists of: - Changing the codegen for the fixed set of options protos, to parse unknown fields instead of skipping them - Add a new CustomOptions type in the C# support library - Expose CustomOptions properties from the immutable proto wrappers in the support library Only single-value options are currently supported, and fetching options values requires getting the type right and knowing the field number. Both of these can be addressed at a later time. Fixes #2143, at least as a first pass.
* Merge pull request #2487 from jtattermusch/csharp_leading_whitespaceJan Tattermusch2016-12-131-372/+372
|\ | | | | remove leading whitespace in C# xml comments
| * remove leading whitespace in C# xml commentsJan Tattermusch2016-12-121-372/+372
| |
* | update descriptor.proto's go_packageMichael Darakananda2016-12-071-3/+4
|/ | | | | This change has already been made in google's repo. Replicating the change here to unblock work on genproto.
* Add a swift_prefix file option.Thomas Van Lenten2016-11-301-55/+90
| | | | | | | | Swift generators should default to CamelCasing the proto package and prefixing symbols with that, but this option allows developers to override that behavior with something custom if they desire. Fixes https://github.com/google/protobuf/issues/1833
* Add a "u" suffix to tag numbers in generated codeAdam Cozzette2016-11-221-7/+60
| | | | | | This seems to be necessary to prevent warnings in some compiler configurations, particularly for tag numbers that are too large to fit in a signed 32-bit int.
* Change JSON field name formattingJon Skeet2016-11-031-1/+1
| | | | | | | | | This affects cases with leading capital letters. This breaks compatibility with previous C# releases, but fixes compatibility with other implementations. See #2278 for details.
* Add back removed descriptor field.Bo Yang2016-10-101-58/+91
|
* Bump library veriosn to 3.1Bo Yang2016-10-101-102/+59
|
* Rm check on dependency in the C# reflection API (#2051)Guillaume Turri2016-09-051-12/+1
| | | | | | | | | | | | | | This check adds a few constraints on the way to build a project when we have a proto file which imports another one. In particular, on projects which build both C# and Java, it's easy to end up with exceptions like Expected: included.proto but was src/main/protobuf/included.proto A user may work around this issue, but it may add unnecessary constraints on the layout of the project. According to https://github.com/google/protobuf/commit/f3504cf3b1d456a843e8242fdee9ba0bf2991dc1#diff-ecb0b909ed572381a1c8d1994f09a948R309 it has already been considered to get rid of this check, for similar considerations, and because it doesn't exist in the Java code
* Update generated files.Feng Xiao2016-07-131-3/+3
|
* Changes to generated code from previous commitJon Skeet2016-07-041-112/+682
|
* Adding conditional compiler symbol to support .NET 3.5 (#1713)detlevschwabe2016-06-281-0/+4
| | | | * Adding condition compiler symbol to support .NET 3.5
* Regenerate well-known types for C#Jon Skeet2016-04-201-79/+46
| | | | | (There are documentation changes and new fields in descriptor.proto that have resulted in changes to the serialized descriptor, but no breaking changes for C#.)
* Regenerate all C# code and make it compileJon Skeet2016-04-202-74/+74
| | | | JSON tests fail, as we're not using OriginalNameAttribute yet.
* Add C# codegen changes to enum value names (mostly C++)Jon Skeet2016-04-201-0/+58
| | | | | | | | | | Overview of changes: - A new C#-specific command-line option, legacy_enum_values to revert to the old behavior - When legacy_enum_values isn't specified, we strip the enum name as a prefix, and PascalCase the value name - A new attribute within the C# code so that we can always tell the original in-proto name Regenerating the C# code with legacy_enum_values leads to code which still compiles and works - but there's more still to do.
* Refactoring of FieldDescriptorJon Skeet2016-03-301-61/+39
| | | | | | | | This makes no externally visible behavioral changes. Internally and non-behaviorally: - We use a field (compiler-generated) to store the JsonName to avoid recomputing it repeatedly - The documentation for JsonName is updated to reflect the meaning better - Readonly autoprops and expression-bodied properties used where possible
* Code review fixesalien2016-03-292-4/+2
|
* csharp: add support for the json_name optionalien2016-03-182-0/+8
| | | | | Conflicts: csharp/src/Google.Protobuf/JsonFormatter.cs
* Generated code changes from previous commitJon Skeet2016-02-041-1/+1
|
* Rename Preconditions to ProtoPreconditionsJon Skeet2016-02-042-29/+29
| | | | (Generated code changes in next commit.)
* Generated code for GeneratedCodeInfo changeJon Skeet2016-02-041-65/+375
|
* Rename GeneratedCodeInfo to GeneratedClrTypeInfoJon Skeet2016-02-043-11/+11
| | | | | | | Recently, descriptor.proto gained a GeneratedCodeInfo message, which means the generated code conflicts with our type. Unfortunately this affects codegen as well, although this is a part of the public API which is very unlikely to affect hand-written code. Generated code changes in next commit.
* Allow the original field name (rather than camel-cased) when parsing JSONJon Skeet2016-01-151-3/+15
|
* Generated code changes from previous commit.Jon Skeet2015-12-151-22/+22
|
* Generated code changes for previous commit (basically ↵Jon Skeet2015-11-223-4/+4
| | | | InternalBuildGeneratedFileFrom => FromGeneratedCode)
* Tidy up reflection in advance of attempting to implement DynamicMessage.Jon Skeet2015-11-226-208/+179
| | | | | | | | | There are corner cases where MessageDescriptor.{ClrType,Parser} will return null, and these are now documented. However, normally they *should* be implemented, even for descriptors of for dynamic messages. Ditto FieldDescriptor.Accessor. We'll still need a fair amount of work to implement dynamic messages, but this change means that the public API will be remain intact. Additionally, this change starts making use of C# 6 features in the files that it touches. This is far from exhaustive, and later PRs will have more. Generated code changes coming in the next commit.
* Added the type registry in advance of implementing Any support.Jon Skeet2015-11-211-0/+183
| | | | Biting off just this bit first as I don't need the changes from a previous PR for this part.
* Generated code from previous commit.Jon Skeet2015-11-191-19/+19
|
* Introduce a Parser property into MessageDescriptor, and populate it from ↵Jon Skeet2015-11-192-2/+19
| | | | | | generated types. Generated code coming in next commit - in a subsequent PR I want to do a bit of renaming and redocumenting around this, in anticipation of DynamicMessage.
* Generated code changes and manual changes for previous commit.Jon Skeet2015-11-092-21/+21
|
* Generated code for previous commit.Jon Skeet2015-11-061-0/+25
|
* Move the creation of the "fields by JSON name" dictionary to the descriptor.Jon Skeet2015-11-041-0/+15
|
* Fix clearing wrapper type fields with reflection.Jon Skeet2015-10-302-2/+2
| | | | The nullable value type fields already worked, but the use of the CLR property concealed the difference between string and StringWrapper fields.
* Generated code for previous commit (oneof case contributing to hash code and ↵Jon Skeet2015-10-241-81/+115
| | | | equality).
* Generated code from previous commit.Jon Skeet2015-10-011-0/+641
|
* Generated code changes for previous commit.Jon Skeet2015-09-291-7/+7
|
* Generated code for previous commitJon Skeet2015-09-291-0/+8
|
* Added documentation to generated code.Jon Skeet2015-09-291-1/+1
| | | | | | | | | | | There are now summaries for: - The Types nested class (which holds nested types) - The file descriptor class for each proto - The enum generated for each oneof (Also fixed two typos.) Generated code in next commit.
* Merge pull request #785 from jskeet/csharp-directoriesJan Tattermusch2015-09-231-111/+111
|\ | | | | Generate C# directory hierarchy with new option
| * Regenerated code. Most changes are whitespace, removing trailing spaces.Jon Skeet2015-09-011-111/+111
| | | | | | | | Other changes are due to the well-known types changing without us regenerating.
* | Pack/Unpack implementation for Any.Jon Skeet2015-09-041-0/+2
|/ | | | | We still need the JSON representation, which relies on something like a DescriptorPool to fetch message types from based on the type URL. That will come a bit later. (The DescriptorPool comment in this commit is just a note which will prove useful if we use DescriptorPool itself.)
* Change where we rename Descriptor.cs to DescriptorProtoFile.cs.Jon Skeet2015-08-252-114/+114
| | | | | | | | | | | We now do this in protoc instead of the generation simpler. Benefits: - Generation script is simpler - Detection is simpler as we now only need to care about one filename - The embedded descriptor knows itself as "google/protobuf/descriptor.proto" avoiding dependency issues This PR also makes the "invalid dependency" exception clearer in terms of expected and actual dependencies.
* fix type initialization problem with FileDescriptorJan Tattermusch2015-08-141-148/+175
|
* Allow public access to descriptor.proto as a dependency.Jon Skeet2015-08-131-0/+15
| | | | | With this in place, generating APIs on github.com/google/googleapis works - previously annotations.proto failed. Currently there's no access to the annotations (stored as extensions) but we could potentially expose those at a later date.
* More TODOs done.Jon Skeet2015-08-101-3/+4
| | | | | | - Removed a TODO without change in DescriptorPool.LookupSymbol - the TODOs were around performance, and this is only used during descriptor initialization - Make the CodedInputStream limits read-only, adding a static factory method for the rare cases when this is useful - Extracted IDeepCloneable into its own file.
* Make FieldDescriptor.IsPacked work appropriately.Jon Skeet2015-08-082-3/+17
| | | | | This is a bit of a grotty hack, as we need to sort of fake proto2 field presence, but with only a proto3 version of the descriptor messages (a bit like oneof detection). Should be okay, but will need to be careful of this if we ever implement proto2.
* Address review comments.Jon Skeet2015-08-081-2/+0
|
* Tidying up - fix a bunch of TODOs and remove outdated ones.Jon Skeet2015-08-088-55/+53
|