| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
* `csharp_options`: Added `Options` to encapsulate generator options.
Supported options for now - file_extension, base_namespace
* `{Blah}Generator`: Now accept `Options*` as parameter to constructor
* `csharp_generator.cc`: Parse and populate options
* `Makefile.am`: Added `csharp_options.h`
* `extract_includes.bat.in`: Added `csharp_options.h`
Refactoring code to two commits. This is the first commit
|
|
|
|
|
| |
iostream is not actually necessary here, and it introduces unnecessary
static initializers.
|
|
|
|
|
| |
The template can be specialized on primitives, e.g. double, where
converting NULL will trigger a warning.
|
|
|
| |
fix warning treated as error prevents building on 64-bit windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NOTE: This is a binary breaking change as structure sizes have changed size
and/or order.
- Drop capturing field options, no other options were captured and other mobile
targeted languages don't try to capture this sort information (saved 8
bytes for every field defined (in static data and again in field descriptor
instance size data).
- No longer generate/compile in the messages/enums in descriptor.proto. If
developers need it, they should generate it and compile it in. Reduced the
overhead of the core library.
- Compute the number of has_bits actually needs to avoid over reserving.
- Let the boolean single fields store via a has_bit to avoid storage, makes
the common cases of the instance size smaller.
- Reorder some flags and down size the enums to contain the bits needed.
- Reorder the items in the structures to manually ensure they are are packed
better (especially when generating 64bit code - 8 bytes for every field,
16 bytes for every extension, instance sizes 8 bytes also).
- Split off the structure initialization so when the default is zero, the
generated static storage doesn't need to reserve the space. This is batched
at the message level, so all the fields for the message have to have zero
defaults to get the saves. By definition all proto3 syntax files fall into
this case but it also saves space for the proto2 that use the standard
defaults. (saves 8 bytes of static data for every field that had a zero
default)
- Don't track the enums defined by a message. Nothing in the runtime needs it
and it was just generation and runtime overhead. (saves 8 bytes per enum)
- Ensure EnumDescriptors are started up threadsafe in all cases.
- Split some of the Descriptor initialization into multiple methods so the
generated code isn't padded with lots of zero/nil args.
- Change how oneof info is feed to the runtime enabling us to generate less
static data (8 bytes saved per oneof for 64bit).
- Change how enum value informat is capture to pack the data and only decode
it if it ends up being needed. Avoids padding issues causing bloat of 64bit,
and removes the needs for extra pointers in addition to the data (just the
data and one pointer now).
|
|\
| |
| | |
Adds more information to Objective C error.
|
| |
| |
| |
| | |
objc_class_prefix option is missing.
|
| |
| |
| | |
This change was previously done in //third_party in CL 108656107 but never made it to the open source project and was overwritten in an update.
|
|\ \
| | |
| | | |
Fix compiling clang/libc++ builds. (Issue: #1266)
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Add a compile test to confirm things are working as expected.
|
|/ /
| |
| |
| |
| |
| |
| | |
- Convert most of the core library headers over to HeaderDoc format.
- Switch the generated comments over to HeaderDoc.
- Create GPBCodedOutputStream_PackagePrivate and move some things into there
that should be more internal.
|
|/
|
|
| |
dependencies.
|
|\
| |
| | |
Make cpp generated enum constants constexpr when Options::proto_h is specified
|
| |
| |
| |
| | |
specified.
|
| | |
|
|\ \
| | |
| | | |
Add atomics support for 32-bit PPC.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was originally submitted as a patch on the Google Code issue
tracker, but the original author didn't submit a pull request. They did,
however, give permission for somebody else to do so. I cleaned up a few
things myself and am now submitting it.
I can't find any record of what the original patch was, but there is a
copy of the discussion at
<https://groups.google.com/forum/#!topic/protobuf/SMwF5fYHIi0>.
Fixes google/protobuf#581
|
|\ \ \
| | | |
| | | | |
Added support for CommonJS require()
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
| |/| |
|
|/ /
| |
| |
| |
| |
| |
| | |
- Extend GPB*ObjectDictionary to support generic syntax.
- Update the generator to output generics so the enclosed type is exposed for compiler checks.
- Use generics in a the public interfaces.
- Update the generated sources that are checked in.
|
|\ \
| | |
| | | |
Removes redundant null pointer checks checks
|
| | |
| | |
| | |
| | |
| | | |
Removed the redundant check for NULL which is already handled by using
delete
|
| | |
| | |
| | |
| | |
| | | |
Removed the redundant check for NULL which is already correctly handled
by used the delete
|
|\ \ \
| | | |
| | | | |
Remove redundant `the`.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fixed unused parameters and extra ';'
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
make 'no syntax' warning useful by showing which file
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Fix Intel compiler warnings in include files on Windows
|
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | | |
(Generated code changes in next commit.)
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|/ / /
| | |
| | |
| | |
| | | |
Java files are moved to un-do the hack in the prevous commit, which
moved the java files to the original position for integration.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes google/protobuf#693
msan flags this as being undefined behavior. I think it's triggering
because the compiler has to insert a branch to avoid changing the
pointer's value if it starts out NULL. I can't figure out if this is
actually undefined behavior or not, but it definitely seems to be a gray
area of the standard which is best avoided.
|
|\ \ \
| | | |
| | | | |
Fixing compile errors on Solaris in 64-bit mode
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
jhump/jh/fix-ioexception-vs-invalidprotobuf-exception
throw IOException instead of InvalidProtocolBufferException when appropriate
|
| | | | | |
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
"valueField": null
is parsed appropriately, i.e. that it remembers that the field is set.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
On deserialization, missing values for message types
are replaced with a "default" message.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Defer calls to mutable_unknown_fields() until it is actually required to
save memory for C++ lite runtime.
Change-Id: Ica9c1fd276cdb164942d1e7b6e098c83ee3ffdc5
|