Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. EnumCase.php

class EnumCase

Same name in this branch
  1. 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\Builder
View 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&lt;Node\AttributeGroup&gt;
EnumCase::$attributes protected property @var array&lt;string, mixed&gt;
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.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal