class RegExpLiteral
A node that represents a regular expression literal.
@author Marco Marchiò <marco.mm89@gmail.com>
Hierarchy
- class \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\JSONSerializable
- class \Peast\Syntax\Node\Literal extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression
- class \Peast\Syntax\Node\RegExpLiteral extends \Peast\Syntax\Node\Literal
- class \Peast\Syntax\Node\Literal extends \Peast\Syntax\Node\Node implements \Peast\Syntax\Node\Expression
Expanded class hierarchy of RegExpLiteral
3 string references to 'RegExpLiteral'
- Parser::parseRegularExpressionLiteral in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Parser.php - Parses a regular expression literal
- RegExpLiteral::getType in vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ RegExpLiteral.php - Returns node's type
- Renderer::renderNode in vendor/
mck89/ peast/ lib/ Peast/ Renderer.php - Renders a node
File
-
vendor/
mck89/ peast/ lib/ Peast/ Syntax/ Node/ RegExpLiteral.php, line 17
Namespace
Peast\Syntax\NodeView source
class RegExpLiteral extends Literal {
/**
* Map of node properties
*
* @var array
*/
protected $propertiesMap = array(
"flags" => false,
"pattern" => false,
);
/**
* Regex flags
*
* @var string
*/
protected $flags = "";
/**
* Regex pattern
*
* @var string
*/
protected $pattern = "";
/**
* Returns node's type
*
* @return string
*/
public function getType() {
return "RegExpLiteral";
}
/**
* Returns regex pattern
*
* @return string
*/
public function getPattern() {
return $this->pattern;
}
/**
* Sets regex pattern
*
* @param string $pattern Regex pattern
*
* @return $this
*/
public function setPattern($pattern) {
$this->pattern = $pattern;
return $this;
}
/**
* Returns regex flags
*
* @return string
*/
public function getFlags() {
return $this->flags;
}
/**
* Sets regex flags
*
* @param string $flags Regex flags
*
* @return $this
*/
public function setFlags($flags) {
$this->flags = $flags;
return $this;
}
/**
* Returns node's raw value
*
* @return string
*/
public function getRaw() {
return "/" . $this->getPattern() . "/" . $this->getFlags();
}
/**
* Sets node's raw value that must include delimiters
*
* @param string $raw Raw value
*
* @return $this
*/
public function setRaw($raw) {
$parts = explode("/", substr($raw, 1));
$flags = array_pop($parts);
$this->setPattern(implode("/", $parts));
$this->setFlags($flags);
return $this;
}
/**
* Returns node's value
*
* @return string
*/
public function getValue() {
return $this->getRaw();
}
/**
* Sets node's value
*
* @param mixed $value Value
*
* @return $this
*/
public function setValue($value) {
return $this->setRaw($value);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
Literal::$raw | protected | property | Node's raw value | 1 | |
Literal::$value | protected | property | Node's value | 1 | |
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::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 | ||
RegExpLiteral::$flags | protected | property | Regex flags | ||
RegExpLiteral::$pattern | protected | property | Regex pattern | ||
RegExpLiteral::$propertiesMap | protected | property | Map of node properties | Overrides Literal::$propertiesMap | |
RegExpLiteral::getFlags | public | function | Returns regex flags | ||
RegExpLiteral::getPattern | public | function | Returns regex pattern | ||
RegExpLiteral::getRaw | public | function | Returns node's raw value | Overrides Literal::getRaw | |
RegExpLiteral::getType | public | function | Returns node's type | Overrides Literal::getType | |
RegExpLiteral::getValue | public | function | Returns node's value | Overrides Literal::getValue | |
RegExpLiteral::setFlags | public | function | Sets regex flags | ||
RegExpLiteral::setPattern | public | function | Sets regex pattern | ||
RegExpLiteral::setRaw | public | function | Sets node's raw value that must include delimiters | Overrides Literal::setRaw | |
RegExpLiteral::setValue | public | function | Sets node's value | Overrides Literal::setValue |