- 15 Jul, 2016 3 commits
- 14 Jul, 2016 12 commits
-
-
Feng Xiao authored
Currently some public API methods are defined in GenreatedMessage.java and they have a generric return type: class GeneratedMessage { class Builder<BuilderType extends Builder<BuilderType>> { public BuilderType setField(...); public BuilderType setExtension(...); } } With these definitions, the compiled byte code of a callsite will have a direct reference to GeneratedMessage. For example: fooBuilder.setField(...); becomes: ##: invokevirtual // Method Builder.setField:(...)LGeneratedMessage.Builder ##: checkcast // class Builder This will prevent us from updating generated classes to subclass a different versioned GeneratedMessageV3 class in the future (we can't do it in a binary compatible way). This change addresses the problem by overriding these methods directly in the generated class: class Foo { class Builder extends GeneratedMessage.Builder<Builder> { public Builder setField(...) { return super.setField(...); } } } After this, fooBuilder.setField(...) will be compiled to: ##: invokevirtual // Method Builder.setField:(...)LFoo.Builder The callsites will no longer reference GeneratedMessage directly and we can change Foo to subclass GeneratedMessageV3 without breaking binary compatiblity. The downside of this change is: 1. It increases generated code size (though it saves some instructions on the callsites). 2. We can never stop generating these overrides because doing that will break binary compatibility. Change-Id: I879afbbc1325a66324a51565e017143489b06e97
-
Feng Xiao authored
-
Jon Skeet authored
Merge C# changes from master to 3.0.0-beta4
-
Jon Skeet authored
This also updates the version number to 3.0.0-beta4
-
Jon Skeet authored
We now just perform the optimization within AddRange itself. This is a breaking change in terms of "drop in the DLL", but is source compatible, which should be fine.
-
Jon Skeet authored
(Also fix a few more C# 6-isms.)
-
Jon Skeet authored
This fixes issue #1730.
-
Jon Skeet authored
-
Feng Xiao authored
Update version number to 3.0.0-beta-4
-
Feng Xiao authored
-
Jisi Liu authored
Comment out lite conformance test.
-
Feng Xiao authored
-
- 13 Jul, 2016 6 commits
- 12 Jul, 2016 2 commits
-
-
Thomas Van Lenten authored
Remove the baseline files from the make dist file list.
-
Thomas Van Lenten authored
https://github.com/google/protobuf/pull/1762 remove the files, but I forgot to update Makefile.am to remove them.
-
- 10 Jul, 2016 2 commits
-
-
Jos Hickson authored
-
Jon Skeet authored
Modify csharp README since there are now two NuGet packages
-
- 09 Jul, 2016 1 commit
-
-
Jon Skeet authored
Remove unnecessary reflection call
-
- 08 Jul, 2016 3 commits
-
-
Jon Skeet authored
This is the only call to TypeExtensions.IsValueType, so we can remove that method, making the whole type conditionally compiled out for .NET 3.5
-
Thomas Van Lenten authored
Drop the performace baselines.
-
Thomas Van Lenten authored
We weren't really using them, and the nested path causes checkout problems on windows.
-
- 07 Jul, 2016 7 commits
-
-
Thomas Van Lenten authored
Don't #import the .m files.
-
Jon Skeet authored
Change placement of DebuggerNonUserCodeAttribute
-
Feng Xiao authored
Make sure also Solaris x86 gets PATH_MAX
-
Jon Skeet authored
This does not affect the generated code. If we decide we want to apply attributes to generated types, we should start by just reverting this change.
-
Dagobert Michelsen authored
-
Jisi Liu authored
Fix problems detected when integrating the code to our internal repo.
-
Thomas Van Lenten authored
As bazel folks are looking at getting auto generation of module maps going and the importing of sources files causes issues there. We were only do it to hack around some of the apple linker behaviors around objc classes and categories, but even that isn't complete and CocoaPods was already doing -ObjC, and developers not using pods could have still needed it to ensure everything was linked anyways; so drop the hack of importing sources.
-
- 06 Jul, 2016 4 commits
-
-
Feng Xiao authored
Fix spelling
-
Feng Xiao authored
-
Feng Xiao authored
-
Adam Cozzette authored
Fixed failing JS tests
-