* Modify how end tags are encounted in merge code (compiler)
* Modify how end tags are encounted in merge code (generated)
* Modify how end tags are encounted in merge code (library)
* Regenerate generated code through generate_descriptor_proto.sh
* Modify how end tags are encounted in merge code (compiler)
* Modify how end tags are encounted in merge code (generated)
* Modify how end tags are encounted in merge code (library)
* Regenerate generated code through generate_descriptor_proto.sh
Previously, internalAddGeneratedFile has to depend on old non-nested name for sub-messages.
This creates a hard dependency on old generated code for compatibility usage.
If user's code has custome error handler, the deprecation warning in the old generated code
will also be thrown (even though users haven't explicitly depended on the old message name).
To fix this problem, this change added an additional flag in the generated code to tell run
time that it's safe to use new message name. In this way, internalAddGeneratedFile can safely
depend on new name and don't trigger unnecessary deprecation warning.
Varadic assignment in javascript where the right hand expression is an
object yields a single set assignment with the right most lefthand variable,
while leaving the other left side expressions undefined.
For example:
var a,b = {}
will only initialize a to undefined. But will set b to the {} value.
--
For this code since f is never used, it is a safe operation to remove
it.
* Down-integrate internal changes to github.
* fix python conformance test
* fix csharp conformance test
* add back java map_lite_test.proto's optimize for option
* fix php conformance test
Some protos have enum values of "FOO" and "Foo", which the ObjC generation
then makes into the same thing. Just skip generating the enum element for
the duplicate as it would be a compile error because of the name collision.
The descriptors are still generated to support reflection and TextFormat
more completely.
* Create a script to help update the version automatically
* Update comment in the update_version script
* Update script to fix special handling for common.h and Makefile.am
* Revise update_version script to only update the other constants in common.h if it is a major release. Reset Makefile.am version to 17:0:0
Just like fields, some extension fieldnames can be named such that they appear
to have meaning to ARC. Add the annotation to the compiler will get things
correct.
Add a bunch of extensions to allow inspection on generation to ensure things
are correct.
For deprecated fields, identify the deprecated field and source file in the deprecation message. For deprecated files, identify the deprecated file in deprecation messages of generated interfaces. This additional context in deprecation messages will help provide developers with more context which could help them seek recommended alternatives to deprecated interfaces.
* adds string-to-int and int-to-string methods to enums
* remove check for valueToName property in EnumTrait
* Remove unused imports
* Update to avoid using EnumTrait
* Remove EnumTrait
* Update enum types
* Move name and value methods into generated classes
* Remove functions from GPBUtil
* Test well known enums
* Implement enum value to/from name in c extension
* Only generate use statement when namespace is present
In some cases proto files that want/need to use the objc_class_prefix option have
types that already have the prefix on a subset of their names. In this case we don't
want to duplicate the prefix.
Added tests for this (and prefixes in general).
The code now matches what the comment above it actually generates.
Also tweak that code so it actually compiles for me, and to avoid
embedding /* and */ in comments because that's generally a reasonable
thing to trigger warnings.
Instead of using DEPRECATED_ATTRIBUTE from AvailabilityMacros.h, we should introduce a Google-specific Objective-C protobuf deprecation annotation. This helps address IWYU issues with using DEPRECATED_ATTRIBUTE and also enables allows clients to redefine the macro to treat protobuf warnings differently than other types of warnings (e.g., treating protobuf deprecation warnings as errors or ignoring them).
- removed use of GOOGLE_DISALLOW_EVIL_CONSTRUCTORS
in favor of deleting them C++11 style.
- removed forward declarations of protobuf core types.
- ensured that namespaces "google" and "protobuf" are
always opened/closed together.
Previously --cpp_out:lite was available to force the optimization mode
to the lite runtime. This adds --cpp_out=speed:...
which is needed to override the file specific options in cases where
libprotobuf-mutator is used for fuzzing since it depends on reflection.
Signed-off-by: Allen Webb <allenwebb@google.com>