Jie Luo
954bc83413
Merge branch 'csharp' of git://github.com/google/protobuf into google-csharp
2015-04-29 15:55:11 -07:00
Jie Luo
4af18b8711
rename FieldPResenceTest.cs file
2015-04-29 14:20:23 -07:00
Jon Skeet
ce97e68682
Convert both the full and lite runtimes (and json/xml serialization assemblies) to be Portable Class Libraries.
...
All referring projects are now .NET 4 client rather than .NET 3.5.
This commit also fixes up the ProtoBench app, which I'd neglected in previous commits. (Disentangling the two sets of changes would be time-consuming.)
2015-04-29 21:15:16 +01:00
Jie Luo
d1f5acaafb
Change the package for field_presence_test.proto
2015-04-29 11:49:14 -07:00
Jie Luo
c5c9c6a7e0
field presence Reflection and tests
2015-04-29 11:33:07 -07:00
Jon Skeet
0e916d09a3
Removing more C# project files.
2015-04-29 12:22:35 +01:00
Jon Skeet
f015b860b7
Remove CLS compliance from runtime code.
...
We need to remove it from the generator too; I'll raise a github issue for that.
2015-04-29 12:21:54 +01:00
Jon Skeet
5e0189ab94
Update C# solution and AddressBook project.
...
Move to a single solution file containing all of the C# projects, but no other solution folders - it's easier to edit those files outside VS than keep adding and removing them from the project.
The AddressBook protos have been regenerated (with a change to the example proto which I haven't included in this change - I'll wait for us to decide exactly what we're doing with namespaces before changing protos outside the csharp directory.
Note that now we've got Addressbook.cs which contains AddressBook and Addressbook classes. It's bad enough that we've got a class called AddressBook within a namespace of AddressBook (hard to get away from) but having things vary just by case is nasty.
This is more evidence that an option for renaming the file and descriptor class would be welcome. (A single option can probably handle both.)
2015-04-29 10:10:20 +01:00
Jon Skeet
f651f73a3c
Remove support for Serializable.
...
This could potentially be added back in later, but its use is limited and it's a pain in terms of support in PCL environments.
One use that has been highlighted is passing objects between AppDomains; we'd recommend passing a byte array explicitly and reparsing on the other side.
2015-04-29 09:18:19 +01:00
Jon Skeet
cc058e1118
Remove RPC support.
...
It is expected that third parties will generate service/RPC code themselves - see gRPC as an example.
2015-04-29 08:55:07 +01:00
Jon Skeet
e8310aa259
Remove a bunch of files which are no longer relevant:
...
1) Project files for different configurations - we're going to look at all this again, ideally to just have a single PCL-compatible build
2) ProtoGen - the C++ generator is now the only one we care about
3) Proto files - these are mostly duplicates (or older versions) of the ones in the common directories
2015-04-29 06:55:51 +01:00
Jon Skeet
5ca6dd76fb
Update DescriptorProtoFile.cs and UnitTest.cs to indicate manual changes.
...
(Having regenerated descriptor.proto relative to src, the earlier commented-out code checking that dependencies match may now be okay to uncomment again. Will experiment in later CLs.)
2015-04-28 18:47:47 +01:00
Jon Skeet
ce66c5f1b9
Updated set of unit tests and unit test protos.
...
This commit includes changes to the C#-specific protos, and rebuilt versions of the "stock" protos.
The stock protos have been locally updated to have a specific C# namespace, but this is expected to change soon, so hasn't been committed.
Four areas are currently not tested:
1) Serialization - we may restore this at some point, possibly optionally.
2) Services - currently nothing is generated for this; will need to see how it interacts with GRPC
3) Fields beginning with _{digit} - see https://github.com/google/protobuf/issues/308
4) Fields with names which conflict with the declaring type in nasty ways - see https://github.com/google/protobuf/issues/309
2015-04-28 15:06:59 +01:00
Jon Skeet
f3504cf3b1
First part of making the C# runtime work with the new codegen.
...
1) Remove CSharpOptions
2) A new version of DescriptorProtoFile (with manual changes from codegen - it would otherwise be Descriptor.cs)
3) Turn off CLS compliance (which we'll remove from the codebase entirely; I don't think it's actually relevant these days)
4) Add "public imports" to FileDescriptor, with code broadly copied from the Java codebase.
Lots more changes to commit before it will build and tests run, but one step at a time...
2015-04-28 14:53:24 +01:00
Jan Tattermusch
1eab56aee8
removed .hgignore file
2015-04-16 12:31:48 -07:00
Jan Tattermusch
4e80fe15ed
Added instructions to manually download the dependencies
2015-04-16 12:30:14 -07:00
Jan Tattermusch
6b7f0172b9
cleanup of csharp/lib/ directory
2015-04-16 10:56:23 -07:00
Jan Tattermusch
e77878ebc7
Updated readme.md and changes.txt, removed old license.txt
2015-04-16 10:23:54 -07:00
Jan Tattermusch
84fa3e2bbc
Imported protobuf-csharp-port into csharp/ tree
2015-04-16 09:55:22 -07:00
Jon Skeet
f0589506c9
Wiping slate clean to start again with new layout.
2008-10-22 13:18:49 +01:00
Jon Skeet
e60ce8bfaf
Final commit before changing layout
2008-10-22 07:11:17 +01:00
Jon Skeet
7f90d8ee57
Made things a bit more public for the sake of ProtoGen
2008-10-02 21:46:17 +01:00
Jon Skeet
7fd62ffd77
Initial setup of generator code. Little real functionality so far.
2008-09-04 15:13:21 +01:00
Jon Skeet
4658a3dd7e
Doc fix
2008-09-04 14:44:03 +01:00
Jon Skeet
dd9703ba53
Reduce dependencies
2008-09-04 14:43:43 +01:00
Jon Skeet
881db010cb
Fix initialization check when an optional field has required subfields
2008-09-04 14:43:17 +01:00
Jon Skeet
0dabc77f7f
Renamed GeneratedRepeatException to GeneratedRepeatExtension
2008-09-04 14:41:09 +01:00
Jon Skeet
be432ca43c
Added a doc TODO
2008-09-04 14:35:05 +01:00
Jon Skeet
57be03df65
Removed unnecessary delegate
2008-09-04 14:34:01 +01:00
Jon Skeet
0bf2ad145d
Implemented popsicle immutability for lists. Modified MessageStreamIterator to be singly generic.
2008-08-21 21:57:58 +01:00
Jon Skeet
ad6903fe33
Fix to constructor access for nested types, and first pass at streaming.
2008-08-19 21:24:21 +01:00
Jon Skeet
f09fed217f
Small tidying.
2008-08-16 21:23:40 +01:00
Jon Skeet
2cbd799b5e
Comments.
2008-08-15 21:24:06 +01:00
Jon Skeet
984eb9c27a
Just comments.
2008-08-15 21:15:41 +01:00
Jon Skeet
0b6d39acc4
Remove unused variable.
2008-08-15 21:14:41 +01:00
Jon Skeet
92b0aaa09e
Use a nullable int for the memoizedSize, just because it's neater.
2008-08-15 21:12:55 +01:00
Jon Skeet
9deef9baec
Add aliases into enums
2008-08-15 20:57:15 +01:00
Jon Skeet
10ad653ce5
Reflect Java source code.
2008-08-15 20:48:16 +01:00
Jon Skeet
40c2221ef4
Updated C# tests and code for TextFormat to match Java.
2008-08-15 20:40:05 +01:00
Jon Skeet
7941ebf198
Updates due to changes to descriptor.proto
2008-08-15 20:08:37 +01:00
Jon Skeet
8f721f5dc7
Experimental (and currently unused) behaviour to determine whether or not a message has any required fields.
2008-08-14 20:38:09 +01:00
Jon Skeet
b01135c485
Align delegates with .NET 3.5
2008-08-14 20:38:08 +01:00
Jon Skeet
6d0cbe7200
Use a switch instead of a map for WireFormat.
2008-08-14 20:38:08 +01:00
Jon Skeet
0980982095
Evil reflection optimisation.
2008-08-14 20:38:07 +01:00
Jon Skeet
38da52d349
Micro-optimisations around varints and strings.
2008-08-14 20:38:06 +01:00
Jon Skeet
272d384f6a
Use delegates instead of dynamic reflection.
2008-08-14 20:37:12 +01:00
Jon Skeet
3b3150881a
Optimisations of IsInitialized and removal of unnecessary references.
2008-08-14 20:37:11 +01:00
Jon Skeet
81efcf25f3
Removed accidental addition of test directory.
2008-08-14 20:37:10 +01:00
Jon Skeet
62b3d31fb7
Fixed a few TODOs
2008-08-14 20:36:24 +01:00
Jon Skeet
eb4ef52c66
Abandon the 'self' namespace alias - we need to be able to import types in other namespaces too.
2008-08-14 20:35:35 +01:00
Jon Skeet
5407a4329d
Signed the test assembly, and added InternalsVisibleTo. Some public members now internal again.
2008-08-14 20:35:34 +01:00
Jon Skeet
38d453d318
Beginning to fix the TODOs
2008-08-14 20:35:34 +01:00
Jon Skeet
15041fa06c
Removed EnumDescriptorIndexAttribute - not really necessary.
2008-08-14 20:35:33 +01:00
Jon Skeet
283b7a1a51
Batch file to generate the bootstrapping proto files
2008-08-14 20:35:33 +01:00
Jon Skeet
48ce28bf2f
Copyright fixes, a bit of documentation, and removed unnecessary using directives.
2008-08-14 20:35:32 +01:00
Jon Skeet
5923b37223
Finished service test with a mock.
2008-08-14 20:35:31 +01:00
Jon Skeet
3ae573c174
Fleshed out service interfaces, and wrote the simpler service tests. Mocking tests still to be done.
2008-08-14 20:35:31 +01:00
Jon Skeet
1e42fdde2e
Implemented text parsing.
2008-08-14 20:35:30 +01:00
Jon Skeet
feb9385b04
Lots of text formatting tests, but ignored the parsing ones for the moment.
2008-08-14 20:35:30 +01:00
Jon Skeet
ca4cbda9de
Extensions don't need to go under a separate type.
2008-08-14 20:35:29 +01:00
Jon Skeet
d6c9495797
More tests, and a bug fix.
2008-08-14 20:35:28 +01:00
Jon Skeet
19ed9c0782
UnknownFieldSet tests, and a fix to repeated extension elements.
2008-08-14 20:35:28 +01:00
Jon Skeet
a80a37ccd5
Tidying up, and a couple of extra tests.
2008-08-14 20:35:27 +01:00
Jon Skeet
f26f8dce02
The great generics revisiting.
2008-08-14 20:35:27 +01:00
Jon Skeet
cabd06d12f
More tests, and implementation of UninitializedMessageException description.
2008-08-14 20:35:25 +01:00
Jon Skeet
794409b379
More tests, more fixes.
2008-08-14 20:35:24 +01:00
Jon Skeet
ba02091ef8
New unit tests and corresponding bug fixes.
2008-08-14 20:35:24 +01:00
Jon Skeet
bef2caf5e4
Added DynamicMessage and ExtendableBuilder, along with the first supporting tests.
2008-08-14 20:35:23 +01:00
Jon Skeet
5d7adf66ce
First unit test reading a complete message\!
2008-08-14 20:35:22 +01:00
Jon Skeet
3f9a6f2116
Implemented GeneratedExtension, although list handling may be incorrect.
2008-08-14 20:35:22 +01:00
Jon Skeet
575083ae9c
Initial support for services and extensions. Incomplete, but enough to get generated unit test files to compile.
2008-08-14 20:35:21 +01:00
Jon Skeet
1353315ded
Implemented TextFormatter
2008-08-14 20:35:20 +01:00
Jon Skeet
b84310e110
Field accessor implementations complete (hopefully)
2008-08-14 20:35:20 +01:00
Jon Skeet
023d7398d6
Update Makefile in terms of C# sources and keyfile command line option
...
committer: Jon Skeet <skeet@pobox.com>
2008-08-14 20:35:19 +01:00
Jon Skeet
4e6215c734
Update Makefile in terms of C# sources and keyfile command line option
...
committer: Jon Skeet <skeet@pobox.com>
2008-08-14 20:35:19 +01:00
Jon Skeet
00b0af0890
Fix default instance behaviour for repeated types
2008-08-14 20:35:18 +01:00
Jon Skeet
c1215c4660
Removed Descriptor.cs which was an early attempt at generation
2008-08-14 20:35:17 +01:00
Jon Skeet
a03ea11c52
Finish implementing GeneratedBuilder.
2008-08-14 20:35:17 +01:00
Jon Skeet
cd85190847
Two more which should have been in the last commit
2008-08-14 20:35:15 +01:00
Jon Skeet
3351bb63da
Descriptors are pretty much complete, with a slight issue of how to find the default type for a repeated field.
2008-08-14 20:35:15 +01:00
Jon Skeet
2b61cbf408
Autogeneration now hopefully close to correct. Library builds! (Not finished though...)
2008-08-14 20:35:14 +01:00
Jon Skeet
de21d2c92c
Patch from Miguel de Icaza: This introduces auto-detection of Mono to configure, and if found, builds and installs the runtime library, and provides a pkg-config file so developers can easily use it on Unix.
2008-08-14 20:33:37 +01:00
Jon Skeet
9f4f0a56b1
Descriptor framework skeleton. Somewhat generic to avoid lots of code duplication.
2008-08-14 20:33:36 +01:00
Jon Skeet
c0daf10724
Changed fixed size methods to return unsigned integers. Finished FieldSet. Introduced mapping from FieldType to WireType and MappedType.
2008-08-14 20:33:35 +01:00
Jon Skeet
ec8c395517
Gradually implementing FieldSet
2008-08-14 20:33:34 +01:00
Jon Skeet
b83aee759a
Fix AbstractMessage and AbstractBuilder to get the explicit interface implementation sorted
2008-08-14 20:33:33 +01:00
Jon Skeet
621bb698e5
Some work on AbstractBuilder, and complete implementation of UnknownField and UnknownFieldSet
2008-08-14 20:33:33 +01:00
Jon Skeet
fe7bb26214
Implemented AbstractMethod and split the descriptors into a new package
2008-08-14 20:33:30 +01:00
Jon Skeet
c26b43d8cd
Added copyright notices
...
committer: Jon Skeet <skeet@pobox.com>
2008-08-14 20:33:29 +01:00
Jon Skeet
1dd0a61d09
More tests for CodedInputStream, and some more WireFormat
...
committer: Jon Skeet <skeet@pobox.com>
2008-08-14 20:33:29 +01:00
Jon Skeet
b802a94f45
Half way through CodedInputStream
...
committer: Jon Skeet <skeet@pobox.com>
2008-08-14 20:33:28 +01:00
Jon Skeet
baa2bf54c2
First part of dotnet library
...
committer: Jon Skeet <skeet@pobox.com>
2008-08-14 20:33:27 +01:00