=====================
@link w/ URI
=====================
/**
 * @link http://example.com
 * @link https://example.com
 * @link http://www.example.com
 * @link https://www.example.com
 */
---
(document
  (tag (tag_name) (uri))
  (tag (tag_name) (uri))
  (tag (tag_name) (uri))
  (tag (tag_name) (uri)))

=====================
@link w/ URI & description
=====================
/**
 * @link http://example.com some description
 * @link https://example.com some description
 * @link http://www.example.com some description
 * @link https://www.example.com some description
 */
---
(document
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text))))

=====================
@link w/ URI & description on next line
=====================
/**
 * @link http://example.com
 * some description
 * @link https://example.com
 * some description
 * @link http://www.example.com
 * some description
 * @link https://www.example.com
 * some description
 */
---
(document
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text))))

=====================
@link w/ URI & description w/ linebreak
=====================
/**
 * @link http://example.com some description
 * more description
 * @link https://example.com some description
 * more description
 * @link http://www.example.com some description
 * more description
 * @link https://www.example.com some description
 * more description
 */
---
(document
  (tag (tag_name) (uri) (description (text) (text)))
  (tag (tag_name) (uri) (description (text) (text)))
  (tag (tag_name) (uri) (description (text) (text)))
  (tag (tag_name) (uri) (description (text) (text))))



=====================
@see w/ URI
=====================
/**
 * @see http://example.com
 * @see https://example.com
 * @see http://www.example.com
 * @see https://www.example.com
 */
---
(document
  (tag (tag_name) (uri))
  (tag (tag_name) (uri))
  (tag (tag_name) (uri))
  (tag (tag_name) (uri)))

=====================
@see w/ URI & description
=====================
/**
 * @see http://example.com some description
 * @see https://example.com some description
 * @see http://www.example.com some description
 * @see https://www.example.com some description
 */
---
(document
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text))))

=====================
@see w/ URI & description on next line
=====================
/**
 * @see http://example.com
 * some description
 * @see https://example.com
 * some description
 * @see http://www.example.com
 * some description
 * @see https://www.example.com
 * some description
 */
---
(document
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text)))
  (tag (tag_name) (uri) (description (text))))

=====================
@see w/ URI & description w/ linebreak
=====================
/**
 * @see http://example.com some description
 * more description
 * @see https://example.com some description
 * more description
 * @see http://www.example.com some description
 * more description
 * @see https://www.example.com some description
 * more description
 */
---
(document
  (tag (tag_name) (uri) (description (text) (text)))
  (tag (tag_name) (uri) (description (text) (text)))
  (tag (tag_name) (uri) (description (text) (text)))
  (tag (tag_name) (uri) (description (text) (text))))



=====================
@see w/ FQSEN for classnames
=====================
/**
 * @see \MyClass
 * @see \Vendor\Package\ClassName
 * @see MyClass
 * @see Vendor\Package\ClassName
 */
---
(document
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name))))))

=====================
@see w/ FQSEN for methods
=====================
/**
 * @see some_function()
 * @see \MyClass::some_function()
 * @see \Vendor\Package\ClassName::some_function()
 * @see MyClass::some_function()
 * @see Vendor\Package\ClassName::some_function()
 */
---
(document
  (tag
    (tag_name)
    (fqsen (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))
      (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))
      (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name))))

=====================
@see w/ FQSEN for properties
=====================
/**
 * @see $some_variable
 * @see \MyClass::$someProp
 * @see \Vendor\Package\ClassName::$someProp
 * @see MyClass::$someProp
 * @see Vendor\Package\ClassName::$someProp
 */
---
(document
  (tag
    (tag_name)
    (fqsen
      (variable_name (name))))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))
      (variable_name (name))))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (variable_name (name))))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))
      (variable_name (name))))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (variable_name (name)))))

=====================
@see w/ FQSEN for class constants
=====================
/**
 * @see \MyClass::SOME_CONSTANT
 * @see \Vendor\Package\ClassName::SOME_CONSTANT
 * @see MyClass::SOME_CONSTANT
 * @see Vendor\Package\ClassName::SOME_CONSTANT
 */
---
(document
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))
      (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))
      (name)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name))))

=====================
@see w/ FQSEN for classnames w/ description
=====================
/**
 * @see \MyClass some description
 * @see \Vendor\Package\ClassName some description
 * @see MyClass some description
 * @see Vendor\Package\ClassName some description
 */
---
(document
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name))))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name))))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type (name)))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name))))
    (description (text))))

=====================
@see w/ FQSEN for methods w/ description
=====================
/**
 * @see some_function() some description
 * @see \MyClass::some_function() some description
 * @see \Vendor\Package\ClassName::some_function() some description
 * @see MyClass::some_function() some description
 * @see Vendor\Package\ClassName::some_function() some description
 */
---
(document
  (tag
    (tag_name)
    (fqsen (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))
      (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))
      (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name))
    (description (text))))

=====================
@see w/ FQSEN for properties w/ description
=====================
/**
 * @see $some_variable some description
 * @see \MyClass::$someProp some description
 * @see \Vendor\Package\ClassName::$someProp some description
 * @see MyClass::$someProp some description
 * @see Vendor\Package\ClassName::$someProp some description
 */
---
(document
  (tag
    (tag_name)
    (fqsen
      (variable_name (name)))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))
      (variable_name (name)))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (variable_name (name)))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))
      (variable_name (name)))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (variable_name (name)))
    (description (text))))

=====================
@see w/ FQSEN for class constants w/ description
=====================
/**
 * @see \MyClass::SOME_CONSTANT some description
 * @see \Vendor\Package\ClassName::SOME_CONSTANT some description
 * @see MyClass::SOME_CONSTANT some description
 * @see Vendor\Package\ClassName::SOME_CONSTANT some description
 */
---
(document
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (name)))
      (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type (name))
      (name))
    (description (text)))
  (tag
    (tag_name)
    (fqsen
      (named_type
        (qualified_name
          (namespace_name
            (name)
            (name))
          (name)))
      (name))
    (description (text))))

=====================
@mixin
=====================
/**
 * @mixin \MyClass
 * @mixin \Vendor\Package\ClassName
 * @mixin MyClass
 * @mixin Vendor\Package\ClassName
 */
---
(document
  (tag
    (tag_name)
    (named_type
      (qualified_name
        (name))))
  (tag
    (tag_name)
    (named_type
      (qualified_name
        (namespace_name
          (name)
          (name))
        (name))))
  (tag
    (tag_name)
    (named_type (name)))
  (tag
    (tag_name)
    (named_type
      (qualified_name
        (namespace_name
          (name)
          (name))
        (name)))))

