aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #720 from jtattermusch/csharp_fixesJon Skeet2015-08-141-1/+1
|\ | | | | C# fix for TypeInitializer exception.
| * fix type initialization problem with FileDescriptorJan Tattermusch2015-08-141-1/+1
| |
* | Merge pull request #571 from thomasvl/validation_supportPaul Yang2015-08-145-90/+287
|\ \ | |/ |/| Add support for a file listing expected package to objc prefixes for validation.
| * Add support for a file listing expected package to objc prefixes for validation.Thomas Van Lenten2015-08-145-90/+287
| | | | | | | | | | | | - Add a env var to pass a set of expected prefixes for validation. - Report warnings/errors based on the expected prefixes vs. the data in the files compiled. - Use some helpers from common directory.
* | Allow public access to descriptor.proto as a dependency.Jon Skeet2015-08-132-2/+12
|/ | | | | 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.
* Merge pull request #700 from jskeet/remove-packed-hackJan Tattermusch2015-08-082-12/+1
|\ | | | | Remove our own version of MakeTag now that the main one is fixed.
| * Remove our own version of MakeTag now that the main one is fixed.Jon Skeet2015-08-072-12/+1
| | | | | | | | "Tested" by regenerating code and observing that there are no changes.
* | Merge pull request #694 from jskeet/groupsJon Skeet2015-08-081-4/+1
|\ \ | |/ |/| Fix groups handling in C#
| * Skip groups properly.Jon Skeet2015-08-061-4/+1
| | | | | | | | | | | | | | | | | | | | | | Now the generated code doesn't need to check for end group tags, as it will skip whole groups at a time. Currently it will ignore extraneous end group tags, which may or may not be a good thing. Renamed ConsumeLastField to SkipLastField as it felt more natural. Removed WireFormat.IsEndGroupTag as it's no longer useful. This mostly fixes issue 688. (Generated code changes coming in next commit.)
* | Merge pull request #645 from zsurocking/masterPaul Yang2015-08-0615-81/+202
|\ \ | | | | | | Down integrate. Generate a package name suffix ".nano" for nano messages
| * \ Merge remote-tracking branch 'upstream/master'Xiao Hang2015-08-0488-2378/+2035
| |\ \
| * | | Generate a package name suffix ".nano" for nano messagesXiao Hang2015-07-295-58/+174
| | | | | | | | | | | | | | | | Also introducing an option javanano_use_deprecated_package to allow users to disable the suffix
* | | | Remove unused .pb.h #includes.Bo Yang2015-08-064-4/+0
| |_|/ |/| |
* | | Change ReadTag and PeekTag to just use 0 as a return value for "end of ↵Jon Skeet2015-08-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | stream", rather than using an awkward out parameter. This simplifies quite a lot of code. Generated code in next commit.
* | | Consume unknown fields when parsing.Jon Skeet2015-08-051-1/+2
| |/ |/| | | | | | | This is expected to be the cause of the conformance test failures. Generated code in next commit.
* | Merge pull request #653 from airtimemedia/masterFeng Xiao2015-08-036-13/+7
|\ \ | | | | | | Various compilation fixes
| * | Move pthread include.Tom Hughes2015-07-302-2/+4
| | | | | | | | | | | | | | | Based on pull request feedback. See commit 60c5222 for why the pthread header is necessary.
| * | Remove unused private fields.Tom Hughes2015-07-294-12/+2
| | | | | | | | | | | | | | | Fixes compilation when -Wunused-private-field is enabled (e.g., when using -Wall).
| * | Fix compilation error when using C++11.Tom Hughes2015-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue occurs when the template type deduction results in NodeType being const. Shortened version of compile error: no matching function for call to 'operator new' new (p) NodeType(std::forward<Args>(args)...); candidate function not viable: no known conversion from 'const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > *' to 'void *' for 2nd argument; take the address of the argument with & inline __attribute__ ((__visibility__("hidden"), __always_inline__)) void* operator new (std::size_t, void* __p) noexcept {return __p;}
| * | Include pthread.h when using GOOGLE_PROTOBUF_NO_THREADLOCAL.Tom Hughes2015-07-281-0/+2
| |/ | | | | | | | | When GOOGLE_PROTOBUF_NO_THREADLOCAL is defined, classes that depend on pthread functions are included (such as ThreadLocalStorage).
* | Merge pull request #643 from yukawa/fix_win_unicode_buildPaul Yang2015-07-311-1/+1
|\ \ | | | | | | Fix build failure on Windows when Unicode build is enabled.
| * | Fix build failure on Windows when Unicode build is enabled.Yohei Yukawa2015-07-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow up CL for e9abc404df99ef85d3e25aaaccd4aa83e381, which breaks build when UNICODE macro is defined. protoc has explicitly called MBCS version of APIs / funcsions rather than UTF-16 (wchar_t) version of them regardless of UNICODE macro definition (and it indeed works as expected). Hence it makes sense to call GetModuleFileNameA explicitly.
* | | Handle field names of "descriptor" and "types".Jon Skeet2015-07-311-1/+7
| | |
* | | refactor umbrella class helpersJan Tattermusch2015-07-306-34/+28
| | |
* | | Merge pull request #632 from google/csharp-experimentalJan Tattermusch2015-07-3074-2307/+1966
|\ \ \ | | | | | | | | Merge C# proto3 from csharp-experimental to master
| * | | Prohibit null values for string/bytes fields in generated code.Jon Skeet2015-07-302-13/+2
| | | |
| * | | More freezing tidy-up; generated code in next commit.Jon Skeet2015-07-301-3/+1
| | | |
| * | | remove the freeze APIJan Tattermusch2015-07-298-46/+2
| | | |
| * | | Fix attribute mistake and regenerate code.Jon Skeet2015-07-221-2/+0
| | | |
| * | | Remove the usage of attributes for field/method discovery.Jon Skeet2015-07-2212-50/+96
| | | | | | | | | | | | | | | | Instead, introduce GeneratedCodeInfo which passes in what we need, and adjust the codegen to take account of this.
| * | | Revamp to reflection.Jon Skeet2015-07-2113-99/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Merge pull request #629 from google/masterJon Skeet2015-07-2115-1420/+1697
| |\| | | | | | | | | | Integrate changes from upstream/master into csharp-experimental
| * | | Merge pull request #611 from jskeet/csharp-wrappersJon Skeet2015-07-1710-35/+466
| |\ \ \ | | | | | | | | | | C# wrapper types
| | * | | Fixes from PR review.Jon Skeet2015-07-171-1/+0
| | | | |
| | * | | First pass at wrapper types.Jon Skeet2015-07-166-70/+93
| | | | | | | | | | | | | | | | | | | | | | | | | - 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
| | * | | First part of implementing wrapper types. Not ready yet!Jon Skeet2015-07-167-17/+426
| | | | |
| * | | | Merge pull request #586 from jtattermusch/csharp_names_exportJan Tattermusch2015-07-166-5/+83
| |\ \ \ \ | | |/ / / | |/| | | Export c# naming routines publicly
| | * | | export c# naming routines publiclyJan Tattermusch2015-07-106-5/+83
| | | | |
| * | | | Merge remote-tracking branch 'upstream/master' into csharp-experimentalJan Tattermusch2015-07-1523-263/+287
| |\ \ \ \
| * | | | | Address requested change from code review.Jon Skeet2015-07-151-12/+12
| | | | | |
| * | | | | Don't create nested types (or field accessors) for map types.Jon Skeet2015-07-153-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | I'm sure I've implemented this before, but somehow it's been lost in a maze of twisty little branches, all alike.
| * | | | | Generate the well-known types in C#Jon Skeet2015-07-1411-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | | Changing reflection namespace (part 3)Jon Skeet2015-07-148-19/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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...
| * | | | | Changing reflection namespace (part 1)Jon Skeet2015-07-142-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move types into Google.Protobuf.Reflection - Change codegen to reflect that in generated types Generated code changes coming in part 2
| * | | | | Convert package name to PascalCase for C# namespaceJon Skeet2015-07-142-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | Fixes issue 312.
| * | | | | Oneof reflection support. (Generated code changes in next commit.)Jon Skeet2015-07-101-0/+1
| | | | | |
| * | | | | Use the new JsonFormatter to implement ToString on generated messages.Jon Skeet2015-07-103-6/+7
| | |/ / / | |/| | |
| * | | | Codegen changes to support descriptor runtime changesJon Skeet2015-07-0911-12/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a partial method called by all constructors - Generate internal classes for descriptor.proto (only) - Forbid proto2 descriptors except for descriptor.proto
| * | | | Implement reflection properly for fields.Jon Skeet2015-07-092-29/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
| * | | | Remove unused code in C# codegenJon Skeet2015-06-302-47/+1
| | | | |