Commit 282fb9e6 authored by Paul Yang's avatar Paul Yang Committed by GitHub

Add ARRAY for reserved name (#3150)

parent 4d5daf4e
......@@ -30,8 +30,8 @@
#include "protobuf.h"
const char* const kReservedNames[] = {"Empty"};
const int kReservedNamesSize = 1;
const char* const kReservedNames[] = {"Empty", "ECHO", "ARRAY"};
const int kReservedNamesSize = 3;
// Forward declare.
static void descriptor_init_c_instance(Descriptor* intern TSRMLS_DC);
......
......@@ -236,7 +236,7 @@ function getClassNamePrefix(
return $prefix;
}
$reserved_words = array("Empty");
$reserved_words = array("Empty", "ECHO", "ARRAY");
foreach ($reserved_words as $reserved_word) {
if ($classname === $reserved_word) {
if ($file_proto->getPackage() === "google.protobuf") {
......
......@@ -876,6 +876,7 @@ class GeneratedClassTest extends TestBase
$m = new \Foo\TestMessage_Empty();
$m = new \Foo\PBEmpty();
$m = new \PrefixEmpty();
$m = new \Foo\PBARRAY();
}
#########################################################
......@@ -886,8 +887,8 @@ class GeneratedClassTest extends TestBase
{
$m = (new TestMessage())
->setOptionalInt32(1)
->setOptionalInt64(2);
->setOptionalUInt32(2);
$this->assertSame(1, $m->getOptionalInt32());
$this->assertSame(2, $m->getOptionalInt64());
$this->assertSame(2, $m->getOptionalUInt32());
}
}
......@@ -8,6 +8,7 @@ require_once('generated/NoNamespaceMessage_NestedEnum.php');
require_once('generated/PrefixEmpty.php');
require_once('generated/PrefixTestPrefix.php');
require_once('generated/Bar/TestInclude.php');
require_once('generated/Foo/PBARRAY.php');
require_once('generated/Foo/PBEmpty.php');
require_once('generated/Foo/TestEnum.php');
require_once('generated/Foo/TestIncludePrefixMessage.php');
......
......@@ -127,6 +127,10 @@ message Empty {
int32 a = 1;
}
message ARRAY {
int32 a = 1;
}
message TestPackedMessage {
repeated int32 repeated_int32 = 90 [packed = true];
repeated int64 repeated_int64 = 91 [packed = true];
......
......@@ -49,8 +49,8 @@ const std::string kDescriptorMetadataFile =
"GPBMetadata/Google/Protobuf/Internal/Descriptor.php";
const std::string kDescriptorDirName = "Google/Protobuf/Internal";
const std::string kDescriptorPackageName = "Google\\Protobuf\\Internal";
const char* const kReservedNames[] = {"Empty", "ECHO"};
const int kReservedNamesSize = 2;
const char* const kReservedNames[] = {"ARRAY", "Empty", "ECHO"};
const int kReservedNamesSize = 3;
namespace google {
namespace protobuf {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment