diff options
Diffstat (limited to 'library/HTMLPurifier/Token.php')
-rw-r--r-- | library/HTMLPurifier/Token.php | 81 |
1 files changed, 62 insertions, 19 deletions
diff --git a/library/HTMLPurifier/Token.php b/library/HTMLPurifier/Token.php index 7900e6cb1..85b85e072 100644 --- a/library/HTMLPurifier/Token.php +++ b/library/HTMLPurifier/Token.php @@ -3,55 +3,98 @@ /** * Abstract base token class that all others inherit from. */ -class HTMLPurifier_Token { - public $line; /**< Line number node was on in source document. Null if unknown. */ - public $col; /**< Column of line node was on in source document. Null if unknown. */ +abstract class HTMLPurifier_Token +{ + /** + * Line number node was on in source document. Null if unknown. + * @type int + */ + public $line; + + /** + * Column of line node was on in source document. Null if unknown. + * @type int + */ + public $col; /** * Lookup array of processing that this token is exempt from. * Currently, valid values are "ValidateAttributes" and * "MakeWellFormed_TagClosedError" + * @type array */ public $armor = array(); /** * Used during MakeWellFormed. + * @type */ public $skip; + + /** + * @type + */ public $rewind; + + /** + * @type + */ public $carryover; - public function __get($n) { - if ($n === 'type') { - trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE); - switch (get_class($this)) { - case 'HTMLPurifier_Token_Start': return 'start'; - case 'HTMLPurifier_Token_Empty': return 'empty'; - case 'HTMLPurifier_Token_End': return 'end'; - case 'HTMLPurifier_Token_Text': return 'text'; - case 'HTMLPurifier_Token_Comment': return 'comment'; - default: return null; + /** + * @param string $n + * @return null|string + */ + public function __get($n) + { + if ($n === 'type') { + trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE); + switch (get_class($this)) { + case 'HTMLPurifier_Token_Start': + return 'start'; + case 'HTMLPurifier_Token_Empty': + return 'empty'; + case 'HTMLPurifier_Token_End': + return 'end'; + case 'HTMLPurifier_Token_Text': + return 'text'; + case 'HTMLPurifier_Token_Comment': + return 'comment'; + default: + return null; + } } - } } /** * Sets the position of the token in the source document. + * @param int $l + * @param int $c */ - public function position($l = null, $c = null) { + public function position($l = null, $c = null) + { $this->line = $l; - $this->col = $c; + $this->col = $c; } /** * Convenience function for DirectLex settings line/col position. + * @param int $l + * @param int $c */ - public function rawPosition($l, $c) { - if ($c === -1) $l++; + public function rawPosition($l, $c) + { + if ($c === -1) { + $l++; + } $this->line = $l; - $this->col = $c; + $this->col = $c; } + /** + * Converts a token into its corresponding node. + */ + abstract public function toNode(); } // vim: et sw=4 sts=4 |