summaryrefslogtreecommitdiff
path: root/vendor/nikic/php-parser/lib/PhpParser/Node.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2022-03-22 12:24:31 +0300
committerAndrew Dolgov <[email protected]>2022-03-22 12:24:31 +0300
commit1c4f7ab3b838b23afb2ee4dab14acbf75956e952 (patch)
tree0a19274107d717efe92d2c0376cd3105fead5a11 /vendor/nikic/php-parser/lib/PhpParser/Node.php
parent711662948768492e8d05b778a7d80eacaec368d2 (diff)
* add phpunit as a dev dependency
* add some basic tests for UrlHelper::rewrite_relative() * fix UrlHelper::rewrite_relative() to work better on non-absolute relative URL paths
Diffstat (limited to 'vendor/nikic/php-parser/lib/PhpParser/Node.php')
-rw-r--r--vendor/nikic/php-parser/lib/PhpParser/Node.php151
1 files changed, 151 insertions, 0 deletions
diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node.php b/vendor/nikic/php-parser/lib/PhpParser/Node.php
new file mode 100644
index 000000000..befb25650
--- /dev/null
+++ b/vendor/nikic/php-parser/lib/PhpParser/Node.php
@@ -0,0 +1,151 @@
+<?php declare(strict_types=1);
+
+namespace PhpParser;
+
+interface Node
+{
+ /**
+ * Gets the type of the node.
+ *
+ * @return string Type of the node
+ */
+ public function getType() : string;
+
+ /**
+ * Gets the names of the sub nodes.
+ *
+ * @return array Names of sub nodes
+ */
+ public function getSubNodeNames() : array;
+
+ /**
+ * Gets line the node started in (alias of getStartLine).
+ *
+ * @return int Start line (or -1 if not available)
+ */
+ public function getLine() : int;
+
+ /**
+ * Gets line the node started in.
+ *
+ * Requires the 'startLine' attribute to be enabled in the lexer (enabled by default).
+ *
+ * @return int Start line (or -1 if not available)
+ */
+ public function getStartLine() : int;
+
+ /**
+ * Gets the line the node ended in.
+ *
+ * Requires the 'endLine' attribute to be enabled in the lexer (enabled by default).
+ *
+ * @return int End line (or -1 if not available)
+ */
+ public function getEndLine() : int;
+
+ /**
+ * Gets the token offset of the first token that is part of this node.
+ *
+ * The offset is an index into the array returned by Lexer::getTokens().
+ *
+ * Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default).
+ *
+ * @return int Token start position (or -1 if not available)
+ */
+ public function getStartTokenPos() : int;
+
+ /**
+ * Gets the token offset of the last token that is part of this node.
+ *
+ * The offset is an index into the array returned by Lexer::getTokens().
+ *
+ * Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default).
+ *
+ * @return int Token end position (or -1 if not available)
+ */
+ public function getEndTokenPos() : int;
+
+ /**
+ * Gets the file offset of the first character that is part of this node.
+ *
+ * Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default).
+ *
+ * @return int File start position (or -1 if not available)
+ */
+ public function getStartFilePos() : int;
+
+ /**
+ * Gets the file offset of the last character that is part of this node.
+ *
+ * Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default).
+ *
+ * @return int File end position (or -1 if not available)
+ */
+ public function getEndFilePos() : int;
+
+ /**
+ * Gets all comments directly preceding this node.
+ *
+ * The comments are also available through the "comments" attribute.
+ *
+ * @return Comment[]
+ */
+ public function getComments() : array;
+
+ /**
+ * Gets the doc comment of the node.
+ *
+ * @return null|Comment\Doc Doc comment object or null
+ */
+ public function getDocComment();
+
+ /**
+ * Sets the doc comment of the node.
+ *
+ * This will either replace an existing doc comment or add it to the comments array.
+ *
+ * @param Comment\Doc $docComment Doc comment to set
+ */
+ public function setDocComment(Comment\Doc $docComment);
+
+ /**
+ * Sets an attribute on a node.
+ *
+ * @param string $key
+ * @param mixed $value
+ */
+ public function setAttribute(string $key, $value);
+
+ /**
+ * Returns whether an attribute exists.
+ *
+ * @param string $key
+ *
+ * @return bool
+ */
+ public function hasAttribute(string $key) : bool;
+
+ /**
+ * Returns the value of an attribute.
+ *
+ * @param string $key
+ * @param mixed $default
+ *
+ * @return mixed
+ */
+ public function getAttribute(string $key, $default = null);
+
+ /**
+ * Returns all the attributes of this node.
+ *
+ * @return array
+ */
+ public function getAttributes() : array;
+
+ /**
+ * Replaces all the attributes of this node.
+ *
+ * @param array $attributes
+ */
+ public function setAttributes(array $attributes);
+}