Add nested enum descriptor in php rumtime. (#3009)
This commit is contained in:
parent
e64b618b21
commit
fba2acd72e
@ -95,6 +95,9 @@ class DescriptorPool
|
||||
foreach ($descriptor->getNestedType() as $nested_type) {
|
||||
$this->addDescriptor($nested_type);
|
||||
}
|
||||
foreach ($descriptor->getEnumType() as $enum_type) {
|
||||
$this->addEnumDescriptor($enum_type);
|
||||
}
|
||||
}
|
||||
|
||||
public function addEnumDescriptor($descriptor)
|
||||
|
@ -210,6 +210,12 @@ class Descriptor
|
||||
$nested_proto, $file_proto, $message_name_without_package));
|
||||
}
|
||||
|
||||
// Handle nested enum.
|
||||
foreach ($proto->getEnumType() as $enum_proto) {
|
||||
$desc->addEnumType(EnumDescriptor::buildFromProto(
|
||||
$enum_proto, $file_proto, $message_name_without_package));
|
||||
}
|
||||
|
||||
// Handle oneof fields.
|
||||
foreach ($proto->getOneofDecl() as $oneof_proto) {
|
||||
$desc->addOneofDecl(
|
||||
|
@ -839,7 +839,8 @@ class GeneratedClassTest extends TestBase
|
||||
public function testMessageWithoutNamespace()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalNoNamespaceMessage(new NoNameSpaceMessage());
|
||||
$sub = new NoNameSpaceMessage();
|
||||
$m->setOptionalNoNamespaceMessage($sub);
|
||||
$m->getRepeatedNoNamespaceMessage()[] = new NoNameSpaceMessage();
|
||||
|
||||
$n = new NoNamespaceMessage();
|
||||
|
Loading…
Reference in New Issue
Block a user