class EnumCase
Same name in this branch
- 11.1.x vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php \PhpParser\Node\Stmt\EnumCase
Hierarchy
- class \PhpParser\Builder\EnumCase implements \PhpParser\Builder
Expanded class hierarchy of EnumCase
File
-
vendor/
nikic/ php-parser/ lib/ PhpParser/ Builder/ EnumCase.php, line 13
Namespace
PhpParser\BuilderView source
class EnumCase implements PhpParser\Builder {
/** @var Identifier|string */
protected $name;
protected ?Node\Expr $value = null;
/** @var array<string, mixed> */
protected array $attributes = [];
/** @var list<Node\AttributeGroup> */
protected array $attributeGroups = [];
/**
* Creates an enum case builder.
*
* @param string|Identifier $name Name
*/
public function __construct($name) {
$this->name = $name;
}
/**
* Sets the value.
*
* @param Node\Expr|string|int $value
*
* @return $this
*/
public function setValue($value) {
$this->value = BuilderHelpers::normalizeValue($value);
return $this;
}
/**
* Sets doc comment for the constant.
*
* @param PhpParser\Comment\Doc|string $docComment Doc comment to set
*
* @return $this The builder instance (for fluid interface)
*/
public function setDocComment($docComment) {
$this->attributes = [
'comments' => [
BuilderHelpers::normalizeDocComment($docComment),
],
];
return $this;
}
/**
* Adds an attribute group.
*
* @param Node\Attribute|Node\AttributeGroup $attribute
*
* @return $this The builder instance (for fluid interface)
*/
public function addAttribute($attribute) {
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
return $this;
}
/**
* Returns the built enum case node.
*
* @return Stmt\EnumCase The built constant node
*/
public function getNode() : PhpParser\Node {
return new Stmt\EnumCase($this->name, $this->value, $this->attributeGroups, $this->attributes);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
EnumCase::$attributeGroups | protected | property | @var list<Node\AttributeGroup> | |
EnumCase::$attributes | protected | property | @var array<string, mixed> | |
EnumCase::$name | protected | property | @var Identifier|string | |
EnumCase::$value | protected | property | ||
EnumCase::addAttribute | public | function | Adds an attribute group. | |
EnumCase::getNode | public | function | Returns the built enum case node. | Overrides Builder::getNode |
EnumCase::setDocComment | public | function | Sets doc comment for the constant. | |
EnumCase::setValue | public | function | Sets the value. | |
EnumCase::__construct | public | function | Creates an enum case builder. |