aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src/Google.Protobuf/Reflection
Commit message (Collapse)AuthorAge
* Merge pull request #4827 from acozzette/merge-3-6-xGravatar Adam Cozzette2018-06-25
|\ | | | | Merge 3.6.x branch into master
* | Remove the executable bit from several source code filesGravatar Sebastian Schuberth2018-06-25
| | | | | | | | This potentially avoids compiler warnings.
| * Removed duplicate using statement from ReflectionUtil.csGravatar Adam Cozzette2018-05-29
|/
* Add file option php_metadata_namespace and ruby_package (#4609)Gravatar Paul Yang2018-05-11
|
* Fix to allow AOT compilers to play nicely with reflectionGravatar Jon Skeet2018-04-27
| | | | | | | | | | | | | | | | | | | With this fix, Unity using IL2CPP should work with one of two approaches: - Call `FileDescriptor.ForceReflectionInitialization<T>` for every enum present in generated code (including oneof case enums) - Ensure that IL2CPP uses the same code for int and any int-based enums The former approach is likely to be simpler, unless IL2CPP changes its default behavior. We *could* potentially generate the code automatically, but that makes me slightly uncomfortable in terms of generating code that's only relevant in one specific scenario. It would be reasonably easy to write a tool (separate from protoc) to generate the code required for any specific set of assemblies, so that Unity users can include it in their application. We can always decide to change to generate it automatically later.
* Write messages to backing field in generated C# cloning code (#4440)Gravatar Sydney Acksman2018-04-19
| | | | | | * Edited MessageFieldGenerator to clone to backing field instead of property * Generated C# proto code
* Deliberately call simple code to avoid Unity linker pruningGravatar Jon Skeet2018-04-06
| | | | | | | | | The SampleEnumMethod method was previously only called via reflection, so the Unity linker thought it could be removed. Ditto the parameterless constructor in ReflectionHelper. This PR should avoid that issue, reducing the work needed by customers to use Google.Protobuf from Unity.
* Address review commentsGravatar Jon Skeet2018-03-27
|
* Work around an "old runtime" issue with reflectionGravatar Jon Skeet2018-03-27
| | | | | | | | | | For oneofs, to get the case, we need to call the property that returns the enum value. We really want it as an int, and modern runtimes allow us to create a delegate which returns an int from the method. (I suspect that the MS runtime has always allowed that.) Old versions of Mono (e.g. used by Unity3d) don't allow that, so we have to convert the enum value to an int via boxing. It's ugly, but it should work.
* Introduce a compatiblity shim to support .NET 3.5 delegate creationGravatar Jon Skeet2018-03-27
|
* Change C# reflection to avoid using expression treesGravatar Jon Skeet2018-03-27
| | | | | | This should work on Unity, Mono and .NET 3.5 as far as I'm aware. It won't work on platforms where reflection itself is prohibited, but that's a non-starter basically.
* Add auto-generated header to C# generated files (#4038)Gravatar Jan Tattermusch2017-12-13
| | | | | | * Add auto-generated header to C# generated files * regenerate C# protos
* Add unknown field support for csharp (#3936)Gravatar Jie Luo2017-12-13
| | | Add unknown field support for csharp
* Regenerated code from previous C# codegen commitGravatar Jon Skeet2017-12-09
| | | | | | With this in place, all tests should pass. Fixes #3725.
* Update descriptor protosGravatar Jisi Liu2017-10-18
|
* Integrated internal changes from GoogleGravatar Adam Cozzette2017-09-14
|
* Merge master into 3.4.xGravatar Jisi Liu2017-07-18
|\
* | Update csharp and php descriptorGravatar Jisi Liu2017-07-18
| |
| * Support PHP generic services (#3269)Gravatar Matt A2017-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add php_generic_services option * Generate PHP generic services * Respect namespaces for generated PHP services * Test PHP generated services * Rename PHP generator service method doc comment function * Correct phpdoc service method case * Test namespaced PHP generic services * Always use the FQCN for PHP generic service input/output * Add generated_service_test to php test.sh * Add php service test protos to CI * Add php service files to php_EXTRA_DIST * Use Interface suffix for php generic services
| * Add new file option php_namespace. (#3162)Gravatar Paul Yang2017-06-05
|/ | | | | | | | | | | | | | | | * Add new file option php_namespace. Use this option to change the namespace of php generated classes. Default is empty. When this option is empty, the package name will be used for determining the namespace. * Uncomment commented tests * Revert gdb test change * Update csharp descriptor. * Add test for empty php_namespace.
* Fix C++ build for down-integration.Gravatar Feng Xiao2017-03-29
|
* Add file option php_class_prefix (#2849)Gravatar Paul Yang2017-03-17
| | | | This option will be prepended to generated classes of all messages in the containing file.
* There might be duplicated enum values when allow_alias is true. Add ↵Gravatar Jie Luo2017-02-28
| | | | PreferredAlias into OriginalNameAttribute to remove the duplication (#2727)
* Fixes for .NET 3.5 compatibilityGravatar John Brock2017-02-23
| | | | | * Changing DOTNET35 framework symbols in preprocessor directives to the default built-in value of NET35. * Adding extension method StreamExtension.CopyTo for .NET 3.5 because it didn’t exist until .NET 4, and adding associated unit tests.
* Merge 3.2.x branch into master (#2648)Gravatar Paul Yang2017-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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#Gravatar Jon Skeet2017-01-19
| | | | | | | | | | | | 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_whitespaceGravatar Jan Tattermusch2016-12-13
|\ | | | | remove leading whitespace in C# xml comments
| * remove leading whitespace in C# xml commentsGravatar Jan Tattermusch2016-12-12
| |
* | update descriptor.proto's go_packageGravatar Michael Darakananda2016-12-07
|/ | | | | 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.Gravatar Thomas Van Lenten2016-11-30
| | | | | | | | 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 codeGravatar Adam Cozzette2016-11-22
| | | | | | 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 formattingGravatar Jon Skeet2016-11-03
| | | | | | | | | 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.Gravatar Bo Yang2016-10-10
|
* Bump library veriosn to 3.1Gravatar Bo Yang2016-10-10
|
* Rm check on dependency in the C# reflection API (#2051)Gravatar Guillaume Turri2016-09-05
| | | | | | | | | | | | | | 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.Gravatar Feng Xiao2016-07-13
|
* Changes to generated code from previous commitGravatar Jon Skeet2016-07-04
|
* Adding conditional compiler symbol to support .NET 3.5 (#1713)Gravatar detlevschwabe2016-06-28
| | | | * Adding condition compiler symbol to support .NET 3.5
* Regenerate well-known types for C#Gravatar Jon Skeet2016-04-20
| | | | | (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 compileGravatar Jon Skeet2016-04-20
| | | | JSON tests fail, as we're not using OriginalNameAttribute yet.
* Add C# codegen changes to enum value names (mostly C++)Gravatar Jon Skeet2016-04-20
| | | | | | | | | | 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 FieldDescriptorGravatar Jon Skeet2016-03-30
| | | | | | | | 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 fixesGravatar alien2016-03-29
|
* csharp: add support for the json_name optionGravatar alien2016-03-18
| | | | | Conflicts: csharp/src/Google.Protobuf/JsonFormatter.cs
* Generated code changes from previous commitGravatar Jon Skeet2016-02-04
|
* Rename Preconditions to ProtoPreconditionsGravatar Jon Skeet2016-02-04
| | | | (Generated code changes in next commit.)
* Generated code for GeneratedCodeInfo changeGravatar Jon Skeet2016-02-04
|
* Rename GeneratedCodeInfo to GeneratedClrTypeInfoGravatar Jon Skeet2016-02-04
| | | | | | | 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 JSONGravatar Jon Skeet2016-01-15
|
* Generated code changes from previous commit.Gravatar Jon Skeet2015-12-15
|