* Use legacy name in php runtime
Old generated code cannot work with new runtime, because the new runtime
assumes new class name for nested message. For details see #4738.
* Remove unused method
See https://github.com/tensorflow/tensorflow/issues/19657 for
motivation. But long story short, without this change:
m.SerializeToArray(buffer, m.ByteSizeLong());
would result in a CHECK failure if m.ByteSizeLong() returned a value
>2GB.
This commit updates the Autotools build to require a C++11 compiler and
explicitly pass -std=c++11. This seems to be necessary for enabling
C++11 support in older compilers.
This commit updates the Autotools build to require a C++11 compiler and
explicitly pass -std=c++11. This seems to be necessary for enabling
C++11 support in older compilers.
For Clang's thread safety analysis (-Wthread-safety) to pass without warnings,
we need to annotate WrappedMutex to indicate that Lock() acquires the lock and
Unlock() releases it. This CL adds the annotations and guards them with an
ifdef to make sure they're a no-op on compilers other than Clang.
This is a cherry-pick of a change I already made to the Google-internal
codebase.
Added new API to GPBEnumDescriptor to enable introspection of enum values.
Refactored implementation so that this contains a minimum of added code.
Clarified comments regarding behavior in the presence of the alias_allowed option.
Added unit tests for new functionality and for the alias case.
We need to use a default of 0 when parsing unspecified map keys, instead
of failing an assertion.
This change was written by Michael Aaron (michaelaaron@google.com) but I
am cherry-picking it directly instead of waiting for the next sync of
Google-internal changes.
In old generated code, the constructor of message doesn't provide a
default null to parent's constructor. Previously, in c extesnion, this
case was not handled.
* uses namespaces for nested messages and enums
* fixes namespaces for PHP dist
* fixes namespace for Descriptors, adds Cardinality and Kind
* fixes nested namespaces for reserved words and adds tests
* adds tests and generator fix for php class prefixes
* fixes escaping of protobuf packages, enum comments, misc others
* nice refactor of generated code
* adds class files for backwards compatibility
* simplifies code with templates
* adds compatibility files to makefile
* cleanup of generator and fixes nested namespace bug
* regenerates proto types
* remove internal BC classes
* adds deprecated warning, adds methods back
* simplifies if statement
* fixes dist files
* addresses review comments
* adds back TYPE_URL_PREFIX constant
* adds @deprecated to old nested class files
* skips tests which require a separate process when protobuf.so is enabled
* Adds tests for legacy nested classes that do not require separate processes to test
* uses legacy names for GPBUtil message check
* adds block for IDE @deprecated message
* Namespace for nested message/enum in c extension
* Remove unused code
* PHP array constructors for protobuf messages
* removes Descriptor from error message
* allows mergeFrom to accept an array
* only use initWithDescriptor if instanceof MapEntry
* adds doc comments
* removes ability for constructors to take arrays for submessages
* Revert "allows mergeFrom to accept an array"
This reverts commit b7b72182d5.
* makes mergeFromArray protected and fixes mergeFrom whitespace
* Separates merging from JSON and merging from PHP array
* removes well-known types and json keys from array construction
* Addresses PR review comments
* cleans up tests
* fixes exception messages
* Adopt php_metadata_namespace in php code generator
The php_metadata_namespace is corresponded to the relative directory of
the metadata file. e.g., previously, the metadata file of foo.proto was
GPBMetadata/Foo.php. If the php_metadata_namespace is "Metadata\\Bar",
the metadata file will be Metadata/Bar/Foo.php.
* Handle empty php_metadata_namespace