class IfStatement
A node that represents an if statement. For example: if (test) {} else {}
@author Marco Marchiò <marco.mm89@gmail.com>
Hierarchy
- class \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\JSONSerializable
- class \Peast\Syntax\Node\IfStatement extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Statement
Expanded class hierarchy of IfStatement
3 string references to 'IfStatement'
- Parser::parseIfStatement in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses an if statement
- Renderer::needsBrackets in vendor/
mck89/ peast/ lib/ Peast/ Renderer.php - Check if the node or the array of nodes need brackets to be rendered
- Renderer::renderNode in vendor/
mck89/ peast/ lib/ Peast/ Renderer.php - Renders a node
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ IfStatement.php, line 18
Namespace
Peast\Syntax\NodeView source
class IfStatement extends Node implements Statement {
/**
* Map of node properties
*
* @var array
*/
protected $propertiesMap = array(
"test" => true,
"consequent" => true,
"alternate" => true,
);
/**
* The test expression
*
* @var Expression
*/
protected $test;
/**
* The statement that is activated if the test expression is true
*
* @var Statement|FunctionDeclaration
*/
protected $consequent;
/**
* The "else" statement
*
* @var Statement
*/
protected $alternate;
/**
* Returns the test expression
*
* @return Expression
*/
public function getTest() {
return $this->test;
}
/**
* Sets the test expression
*
* @param Expression $test Test expression
*
* @return $this
*/
public function setTest(Expression $test) {
$this->test = $test;
return $this;
}
/**
* Returns the statement that is activated if the test expression is true
*
* @return Statement|FunctionDeclaration
*/
public function getConsequent() {
return $this->consequent;
}
/**
* Sets the statement that is activated if the test expression is true
*
* @param Statement|FunctionDeclaration $consequent The consequent expression
*
* @return $this
*/
public function setConsequent($consequent) {
$this->assertType($consequent, array(
"Statement",
"FunctionDeclaration",
), true);
$this->consequent = $consequent;
return $this;
}
/**
* Returns the "else" statement
*
* @return Statement
*/
public function getAlternate() {
return $this->alternate;
}
/**
* Sets the "else" statement
*
* @param Statement|FunctionDeclaration $alternate The "else" statement
*
* @return $this
*/
public function setAlternate($alternate) {
$this->assertType($alternate, array(
"Statement",
"FunctionDeclaration",
), true);
$this->alternate = $alternate;
return $this;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
IfStatement::$alternate | protected | property | The "else" statement | ||
IfStatement::$consequent | protected | property | The statement that is activated if the test expression is true | ||
IfStatement::$propertiesMap | protected | property | Map of node properties | Overrides Node::$propertiesMap | |
IfStatement::$test | protected | property | The test expression | ||
IfStatement::getAlternate | public | function | Returns the "else" statement | ||
IfStatement::getConsequent | public | function | Returns the statement that is activated if the test expression is true | ||
IfStatement::getTest | public | function | Returns the test expression | ||
IfStatement::setAlternate | public | function | Sets the "else" statement | ||
IfStatement::setConsequent | public | function | Sets the statement that is activated if the test expression is true | ||
IfStatement::setTest | public | function | Sets the test expression | ||
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 |