class OneofDescriptor
Same name in this branch
- 11.1.x vendor/google/protobuf/src/Google/Protobuf/OneofDescriptor.php \Google\Protobuf\OneofDescriptor
Hierarchy
- class \Google\Protobuf\Internal\OneofDescriptor uses \Google\Protobuf\Internal\HasPublicDescriptorTrait
Expanded class hierarchy of OneofDescriptor
File
-
vendor/
google/ protobuf/ src/ Google/ Protobuf/ Internal/ OneofDescriptor.php, line 12
Namespace
Google\Protobuf\InternalView source
class OneofDescriptor {
use HasPublicDescriptorTrait;
private $name;
/** @var \Google\Protobuf\FieldDescriptor[] $fields */
private $fields;
public function __construct() {
$this->public_desc = new \Google\Protobuf\OneofDescriptor($this);
}
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function addField(FieldDescriptor $field) {
$this->fields[] = $field;
}
public function getFields() {
return $this->fields;
}
public function isSynthetic() {
return !is_null($this->fields) && count($this->fields) === 1 && $this->fields[0]
->getProto3Optional();
}
public static function buildFromProto($oneof_proto, $desc, $index) {
$oneof = new OneofDescriptor();
$oneof->setName($oneof_proto->getName());
foreach ($desc->getField() as $field) {
/** @var FieldDescriptor $field */
if ($field->getOneofIndex() == $index) {
$oneof->addField($field);
$field->setContainingOneof($oneof);
}
}
return $oneof;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
HasPublicDescriptorTrait::$public_desc | private | property | |
HasPublicDescriptorTrait::getPublicDescriptor | public | function | |
OneofDescriptor::$fields | private | property | @var \Google\Protobuf\FieldDescriptor[] $fields |
OneofDescriptor::$name | private | property | |
OneofDescriptor::addField | public | function | |
OneofDescriptor::buildFromProto | public static | function | |
OneofDescriptor::getFields | public | function | |
OneofDescriptor::getName | public | function | |
OneofDescriptor::isSynthetic | public | function | |
OneofDescriptor::setName | public | function | |
OneofDescriptor::__construct | public | function |