/**
 * @param string|null $parameter a parameter
 * @return self
 * @var MyClass[int]
 * @throws \foo\MyException if something bad happens
 */

/**
 * @param callback $parameter
 * @param resource $parameter
 * @param boolean $parameter
 * @param integer $parameter
 * @param double $parameter
 * @param object $parameter
 * @param string $parameter
 * @param array $parameter
 * @param false $parameter
 * @param float $parameter
 * @param mixed $parameter
 * @param bool $parameter
 * @param null $parameter
 * @param self $parameter
 * @param true $parameter
 * @param void $parameter
 * @param int $parameter
 */

----------------------------------------------------

[
	"/**\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "string"],
		["punctuation", "|"],
		["keyword", "null"]
	]],
	["parameter", "$parameter"],
	" a parameter\r\n * ",
	["keyword", "@return"],
	["class-name", [
		["keyword", "self"]
	]],

	"\r\n * ",
	["keyword", "@var"],
	["class-name", [
		"MyClass",
		["punctuation", "["],
		["keyword", "int"],
		["punctuation", "]"]
	]],

	"\r\n * ",
	["keyword", "@throws"],
	["class-name", [
		["punctuation", "\\"],
		"foo",
		["punctuation", "\\"],
		"MyException"
	]],
	" if something bad happens\r\n */\r\n\r\n/**\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "callback"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "resource"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "boolean"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "integer"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "double"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "object"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "string"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "array"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "false"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "float"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "mixed"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "bool"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "null"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "self"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "true"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "void"]
	]],
	["parameter", "$parameter"],

	"\r\n * ",
	["keyword", "@param"],
	["class-name", [
		["keyword", "int"]
	]],
	["parameter", "$parameter"],

	"\r\n */"
]

----------------------------------------------------

Checks for class names.
