]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - extlib/HTMLPurifier/HTMLPurifier/Token.php
Merge branch 'master' of git.gnu.io:gnu/gnu-social into mmn_fixes
[quix0rs-gnu-social.git] / extlib / HTMLPurifier / HTMLPurifier / Token.php
index 7900e6cb10110ef4e9b6cec880c1a6d59c7beed1..85b85e072d0e43ee779ca6edb43f8e0a07e1aa2f 100644 (file)
@@ -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