aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHao Nguyen <haon@google.com>2019-05-31 15:18:39 -0700
committerHao Nguyen <haon@google.com>2019-05-31 15:18:39 -0700
commit634d704d232bd7ac705337c7724aa6e44f43c1c7 (patch)
tree98e2eba9c87e557d0bc302435449cac3dcf0a012 /src
parent74f4f594cf79eca344cb23ed5bc2db9694580403 (diff)
parent09745575a923640154bcf307fba8aedff47f240a (diff)
downloadprotobuf-634d704d232bd7ac705337c7724aa6e44f43c1c7.tar.gz
Merge branch '3.8.x' into 3.8.x-201905311515
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am2
-rw-r--r--src/google/protobuf/any.pb.h4
-rw-r--r--src/google/protobuf/api.pb.h4
-rw-r--r--src/google/protobuf/compiler/php/php_generator.cc68
-rw-r--r--src/google/protobuf/compiler/plugin.pb.h4
-rw-r--r--src/google/protobuf/descriptor.pb.h4
-rw-r--r--src/google/protobuf/duration.pb.h4
-rw-r--r--src/google/protobuf/empty.pb.h4
-rw-r--r--src/google/protobuf/field_mask.pb.h4
-rw-r--r--src/google/protobuf/port_def.inc8
-rw-r--r--src/google/protobuf/source_context.pb.h4
-rw-r--r--src/google/protobuf/struct.pb.h4
-rw-r--r--src/google/protobuf/stubs/common.h8
-rw-r--r--src/google/protobuf/timestamp.pb.h4
-rw-r--r--src/google/protobuf/type.pb.h4
-rw-r--r--src/google/protobuf/wrappers.pb.h4
16 files changed, 88 insertions, 46 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 0627861a9..31307044d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,7 +18,7 @@ else
PTHREAD_DEF =
endif
-PROTOBUF_VERSION = 18:1:0
+PROTOBUF_VERSION = 19:0:0
if GCC
# Turn on all warnings except for sign comparison (we ignore sign comparison
diff --git a/src/google/protobuf/any.pb.h b/src/google/protobuf/any.pb.h
index 5383adf68..d9a125d30 100644
--- a/src/google/protobuf/any.pb.h
+++ b/src/google/protobuf/any.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/api.pb.h b/src/google/protobuf/api.pb.h
index 83beaa12e..729c3f9b0 100644
--- a/src/google/protobuf/api.pb.h
+++ b/src/google/protobuf/api.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/compiler/php/php_generator.cc b/src/google/protobuf/compiler/php/php_generator.cc
index 2a1d14b87..c47ea33f7 100644
--- a/src/google/protobuf/compiler/php/php_generator.cc
+++ b/src/google/protobuf/compiler/php/php_generator.cc
@@ -655,27 +655,58 @@ void GenerateOneofField(const OneofDescriptor* oneof, io::Printer* printer) {
void GenerateFieldAccessor(const FieldDescriptor* field, bool is_descriptor,
io::Printer* printer) {
+ bool need_other_name_for_accessor = false;
+ bool need_other_name_for_wrapper_accessor = false;
+ const Descriptor* desc = field->containing_type();
+
+ if (!field->is_repeated() &&
+ field->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE &&
+ IsWrapperType(field)) {
+ // Check if there is any field called xxx_value
+ const FieldDescriptor* other =
+ desc->FindFieldByName(StrCat(field->name(), "_value"));
+ if (other != NULL) {
+ need_other_name_for_wrapper_accessor = true;
+ }
+ }
+
+ if (strings::EndsWith(field->name(), "_value")) {
+ std::size_t pos = (field->name()).find("_value");
+ string name = (field->name()).substr(0, pos);
+ const FieldDescriptor* other = desc->FindFieldByName(name);
+ if (other != NULL &&
+ !other->is_repeated() &&
+ other->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE &&
+ IsWrapperType(other)) {
+ need_other_name_for_accessor = true;
+ }
+ }
+
const OneofDescriptor* oneof = field->containing_oneof();
// Generate getter.
if (oneof != NULL) {
GenerateFieldDocComment(printer, field, is_descriptor, kFieldGetter);
printer->Print(
- "public function get^camel_name^()\n"
+ "public function get^camel_name^^field_number^()\n"
"{\n"
" return $this->readOneof(^number^);\n"
"}\n\n",
"camel_name", UnderscoresToCamelCase(field->name(), true),
- "number", IntToString(field->number()));
+ "number", IntToString(field->number()),
+ "field_number", need_other_name_for_accessor ?
+ StrCat(field->number()) : "");
} else {
GenerateFieldDocComment(printer, field, is_descriptor, kFieldGetter);
printer->Print(
- "public function get^camel_name^()\n"
+ "public function get^camel_name^^field_number^()\n"
"{\n"
" return $this->^name^;\n"
"}\n\n",
- "camel_name", UnderscoresToCamelCase(field->name(), true), "name",
- field->name());
+ "camel_name", UnderscoresToCamelCase(field->name(), true),
+ "name", field->name(),
+ "field_number", need_other_name_for_accessor ?
+ StrCat(field->number()) : "");
}
// For wrapper types, generate an additional getXXXValue getter
@@ -684,21 +715,28 @@ void GenerateFieldAccessor(const FieldDescriptor* field, bool is_descriptor,
field->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE &&
IsWrapperType(field)) {
GenerateWrapperFieldGetterDocComment(printer, field);
+
printer->Print(
- "public function get^camel_name^Value()\n"
+ "public function get^camel_name^Value^field_number1^()\n"
"{\n"
- " $wrapper = $this->get^camel_name^();\n"
+ " $wrapper = $this->get^camel_name^^field_number2^();\n"
" return is_null($wrapper) ? null : $wrapper->getValue();\n"
"}\n\n",
- "camel_name", UnderscoresToCamelCase(field->name(), true));
+ "camel_name", UnderscoresToCamelCase(field->name(), true),
+ "field_number1", need_other_name_for_wrapper_accessor ?
+ StrCat(field->number()) : "",
+ "field_number2", need_other_name_for_accessor ?
+ StrCat(field->number()) : "");
}
// Generate setter.
GenerateFieldDocComment(printer, field, is_descriptor, kFieldSetter);
printer->Print(
- "public function set^camel_name^($var)\n"
+ "public function set^camel_name^^field_number^($var)\n"
"{\n",
- "camel_name", UnderscoresToCamelCase(field->name(), true));
+ "camel_name", UnderscoresToCamelCase(field->name(), true),
+ "field_number", need_other_name_for_accessor ?
+ StrCat(field->number()) : "");
Indent(printer);
@@ -798,13 +836,17 @@ void GenerateFieldAccessor(const FieldDescriptor* field, bool is_descriptor,
IsWrapperType(field)) {
GenerateWrapperFieldSetterDocComment(printer, field);
printer->Print(
- "public function set^camel_name^Value($var)\n"
+ "public function set^camel_name^Value^field_number1^($var)\n"
"{\n"
" $wrappedVar = is_null($var) ? null : new \\^wrapper_type^(['value' => $var]);\n"
- " return $this->set^camel_name^($wrappedVar);\n"
+ " return $this->set^camel_name^^field_number2^($wrappedVar);\n"
"}\n\n",
"camel_name", UnderscoresToCamelCase(field->name(), true),
- "wrapper_type", LegacyFullClassName(field->message_type(), is_descriptor));
+ "wrapper_type", LegacyFullClassName(field->message_type(), is_descriptor),
+ "field_number1", need_other_name_for_wrapper_accessor ?
+ StrCat(field->number()) : "",
+ "field_number2", need_other_name_for_accessor ?
+ StrCat(field->number()) : "");
}
// Generate has method for proto2 only.
diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h
index 7e46231ab..9226d4309 100644
--- a/src/google/protobuf/compiler/plugin.pb.h
+++ b/src/google/protobuf/compiler/plugin.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h
index 228866622..66f5c1cee 100644
--- a/src/google/protobuf/descriptor.pb.h
+++ b/src/google/protobuf/descriptor.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/duration.pb.h b/src/google/protobuf/duration.pb.h
index 774b1ebd6..beed27900 100644
--- a/src/google/protobuf/duration.pb.h
+++ b/src/google/protobuf/duration.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/empty.pb.h b/src/google/protobuf/empty.pb.h
index 5ac03a69a..3556bd9cc 100644
--- a/src/google/protobuf/empty.pb.h
+++ b/src/google/protobuf/empty.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/field_mask.pb.h b/src/google/protobuf/field_mask.pb.h
index 5bdcd7eb9..22a23db1e 100644
--- a/src/google/protobuf/field_mask.pb.h
+++ b/src/google/protobuf/field_mask.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc
index 39aaf05f3..c1dc73919 100644
--- a/src/google/protobuf/port_def.inc
+++ b/src/google/protobuf/port_def.inc
@@ -285,14 +285,14 @@
// Shared google3/opensource definitions. //////////////////////////////////////
-#define PROTOBUF_VERSION 3007001
-#define PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC 3007000
-#define PROTOBUF_MIN_PROTOC_VERSION 3007000
+#define PROTOBUF_VERSION 3008000
+#define PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC 3008000
+#define PROTOBUF_MIN_PROTOC_VERSION 3008000
#define PROTOBUF_VERSION_SUFFIX ""
// The minimum library version which works with the current version of the
// headers.
-#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3007000
+#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3008000
#if defined(GOOGLE_PROTOBUF_NO_RTTI) && GOOGLE_PROTOBUF_NO_RTTI
#define PROTOBUF_RTTI 0
diff --git a/src/google/protobuf/source_context.pb.h b/src/google/protobuf/source_context.pb.h
index 01e356bb0..d46bbc5fd 100644
--- a/src/google/protobuf/source_context.pb.h
+++ b/src/google/protobuf/source_context.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/struct.pb.h b/src/google/protobuf/struct.pb.h
index 519b3e7e0..2a639f675 100644
--- a/src/google/protobuf/struct.pb.h
+++ b/src/google/protobuf/struct.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h
index 38331ac0a..29efde1dd 100644
--- a/src/google/protobuf/stubs/common.h
+++ b/src/google/protobuf/stubs/common.h
@@ -81,7 +81,7 @@ namespace internal {
// The current version, represented as a single integer to make comparison
// easier: major * 10^6 + minor * 10^3 + micro
-#define GOOGLE_PROTOBUF_VERSION 3007001
+#define GOOGLE_PROTOBUF_VERSION 3008000
// A suffix string for alpha, beta or rc releases. Empty for stable releases.
#define GOOGLE_PROTOBUF_VERSION_SUFFIX ""
@@ -89,15 +89,15 @@ namespace internal {
// The minimum header version which works with the current version of
// the library. This constant should only be used by protoc's C++ code
// generator.
-static const int kMinHeaderVersionForLibrary = 3007000;
+static const int kMinHeaderVersionForLibrary = 3008000;
// The minimum protoc version which works with the current version of the
// headers.
-#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3007000
+#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3008000
// The minimum header version which works with the current version of
// protoc. This constant should only be used in VerifyVersion().
-static const int kMinHeaderVersionForProtoc = 3007000;
+static const int kMinHeaderVersionForProtoc = 3008000;
// Verifies that the headers and libraries are compatible. Use the macro
// below to call this.
diff --git a/src/google/protobuf/timestamp.pb.h b/src/google/protobuf/timestamp.pb.h
index b35ad10aa..76d33296e 100644
--- a/src/google/protobuf/timestamp.pb.h
+++ b/src/google/protobuf/timestamp.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/type.pb.h b/src/google/protobuf/type.pb.h
index 6da3d3256..3aad0fa8a 100644
--- a/src/google/protobuf/type.pb.h
+++ b/src/google/protobuf/type.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
diff --git a/src/google/protobuf/wrappers.pb.h b/src/google/protobuf/wrappers.pb.h
index 5deb4ecc4..c8f09f2bc 100644
--- a/src/google/protobuf/wrappers.pb.h
+++ b/src/google/protobuf/wrappers.pb.h
@@ -8,12 +8,12 @@
#include <string>
#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3007000
+#if PROTOBUF_VERSION < 3008000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
-#if 3007001 < PROTOBUF_MIN_PROTOC_VERSION
+#if 3008000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.