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\NodeView 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'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'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's body | ||
Program::setSourceType | public | function | Sets the source type that is one of the source type constants in the Peast class |