| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\
| | |
| | | |
Added 3.0.0-beta-4 changelog.
|
| | |
| | |
| | |
| | | |
Change-Id: I43f7e04a53d1445dfa86db310bdb18ceb446398c
|
| | |
| | |
| | |
| | | |
Change-Id: Ic07a7c664930209974244c66885d672288982610
|
| |/
| |
| |
| | |
Change-Id: I997012e7e9b58d9ec8b2f59429d71c98d81aa40d
|
| |\
| | |
| | | |
Fix compatibility issues for the future GeneratedMessageV3 change.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |\
| | |
| | | |
Merge C# changes from master to 3.0.0-beta4
|
| | |
| | |
| | |
| | |
| | |
| | | |
platform (#1727)
This also updates the version number to 3.0.0-beta4
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
(Also fix a few more C# 6-isms.)
|
| | |
| | |
| | |
| | | |
This fixes issue #1730.
|
| |/ |
|
| |\
| | |
| | | |
Update version number to 3.0.0-beta-4
|
| | | |
|
| | | |
|
| |\ \
| | |/
| |/| |
Comment out lite conformance test.
|
| | | |
|
| |/
| |
| |
| | |
The 'lite' generator flag is no longer supported.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Use public methods to fetch oneofs in generated code.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
When building into frameworks, the generated code doesn't always have direct
access to the proto internals. Instead of opening up the access, just use the
public method to fetch the correct oneof.
Fixes https://github.com/google/protobuf/issues/1789
|
| |
| |
| |
| | |
internal sortedExtensionsInUse
|
| |
| |
| |
| |
| | |
Uses head version of rvm to avoid shell_update_session not found error
Fixes #1786
|
| |
| |
| |
| |
| |
| |
| | |
platform (#1727)
Move to dotnet cli for building, and .NET Core (netstandard1.0) as target platform
This also updates the version number to 3.0.0-beta4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Improve exception throwing implementation in collections
* Implement RepeatedField.AddRange.
This fixes issue #1730.
* Optimize AddRange for sequences implementing ICollection
(Also fix a few more C# 6-isms.)
* Remove the overload for Add(RepeatedField<T>)
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.
|
|\ \
| |/
|/| |
Fix a <package>_FIND_VERSION_PRERELEASE being ignored
|
|/
|
|
| |
be ignored.
|
|\
| |
| | |
Remove the baseline files from the make dist file list.
|
|/
|
|
|
| |
https://github.com/google/protobuf/pull/1762 remove the files, but I forgot to
update Makefile.am to remove them.
|
| |
|
|\
| |
| | |
Modify csharp README since there are now two NuGet packages
|
| | |
|
|\ \
| | |
| | | |
Remove unnecessary reflection call
|
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| | |
Drop the performace baselines.
|
|/ /
| |
| |
| |
| | |
We weren't really using them, and the nested path causes checkout problems
on windows.
|
|\ \
| | |
| | | |
Don't #import the .m files.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Change placement of DebuggerNonUserCodeAttribute
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I think this has caught everything.
I've left a stub for attributes to be applied to the types themselves, but we don't currently need anything.
Follow-up commit will include the changes to generated code itself.
Fixes #1671.
|
|\ \ \ \
| | | | |
| | | | | |
Make sure also Solaris x86 gets PATH_MAX
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Fix problems detected when integrating the code to our internal repo.
|