本文整理汇总了PHP中google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED方法的典型用法代码示例。如果您正苦于以下问题:PHP Label::LABEL_REPEATED方法的具体用法?PHP Label::LABEL_REPEATED怎么用?PHP Label::LABEL_REPEATED使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类google\protobuf\FieldDescriptorProto\Label
的用法示例。
在下文中一共展示了Label::LABEL_REPEATED方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testComplexMessageDescriptor
public function testComplexMessageDescriptor()
{
$descriptor = AddressBook::descriptor();
$this->assertInstanceOf(DescriptorProto::CLASS, $descriptor);
$this->assertEquals('AddressBook', $descriptor->getName());
$this->assertCount(1, $descriptor->getFieldList());
$this->assertInstanceOf(FieldDescriptorProto::CLASS, $descriptor->getFieldList()[0]);
$this->assertEquals(1, $descriptor->getFieldList()[0]->getNumber());
$this->assertEquals('person', $descriptor->getFieldList()[0]->getName());
$this->assertSame(Type::TYPE_MESSAGE(), $descriptor->getFieldList()[0]->getType());
$this->assertSame(Label::LABEL_REPEATED(), $descriptor->getFieldList()[0]->getLabel());
$this->assertEquals('.ProtobufCompilerTest.Protos.Person', $descriptor->getFieldList()[0]->getTypeName());
}
示例2: generateSetterMethod
/**
* @param \Protobuf\Compiler\Entity $entity
* @param google\protobuf\FieldDescriptorProto $field
*
* @return \Zend\Code\Generator\GeneratorInterface
*/
protected function generateSetterMethod(Entity $entity, FieldDescriptorProto $field)
{
$body = [];
$fieldName = $field->getName();
$fieldType = $field->getType();
$fieldLabel = $field->getLabel();
$typeHint = $this->getTypeHint($field);
if ($fieldType === Type::TYPE_BYTES() && $fieldLabel !== Label::LABEL_REPEATED()) {
$body[] = 'if ($value !== null && ! $value instanceof \\Protobuf\\Stream) {';
$body[] = ' $value = \\Protobuf\\Stream::wrap($value);';
$body[] = '}';
$body[] = null;
$typeHint = null;
}
$body[] = '$this->' . $fieldName . ' = $value;';
$methodName = $this->getAccessorName('set', $field);
$method = MethodGenerator::fromArray(['name' => $methodName, 'body' => implode(PHP_EOL, $body), 'parameters' => [['name' => 'value', 'type' => $typeHint]], 'docblock' => ['shortDescription' => "Set '{$fieldName}' value", 'tags' => [['name' => 'param', 'description' => $this->getDocBlockType($field) . ' $value']]]]);
$method->getDocblock()->setWordWrap(false);
if ($fieldLabel !== Label::LABEL_REQUIRED()) {
$method->getParameters()['value']->setDefaultValue(null);
}
return $method;
}
示例3: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'FortDetailsResponse', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'fort_id', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'team_color', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Enums.TeamColor']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'pokemon_data', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Data.PokemonData']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'name', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'image_urls', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 6, 'name' => 'fp', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 7, 'name' => 'stamina', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 8, 'name' => 'max_stamina', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 9, 'name' => 'type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Map.Fort.FortType']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 10, 'name' => 'latitude', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_DOUBLE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 11, 'name' => 'longitude', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_DOUBLE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 12, 'name' => 'description', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 13, 'name' => 'modifiers', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Map.Fort.FortModifier'])]]);
}
示例4: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'CheckAwardedBadgesResponse', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'success', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'awarded_badges', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Enums.BadgeType']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'awarded_badge_levels', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()])]]);
}
示例5: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'Signature', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'field1', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Networking.Envelopes.UnknownMessage']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'timestamp_since_start', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_UINT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'field3', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'location_fix', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Networking.Envelopes.Signature.LocationFix']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'gps_info', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Networking.Envelopes.Signature.AndroidGpsInfo']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 6, 'name' => 'field6', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Networking.Envelopes.UnknownMessage']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 7, 'name' => 'sensor_info', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Networking.Envelopes.Signature.SensorInfo']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 8, 'name' => 'device_info', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Networking.Envelopes.Signature.DeviceInfo']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 9, 'name' => 'activity_status', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Networking.Envelopes.Signature.ActivityStatus']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 10, 'name' => 'location_hash1', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 11, 'name' => 'field11', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 12, 'name' => 'field12', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 13, 'name' => 'field13', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 14, 'name' => 'field14', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 15, 'name' => 'field15', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 16, 'name' => 'field16', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 17, 'name' => 'field17', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 18, 'name' => 'field18', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 19, 'name' => 'field19', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 20, 'name' => 'location_hash2', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 21, 'name' => 'field21', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 22, 'name' => 'session_hash', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BYTES(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 23, 'name' => 'timestamp', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_UINT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 24, 'name' => 'request_hash', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_UINT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 25, 'name' => 'unknown25', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()])]]);
}
示例6: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'DescriptorProto', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'name', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'field', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.FieldDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 6, 'name' => 'extension', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.FieldDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'nested_type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.DescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'enum_type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.EnumDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'extension_range', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.DescriptorProto.ExtensionRange']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 8, 'name' => 'oneof_decl', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.OneofDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 7, 'name' => 'options', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.google.protobuf.MessageOptions']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 9, 'name' => 'reserved_range', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.DescriptorProto.ReservedRange']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 10, 'name' => 'reserved_name', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()])]]);
}
示例7: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'IapSettings', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'daily_bonus_coins', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'daily_defender_bonus_per_pokemon', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'daily_defender_bonus_max_defenders', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'daily_defender_bonus_currency', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'min_time_between_claims_ms', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 6, 'name' => 'daily_bonus_enabled', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 7, 'name' => 'daily_defender_bonus_enabled', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()])]]);
}
示例8: generateFieldReadStatement
/**
* @param \Protobuf\Compiler\Entity $entity
* @param \google\protobuf\FieldDescriptorProto $field
*
* @return string[]
*/
public function generateFieldReadStatement(Entity $entity, FieldDescriptorProto $field)
{
$body = [];
$reference = null;
$type = $field->getType();
$name = $field->getName();
$rule = $field->getLabel();
$tag = $field->getNumber();
$options = $field->getOptions();
$isPack = $options ? $options->getPacked() : false;
$variable = $this->targetVar ?: '$this->' . $name;
$breakSttm = $this->getBreakStatement($variable);
if ($field->hasTypeName()) {
$typeName = $field->getTypeName();
$typeEntity = $this->getEntity($typeName);
$reference = $typeEntity->getNamespacedName();
}
if (!$isPack) {
$body[] = sprintf('\\Protobuf\\WireFormat::assertWireType($wire, %s);', $type->value());
$body[] = null;
}
if ($rule === Label::LABEL_REPEATED() && $isPack) {
$readSttm = $type === Type::TYPE_ENUM() ? $reference . '::valueOf(' . $this->generateReadScalarStatement($type->value()) . ')' : $this->generateReadScalarStatement($type->value());
$body[] = '$innerSize = $reader->readVarint($stream);';
$body[] = '$innerLimit = $stream->tell() + $innerSize;';
$body[] = null;
$body[] = 'if (' . $variable . ' === null) {';
$body[] = ' ' . $variable . ' = new ' . $this->getCollectionClassName($field) . '();';
$body[] = '}';
$body[] = null;
$body[] = 'while ($stream->tell() < $innerLimit) {';
$body[] = ' ' . $variable . '->add(' . $readSttm . ');';
$body[] = '}';
$body[] = null;
$body[] = $breakSttm;
return $body;
}
if ($type === Type::TYPE_MESSAGE() && $rule === Label::LABEL_REPEATED()) {
$body[] = '$innerSize = $reader->readVarint($stream);';
$body[] = '$innerMessage = new ' . $reference . '();';
$body[] = null;
$body[] = 'if (' . $variable . ' === null) {';
$body[] = ' ' . $variable . ' = new \\Protobuf\\MessageCollection();';
$body[] = '}';
$body[] = null;
$body[] = $variable . '->add($innerMessage);';
$body[] = null;
$body[] = '$context->setLength($innerSize);';
$body[] = '$innerMessage->readFrom($context);';
$body[] = '$context->setLength($length);';
$body[] = null;
$body[] = $breakSttm;
return $body;
}
if ($type === Type::TYPE_ENUM() && $rule === LABEL::LABEL_REPEATED()) {
$body[] = 'if (' . $variable . ' === null) {';
$body[] = ' ' . $variable . ' = new ' . $this->getCollectionClassName($field) . '();';
$body[] = '}';
$body[] = null;
$body[] = $variable . '->add(' . $reference . '::valueOf(' . $this->generateReadScalarStatement($type->value()) . '));';
$body[] = null;
$body[] = $breakSttm;
return $body;
}
if ($type === Type::TYPE_MESSAGE()) {
$body[] = '$innerSize = $reader->readVarint($stream);';
$body[] = '$innerMessage = new ' . $reference . '();';
$body[] = null;
$body[] = $variable . ' = $innerMessage;';
$body[] = null;
$body[] = '$context->setLength($innerSize);';
$body[] = '$innerMessage->readFrom($context);';
$body[] = '$context->setLength($length);';
$body[] = null;
$body[] = $breakSttm;
return $body;
}
if ($type === Type::TYPE_ENUM()) {
$body[] = $variable . ' = ' . $reference . '::valueOf(' . $this->generateReadScalarStatement($type->value()) . ');';
$body[] = null;
$body[] = $breakSttm;
return $body;
}
if ($rule !== LABEL::LABEL_REPEATED()) {
$body[] = $variable . ' = ' . $this->generateReadScalarStatement($type->value()) . ';';
$body[] = null;
$body[] = $breakSttm;
return $body;
}
$body[] = 'if (' . $variable . ' === null) {';
$body[] = ' ' . $variable . ' = new ' . $this->getCollectionClassName($field) . '();';
$body[] = '}';
$body[] = null;
$body[] = $variable . '->add(' . $this->generateReadScalarStatement($type->value()) . ');';
//.........这里部分代码省略.........
示例9: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'BadgeSettings', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'badge_type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Enums.BadgeType']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'badge_rank', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'targets', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'capture_reward', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Data.Badge.BadgeCaptureReward'])]]);
}
示例10: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'StartGymBattleMessage', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'gym_id', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'attacking_pokemon_ids', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_FIXED64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'defending_pokemon_id', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_FIXED64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'player_latitude', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_DOUBLE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'player_longitude', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_DOUBLE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()])]]);
}
示例11: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'GetAssetDigestResponse', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'digest', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Data.AssetDigestEntry']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'timestamp_ms', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_UINT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()])]]);
}
示例12: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'GetMapObjectsResponse', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'map_cells', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Map.MapCell']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'status', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Map.MapObjectsStatus'])]]);
}
示例13: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'EnumValueOptions', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'deprecated', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_BOOL(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'default_value' => false]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 999, 'name' => 'uninterpreted_option', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.UninterpretedOption'])]]);
}
示例14: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'BattleLog', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'state', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Data.Battle.BattleState']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'battle_type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_ENUM(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.POGOProtos.Data.Battle.BattleType']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'server_ms', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'battle_actions', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.POGOProtos.Data.Battle.BattleAction']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'battle_start_timestamp_ms', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 6, 'name' => 'battle_end_timestamp_ms', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT64(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()])]]);
}
示例15: descriptor
/**
* {@inheritdoc}
*/
public static function descriptor()
{
return \google\protobuf\DescriptorProto::fromArray(['name' => 'FileDescriptorProto', 'field' => [\google\protobuf\FieldDescriptorProto::fromArray(['number' => 1, 'name' => 'name', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 2, 'name' => 'package', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 3, 'name' => 'dependency', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 10, 'name' => 'public_dependency', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 11, 'name' => 'weak_dependency', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_INT32(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED()]), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 4, 'name' => 'message_type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.DescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 5, 'name' => 'enum_type', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.EnumDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 6, 'name' => 'service', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.ServiceDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 7, 'name' => 'extension', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_REPEATED(), 'type_name' => '.google.protobuf.FieldDescriptorProto']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 8, 'name' => 'options', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.google.protobuf.FileOptions']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 9, 'name' => 'source_code_info', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_MESSAGE(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL(), 'type_name' => '.google.protobuf.SourceCodeInfo']), \google\protobuf\FieldDescriptorProto::fromArray(['number' => 12, 'name' => 'syntax', 'type' => \google\protobuf\FieldDescriptorProto\Type::TYPE_STRING(), 'label' => \google\protobuf\FieldDescriptorProto\Label::LABEL_OPTIONAL()])]]);
}