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

Breadcrumb

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

class Program

Root node for scripts and modules.

@author Marco Marchiò <marco.mm89@gmail.com>

Hierarchy

  • class \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\JSONSerializable
    • class \Peast\Syntax\Node\Program extends \Peast\Syntax\Node\Node

Expanded class hierarchy of Program

2 string references to 'Program'
Parser::parse in vendor/mck89/peast/lib/Peast/Syntax/Parser.php
Parses the source
Renderer::renderNode in vendor/mck89/peast/lib/Peast/Renderer.php
Renders a node

File

vendor/mck89/peast/lib/Peast/Syntax/Node/Program.php, line 20

Namespace

Peast\Syntax\Node
View source
class Program extends Node {
    
    /**
     * Map of node properties
     * 
     * @var array 
     */
    protected $propertiesMap = array(
        "body" => true,
        "sourceType" => false,
    );
    
    /**
     * Source type that is one of the source type constants in the Peast class
     * 
     * @var string 
     */
    protected $sourceType = \Peast\Peast::SOURCE_TYPE_SCRIPT;
    
    /**
     * Program's body
     * 
     * @var Statement[]|ModuleDeclaration[]
     */
    protected $body = array();
    
    /**
     * Returns the source type that is one of the source type constants in the
     * Peast class
     * 
     * @return string
     */
    public function getSourceType() {
        return $this->sourceType;
    }
    
    /**
     * Sets the source type that is one of the source type constants in the
     * Peast class
     * 
     * @param string $sourceType Source type
     * 
     * @return $this
     */
    public function setSourceType($sourceType) {
        $this->sourceType = $sourceType;
        return $this;
    }
    
    /**
     * Returns the program's body
     * 
     * @return Statement[]|ModuleDeclaration[]
     */
    public function getBody() {
        return $this->body;
    }
    
    /**
     * Sets the program's body
     * 
     * @param Statement[]|ModuleDeclaration[] $body Program's body
     * 
     * @return $this
     */
    public function setBody($body) {
        $this->assertArrayOf($body, array(
            "Statement",
            "ModuleDeclaration",
        ));
        $this->body = $body;
        return $this;
    }
    
    /**
     * Finds nodes matching the given selector.
     *
     * @param string    $selector   Selector
     * @param array     $options    Options array. See Query class
     *                              documentation for available options
     *
     * @return Query
     *
     * @throws Selector\Exception
     */
    public function query($selector, $options = array()) {
        $query = new Query($this, $options);
        return $query->find($selector);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
Node::$leadingComments protected property Leading comments array
Node::$location public property Node location in the source code
Node::$trailingComments protected property Trailing comments array
Node::assertArrayOf protected function Asserts that the given value is an array of defined type
Node::assertType protected function Asserts that the given value respects the defined type
Node::getLeadingComments public function Returns leading comments array
Node::getLocation public function Returns node location in the source code
Node::getTrailingComments public function Returns trailing comments array
Node::getType public function Returns node type 2
Node::jsonSerialize public function Returns a serializable version of the node 2
Node::render public function Renders the current node
Node::setEndPosition public function Sets the end position of the node in the source code
Node::setLeadingComments public function Sets leading comments array 1
Node::setStartPosition public function Sets the start position of the node in the source code
Node::setTrailingComments public function Sets trailing comments array 1
Node::traverse public function Traverses the current node and all its child nodes using the given
function
Node::typeError protected function Throws an error if the defined type is not supported b
Node::__construct public function Class constructor
Program::$body protected property Program&#039;s body
Program::$propertiesMap protected property Map of node properties Overrides Node::$propertiesMap
Program::$sourceType protected property Source type that is one of the source type constants in the Peast class
Program::getBody public function Returns the program&#039;s body
Program::getSourceType public function Returns the source type that is one of the source type constants in the
Peast class
Program::query public function Finds nodes matching the given selector.
Program::setBody public function Sets the program&#039;s body
Program::setSourceType public function Sets the source type that is one of the source type constants in the
Peast class

API Navigation

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