2011-09-21 21:43:19 +02:00
|
|
|
<?php
|
|
|
|
|
2014-02-06 14:44:16 +01:00
|
|
|
namespace PhpParser;
|
|
|
|
|
|
|
|
interface Node
|
2011-09-21 21:43:19 +02:00
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Gets the type of the node.
|
|
|
|
*
|
|
|
|
* @return string Type of the node
|
|
|
|
*/
|
|
|
|
public function getType();
|
|
|
|
|
2011-12-02 17:52:03 +01:00
|
|
|
/**
|
|
|
|
* Gets the names of the sub nodes.
|
|
|
|
*
|
|
|
|
* @return array Names of sub nodes
|
|
|
|
*/
|
|
|
|
public function getSubNodeNames();
|
|
|
|
|
2011-09-21 21:43:19 +02:00
|
|
|
/**
|
|
|
|
* Gets line the node started in.
|
|
|
|
*
|
|
|
|
* @return int Line
|
|
|
|
*/
|
|
|
|
public function getLine();
|
|
|
|
|
2011-11-06 17:07:38 +01:00
|
|
|
/**
|
|
|
|
* Sets line the node started in.
|
|
|
|
*
|
|
|
|
* @param int $line Line
|
|
|
|
*/
|
|
|
|
public function setLine($line);
|
|
|
|
|
2011-09-21 21:43:19 +02:00
|
|
|
/**
|
2012-05-06 18:24:26 +02:00
|
|
|
* Gets the doc comment of the node.
|
2011-09-21 21:43:19 +02:00
|
|
|
*
|
2012-05-06 18:24:26 +02:00
|
|
|
* The doc comment has to be the last comment associated with the node.
|
2011-11-06 17:07:38 +01:00
|
|
|
*
|
2014-02-06 14:44:16 +01:00
|
|
|
* @return null|Comment\Doc Doc comment object or null
|
2011-11-06 17:07:38 +01:00
|
|
|
*/
|
2012-05-06 18:24:26 +02:00
|
|
|
public function getDocComment();
|
2012-04-09 12:37:47 +02:00
|
|
|
|
2012-04-03 20:04:24 +02:00
|
|
|
/**
|
|
|
|
* Sets an attribute on a node.
|
|
|
|
*
|
|
|
|
* @param string $key
|
2012-04-09 12:37:47 +02:00
|
|
|
* @param mixed $value
|
2012-04-03 20:04:24 +02:00
|
|
|
*/
|
|
|
|
public function setAttribute($key, $value);
|
2012-04-09 12:37:47 +02:00
|
|
|
|
2012-04-03 20:04:24 +02:00
|
|
|
/**
|
|
|
|
* Returns whether an attribute exists.
|
2012-04-09 12:37:47 +02:00
|
|
|
*
|
2012-04-03 20:04:24 +02:00
|
|
|
* @param string $key
|
|
|
|
*
|
2012-04-09 12:37:47 +02:00
|
|
|
* @return bool
|
2012-04-03 20:04:24 +02:00
|
|
|
*/
|
|
|
|
public function hasAttribute($key);
|
2012-04-09 12:37:47 +02:00
|
|
|
|
2012-04-03 20:04:24 +02:00
|
|
|
/**
|
|
|
|
* Returns the value of an attribute.
|
|
|
|
*
|
|
|
|
* @param string $key
|
2012-04-09 12:37:47 +02:00
|
|
|
* @param mixed $default
|
2012-04-03 20:04:24 +02:00
|
|
|
*
|
|
|
|
* @return mixed
|
|
|
|
*/
|
2012-05-11 18:48:23 +02:00
|
|
|
public function &getAttribute($key, $default = null);
|
2012-04-09 12:37:47 +02:00
|
|
|
|
2012-04-03 20:04:24 +02:00
|
|
|
/**
|
|
|
|
* Returns all attributes for the given node.
|
|
|
|
*
|
|
|
|
* @return array
|
|
|
|
*/
|
|
|
|
public function getAttributes();
|
2011-09-21 21:43:19 +02:00
|
|
|
}
|