HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/local/wp/vendor/mck89/peast/lib/Peast/Syntax/Node/ChainElement.php
<?php
/**
 * This file is part of the Peast package
 *
 * (c) Marco Marchiò <marco.mm89@gmail.com>
 *
 * For the full copyright and license information refer to the LICENSE file
 * distributed with this source code
 */
namespace Peast\Syntax\Node;

/**
 * A node that represents a chain element.
 * 
 * @author Marco Marchiò <marco.mm89@gmail.com>
 */
abstract class ChainElement extends Node implements Expression
{
    protected $propertiesMap = array(
        "optional" => false
    );

    /**
     * Optional flag that is true if the node is in the optional
     * part of a chain expression
     *
     * @var bool
     */
    protected $optional = false;

    /**
     * Returns the optional flag that is true if the node is in
     * the optional part of a chain expression
     *
     * @return bool
     */
    public function getOptional()
    {
        return $this->optional;
    }

    /**
     * Sets the optional flag that is true if the node is in
     * the optional part of a chain expression
     *
     * @param bool $optional Optional flag
     *
     * @return $this
     */
    public function setOptional($optional)
    {
        $this->optional = (bool) $optional;
        return $this;
    }
}