From 048f2c5f38e62b2c25ded54d6c49c827334072ff Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Fri, 26 Aug 2022 15:44:00 -0400 Subject: [PATCH] Start to add 256 color rendering support --- src/ANSI.php | 41 +- src/Editor.php | 7 +- src/Enum/Color.php | 4 + src/Enum/Color256.php | 31 + src/Enum/Highlight.php | 9 + src/config.php | 5 +- test.php | 6 +- .../EditorTest__testOpenPHP__1.json | 4823 +++++++++-------- 8 files changed, 2682 insertions(+), 2244 deletions(-) create mode 100644 src/Enum/Color256.php diff --git a/src/ANSI.php b/src/ANSI.php index a75b71c..460c80c 100644 --- a/src/ANSI.php +++ b/src/ANSI.php @@ -2,6 +2,9 @@ namespace Aviat\Kilo; +use Aviat\Kilo\Enum\Color; +use Aviat\Kilo\Enum\Color256; + /** * ANSI */ @@ -58,14 +61,48 @@ class ANSI { /** * Generate the ascii sequence for basic foreground text color * - * @param Enum\Color $color + * @param Color|Color256|int $color + * @param Color $ground * @return string */ - public static function color(Enum\Color $color): string + public static function color(Enum\Color | Enum\Color256 | int $color, Enum\Color $ground = Enum\Color::Fg): string { + if ( ! $color instanceof Enum\Color) + { + return self::color256($color, $ground); + } + return self::escapeSequence('%dm', $color->value); } + /** + * Generate the ANSI sequence for a 256 mode color + * + * @param Color256 | int $color + * @param Color $ground + * @return string + */ + public static function color256(Enum\Color256 | int $color, Enum\Color $ground = Enum\Color::Fg): string + { + if ($color instanceof Enum\Color256) + { + $color = $color->value; + } + + return self::escapeSequence('%d;5;%dm', $ground->value, $color); + } + + /** + * Invert the foreground/background on a text segment + * + * @param string $text + * @return string + */ + public static function invert(string $text): string + { + return self::INVERSE_TEXT . $text . self::RESET_TEXT; + } + /** * Generate a sequence for an rgb color * diff --git a/src/Editor.php b/src/Editor.php index d5feaea..fe12c6e 100644 --- a/src/Editor.php +++ b/src/Editor.php @@ -5,6 +5,7 @@ namespace Aviat\Kilo; use Aviat\Kilo\Type\TerminalSize; use Aviat\Kilo\Enum\{ Color, + Color256, RawKeyCode, KeyType, Highlight, @@ -429,9 +430,7 @@ class Editor { $sym = (ord($ch) <= 26) ? chr(ord('@') + ord($ch)) : '?'; - $this->outputBuffer .= ANSI::color(Color::INVERT); - $this->outputBuffer .= $sym; - $this->outputBuffer .= ANSI::RESET_TEXT; + $this->outputBuffer .= ANSI::invert($sym); if ($currentColor !== -1) { $this->outputBuffer .= ANSI::color($currentColor); @@ -496,7 +495,7 @@ class Editor { protected function drawStatusBar(): void { - $this->outputBuffer .= ANSI::color(Color::INVERT); + $this->outputBuffer .= ANSI::INVERSE_TEXT; $statusFilename = $this->document->filename !== '' ? $this->document->filename : '[No Name]'; $syntaxType = $this->document->fileType->name; diff --git a/src/Enum/Color.php b/src/Enum/Color.php index 1f1f064..922c617 100644 --- a/src/Enum/Color.php +++ b/src/Enum/Color.php @@ -11,6 +11,10 @@ use Aviat\Kilo\Traits; enum Color: int { use Traits\ConstList; + // Foreground/Background + case Fg = 38; + case Bg = 48; + // Foreground colors case FG_BLACK = 30; case FG_RED = 31; diff --git a/src/Enum/Color256.php b/src/Enum/Color256.php new file mode 100644 index 0000000..54b4d17 --- /dev/null +++ b/src/Enum/Color256.php @@ -0,0 +1,31 @@ + Highlight::Invalid, + // Comments + T_DOC_COMMENT => Highlight::MultiLineComment, + + T_INLINE_HTML => Highlight::Embed, + default => Highlight::Normal, }; } diff --git a/src/config.php b/src/config.php index d7fd54b..53a4de6 100644 --- a/src/config.php +++ b/src/config.php @@ -3,15 +3,16 @@ namespace Aviat\Kilo; use Aviat\Kilo\Enum\Color; +use Aviat\Kilo\Enum\Color256; use Aviat\Kilo\Enum\Highlight; /** * Configure syntax highlighting colors * * @param Highlight $hl - * @return Color + * @return Color | Color256 | int */ -function get_syntax_color(Highlight $hl): Color { +function get_syntax_color(Highlight $hl): Color | Color256 | int { return match ($hl) { Highlight::Comment => Color::FG_CYAN, diff --git a/test.php b/test.php index 2613bdd..d2b31a2 100644 --- a/test.php +++ b/test.php @@ -17,6 +17,7 @@ abstract class Foo implements Ifoo { protected function doNothing(): void {} } +#[Attribute] class Test { public function __construct(public string $foo, public string $bar) {} } @@ -30,9 +31,12 @@ class FooBar extends Foo implements Ifoo { $cstr = print_r($c, TRUE); $d(); - return "{$a}, ${b}, " . $cstr; + $r = $this->operations($a, (int)$b); + + return "{$a}, ${b}, " . $cstr . " = {$r}"; } + #[Test('a', 'b')] private function operations(int $a, int $b): int { $this?->x?->bar(); diff --git a/tests/__snapshots__/EditorTest__testOpenPHP__1.json b/tests/__snapshots__/EditorTest__testOpenPHP__1.json index 0101b88..a47c90a 100644 --- a/tests/__snapshots__/EditorTest__testOpenPHP__1.json +++ b/tests/__snapshots__/EditorTest__testOpenPHP__1.json @@ -619,183 +619,195 @@ "19": [], "20": [ { - "type": 333, - "typeName": "T_CLASS", - "char": "class", - "line": 20 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", + "type": 351, + "typeName": "T_ATTRIBUTE", + "char": "#[", "line": 20 }, { "type": 262, "typeName": "T_STRING", - "char": "Test", + "char": "Attribute", "line": 20 }, { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", + "type": 93, + "typeName": "]", + "char": "]", "line": 20 }, - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 20 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 20 - } - ], - "21": [ - { - "type": 326, - "typeName": "T_PUBLIC", - "char": "public", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 310, - "typeName": "T_FUNCTION", - "char": "function", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "__construct", - "line": 21 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 21 - }, - { - "type": 326, - "typeName": "T_PUBLIC", - "char": "public", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "string", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$foo", - "line": 21 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 326, - "typeName": "T_PUBLIC", - "char": "public", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "string", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$bar", - "line": 21 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 21 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 21 - }, - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 21 - }, - { - "type": 125, - "typeName": "}", - "char": "}", - "line": 21 - }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n", + "line": 20 + } + ], + "21": [ + { + "type": 333, + "typeName": "T_CLASS", + "char": "class", + "line": 21 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 21 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "Test", + "line": 21 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 21 + }, + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 21 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 21 } ], "22": [ + { + "type": 326, + "typeName": "T_PUBLIC", + "char": "public", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 310, + "typeName": "T_FUNCTION", + "char": "function", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "__construct", + "line": 22 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 22 + }, + { + "type": 326, + "typeName": "T_PUBLIC", + "char": "public", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "string", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$foo", + "line": 22 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 326, + "typeName": "T_PUBLIC", + "char": "public", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "string", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$bar", + "line": 22 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 22 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 22 + }, + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 22 + }, { "type": 125, "typeName": "}", @@ -805,17 +817,31 @@ { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": "\n", "line": 22 } ], - "23": [], - "24": [ + "23": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 23 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 23 + } + ], + "24": [], + "25": [ { "type": 388, "typeName": "T_DOC_COMMENT", "char": "\/**", - "line": 24, + "line": 25, "original": { "string": "\/**\n * Docblock comment\n *\/", "lines": [ @@ -826,131 +852,33 @@ } } ], - "25": [ - { - "type": -1, - "typeName": "RAW", - "char": " * Docblock comment", - "line": 25 - } - ], "26": [ { "type": -1, "typeName": "RAW", - "char": " *\/", - "line": 26 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n", + "char": " * Docblock comment", "line": 26 } ], "27": [ { - "type": 333, - "typeName": "T_CLASS", - "char": "class", + "type": -1, + "typeName": "RAW", + "char": " *\/", "line": 27 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": " ", - "line": 27 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "FooBar", - "line": 27 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 27 - }, - { - "type": 337, - "typeName": "T_EXTENDS", - "char": "extends", - "line": 27 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 27 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "Foo", - "line": 27 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 27 - }, - { - "type": 338, - "typeName": "T_IMPLEMENTS", - "char": "implements", - "line": 27 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 27 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "Ifoo", - "line": 27 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 27 - }, - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 27 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n", "line": 27 } ], "28": [ { - "type": 326, - "typeName": "T_PUBLIC", - "char": "public", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 310, - "typeName": "T_FUNCTION", - "char": "function", + "type": 333, + "typeName": "T_CLASS", + "char": "class", "line": 28 }, { @@ -962,19 +890,7 @@ { "type": 262, "typeName": "T_STRING", - "char": "bar", - "line": 28 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 28 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "int", + "char": "FooBar", "line": 28 }, { @@ -984,15 +900,9 @@ "line": 28 }, { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 28 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 337, + "typeName": "T_EXTENDS", + "char": "extends", "line": 28 }, { @@ -1004,7 +914,7 @@ { "type": 262, "typeName": "T_STRING", - "char": "float", + "char": "Foo", "line": 28 }, { @@ -1014,75 +924,9 @@ "line": 28 }, { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 28 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 341, - "typeName": "T_ARRAY", - "char": "array", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 28 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 342, - "typeName": "T_CALLABLE", - "char": "callable", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$d", - "line": 28 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 338, + "typeName": "T_IMPLEMENTS", + "char": "implements", "line": 28 }, { @@ -1094,7 +938,7 @@ { "type": 262, "typeName": "T_STRING", - "char": "string", + "char": "Ifoo", "line": 28 }, { @@ -1104,57 +948,9 @@ "line": 28 }, { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$e", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'default'", - "line": 28 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 28 - }, - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 28 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "string", + "type": 123, + "typeName": "{", + "char": "{", "line": 28 }, { @@ -1166,89 +962,239 @@ ], "29": [ { - "type": 123, - "typeName": "{", - "char": "{", + "type": 326, + "typeName": "T_PUBLIC", + "char": "public", "line": 29 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", "line": 29 - } - ], - "30": [ + }, { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$cstr", - "line": 30 + "type": 310, + "typeName": "T_FUNCTION", + "char": "function", + "line": 29 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 30 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 30 + "line": 29 }, { "type": 262, "typeName": "T_STRING", - "char": "print_r", - "line": 30 + "char": "bar", + "line": 29 }, { "type": 40, "typeName": "(", "char": "(", - "line": 30 + "line": 29 }, { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 30 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 30 + "type": 262, + "typeName": "T_STRING", + "char": "int", + "line": 29 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 29 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 29 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 }, { "type": 262, "typeName": "T_STRING", - "char": "TRUE", - "line": 30 + "char": "float", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 29 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 341, + "typeName": "T_ARRAY", + "char": "array", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 29 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 342, + "typeName": "T_CALLABLE", + "char": "callable", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$d", + "line": 29 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "string", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$e", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'default'", + "line": 29 }, { "type": 41, "typeName": ")", "char": ")", - "line": 30 + "line": 29 }, { - "type": 59, - "typeName": ";", - "char": ";", + "type": 58, + "typeName": ":", + "char": ":", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "string", + "line": 29 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 29 + } + ], + "30": [ + { + "type": 123, + "typeName": "{", + "char": "{", "line": 30 }, { @@ -1262,7 +1208,31 @@ { "type": 266, "typeName": "T_VARIABLE", - "char": "$d", + "char": "$cstr", + "line": 31 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 31 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 31 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 31 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "print_r", "line": 31 }, { @@ -1271,6 +1241,30 @@ "char": "(", "line": 31 }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 31 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 31 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 31 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "TRUE", + "line": 31 + }, { "type": 41, "typeName": ")", @@ -1286,141 +1280,147 @@ { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n ", + "char": "\n ", "line": 31 } ], - "32": [], - "33": [ - { - "type": 313, - "typeName": "T_RETURN", - "char": "return", - "line": 33 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 33 - }, - { - "type": 34, - "typeName": "\"", - "char": "\"", - "line": 33 - }, - { - "type": 396, - "typeName": "T_CURLY_OPEN", - "char": "{", - "line": 33 - }, + "32": [ { "type": 266, "typeName": "T_VARIABLE", - "char": "$a", - "line": 33 + "char": "$d", + "line": 32 }, { - "type": 125, - "typeName": "}", - "char": "}", - "line": 33 + "type": 40, + "typeName": "(", + "char": "(", + "line": 32 }, { - "type": 268, - "typeName": "T_ENCAPSED_AND_WHITESPACE", - "char": ", ", - "line": 33 - }, - { - "type": 395, - "typeName": "T_DOLLAR_OPEN_CURLY_BRACES", - "char": "${", - "line": 33 - }, - { - "type": 270, - "typeName": "T_STRING_VARNAME", - "char": "b", - "line": 33 - }, - { - "type": 125, - "typeName": "}", - "char": "}", - "line": 33 - }, - { - "type": 268, - "typeName": "T_ENCAPSED_AND_WHITESPACE", - "char": ", ", - "line": 33 - }, - { - "type": 34, - "typeName": "\"", - "char": "\"", - "line": 33 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 33 - }, - { - "type": 46, - "typeName": ".", - "char": ".", - "line": 33 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 33 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$cstr", - "line": 33 + "type": 41, + "typeName": ")", + "char": ")", + "line": 32 }, { "type": 59, "typeName": ";", "char": ";", - "line": 33 + "line": 32 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 33 + "char": "\n\n ", + "line": 32 } ], + "33": [], "34": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$r", "line": 34 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n ", + "char": " ", + "line": 34 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 34 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 34 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$this", + "line": 34 + }, + { + "type": 384, + "typeName": "T_OBJECT_OPERATOR", + "char": "->", + "line": 34 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "operations", + "line": 34 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 34 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 34 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 34 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 34 + }, + { + "type": 377, + "typeName": "T_INT_CAST", + "char": "(int)", + "line": 34 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 34 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 34 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 34 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n ", "line": 34 } ], "35": [], "36": [ { - "type": 324, - "typeName": "T_PRIVATE", - "char": "private", + "type": 313, + "typeName": "T_RETURN", + "char": "return", "line": 36 }, { @@ -1430,39 +1430,15 @@ "line": 36 }, { - "type": 310, - "typeName": "T_FUNCTION", - "char": "function", + "type": 34, + "typeName": "\"", + "char": "\"", "line": 36 }, { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 36 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "operations", - "line": 36 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 36 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "int", - "line": 36 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", + "type": 396, + "typeName": "T_CURLY_OPEN", + "char": "{", "line": 36 }, { @@ -1472,9 +1448,45 @@ "line": 36 }, { - "type": 44, - "typeName": ",", - "char": ",", + "type": 125, + "typeName": "}", + "char": "}", + "line": 36 + }, + { + "type": 268, + "typeName": "T_ENCAPSED_AND_WHITESPACE", + "char": ", ", + "line": 36 + }, + { + "type": 395, + "typeName": "T_DOLLAR_OPEN_CURLY_BRACES", + "char": "${", + "line": 36 + }, + { + "type": 270, + "typeName": "T_STRING_VARNAME", + "char": "b", + "line": 36 + }, + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 36 + }, + { + "type": 268, + "typeName": "T_ENCAPSED_AND_WHITESPACE", + "char": ", ", + "line": 36 + }, + { + "type": 34, + "typeName": "\"", + "char": "\"", "line": 36 }, { @@ -1484,9 +1496,9 @@ "line": 36 }, { - "type": 262, - "typeName": "T_STRING", - "char": "int", + "type": 46, + "typeName": ".", + "char": ".", "line": 36 }, { @@ -1498,19 +1510,7 @@ { "type": 266, "typeName": "T_VARIABLE", - "char": "$b", - "line": 36 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 36 - }, - { - "type": 58, - "typeName": ":", - "char": ":", + "char": "$cstr", "line": 36 }, { @@ -1520,9 +1520,57 @@ "line": 36 }, { - "type": 262, - "typeName": "T_STRING", - "char": "int", + "type": 46, + "typeName": ".", + "char": ".", + "line": 36 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 36 + }, + { + "type": 34, + "typeName": "\"", + "char": "\"", + "line": 36 + }, + { + "type": 268, + "typeName": "T_ENCAPSED_AND_WHITESPACE", + "char": " = ", + "line": 36 + }, + { + "type": 396, + "typeName": "T_CURLY_OPEN", + "char": "{", + "line": 36 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$r", + "line": 36 + }, + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 36 + }, + { + "type": 34, + "typeName": "\"", + "char": "\"", + "line": 36 + }, + { + "type": 59, + "typeName": ";", + "char": ";", "line": 36 }, { @@ -1534,484 +1582,616 @@ ], "37": [ { - "type": 123, - "typeName": "{", - "char": "{", + "type": 125, + "typeName": "}", + "char": "}", "line": 37 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n\n ", "line": 37 } ], - "38": [ + "38": [], + "39": [ { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$this", - "line": 38 - }, - { - "type": 385, - "typeName": "T_NULLSAFE_OBJECT_OPERATOR", - "char": "?->", - "line": 38 + "type": 351, + "typeName": "T_ATTRIBUTE", + "char": "#[", + "line": 39 }, { "type": 262, "typeName": "T_STRING", - "char": "x", - "line": 38 - }, - { - "type": 385, - "typeName": "T_NULLSAFE_OBJECT_OPERATOR", - "char": "?->", - "line": 38 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "bar", - "line": 38 + "char": "Test", + "line": 39 }, { "type": 40, "typeName": "(", "char": "(", - "line": 38 + "line": 39 + }, + { + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'a'", + "line": 39 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 39 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 39 + }, + { + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'b'", + "line": 39 }, { "type": 41, "typeName": ")", "char": ")", - "line": 38 + "line": 39 }, { - "type": 59, - "typeName": ";", - "char": ";", - "line": 38 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 38 - } - ], - "39": [], - "40": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$this", - "line": 40 - }, - { - "type": 384, - "typeName": "T_OBJECT_OPERATOR", - "char": "->", - "line": 40 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "doNothing", - "line": 40 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 40 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 40 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 40 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 40 - } - ], - "41": [], - "42": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 42 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 42 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 42 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 42 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 42 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 42 - }, - { - "type": 43, - "typeName": "+", - "char": "+", - "line": 42 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 42 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 42 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 42 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 42 - } - ], - "43": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 43 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 43 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 43 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 43 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 43 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 43 - }, - { - "type": 45, - "typeName": "-", - "char": "-", - "line": 43 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 43 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 43 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 43 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 43 - } - ], - "44": [], - "45": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 45 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 45 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 45 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 45 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 45 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 45 - }, - { - "type": 42, - "typeName": "*", - "char": "*", - "line": 45 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 45 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 45 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 45 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 45 - } - ], - "46": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 46 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 46 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 46 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 46 - }, - { - "type": 377, - "typeName": "T_INT_CAST", - "char": "(int)", - "line": 46 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 46 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 46 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 46 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 46 - }, - { - "type": 47, - "typeName": "\/", - "char": "\/", - "line": 46 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 46 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 46 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 46 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 46 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 46 - } - ], - "47": [], - "48": [ - { - "type": 313, - "typeName": "T_RETURN", - "char": "return", - "line": 48 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 48 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 48 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 48 + "type": 93, + "typeName": "]", + "char": "]", + "line": 39 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 48 + "line": 39 } ], + "40": [ + { + "type": 324, + "typeName": "T_PRIVATE", + "char": "private", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 40 + }, + { + "type": 310, + "typeName": "T_FUNCTION", + "char": "function", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 40 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "operations", + "line": 40 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 40 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "int", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 40 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 40 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 40 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "int", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 40 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 40 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 40 + }, + { + "type": 58, + "typeName": ":", + "char": ":", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 40 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "int", + "line": 40 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 40 + } + ], + "41": [ + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 41 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 41 + } + ], + "42": [ + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$this", + "line": 42 + }, + { + "type": 385, + "typeName": "T_NULLSAFE_OBJECT_OPERATOR", + "char": "?->", + "line": 42 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "x", + "line": 42 + }, + { + "type": 385, + "typeName": "T_NULLSAFE_OBJECT_OPERATOR", + "char": "?->", + "line": 42 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "bar", + "line": 42 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 42 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 42 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 42 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n ", + "line": 42 + } + ], + "43": [], + "44": [ + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$this", + "line": 44 + }, + { + "type": 384, + "typeName": "T_OBJECT_OPERATOR", + "char": "->", + "line": 44 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "doNothing", + "line": 44 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 44 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 44 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 44 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n ", + "line": 44 + } + ], + "45": [], + "46": [ + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 46 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 46 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 46 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 46 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 46 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 46 + }, + { + "type": 43, + "typeName": "+", + "char": "+", + "line": 46 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 46 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 46 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 46 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 46 + } + ], + "47": [ + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 47 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 47 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 47 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 47 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 47 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 47 + }, + { + "type": 45, + "typeName": "-", + "char": "-", + "line": 47 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 47 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 47 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 47 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n ", + "line": 47 + } + ], + "48": [], "49": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", "line": 49 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n", + "char": " ", + "line": 49 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 49 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 49 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 49 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 49 + }, + { + "type": 42, + "typeName": "*", + "char": "*", + "line": 49 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 49 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 49 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 49 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 49 } ], "50": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$b", "line": 50 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 50 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 50 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 + }, + { + "type": 377, + "typeName": "T_INT_CAST", + "char": "(int)", + "line": 50 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 50 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 50 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 + }, + { + "type": 47, + "typeName": "\/", + "char": "\/", + "line": 50 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 50 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 50 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 50 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n ", "line": 50 } ], "51": [], "52": [ { - "type": 334, - "typeName": "T_TRAIT", - "char": "trait", + "type": 313, + "typeName": "T_RETURN", + "char": "return", "line": 52 }, { @@ -2021,21 +2201,15 @@ "line": 52 }, { - "type": 262, - "typeName": "T_STRING", - "char": "Baz", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$c", "line": 52 }, { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 52 - }, - { - "type": 123, - "typeName": "{", - "char": "{", + "type": 59, + "typeName": ";", + "char": ";", "line": 52 }, { @@ -2047,161 +2221,76 @@ ], "53": [ { - "type": 326, - "typeName": "T_PUBLIC", - "char": "public", + "type": 125, + "typeName": "}", + "char": "}", "line": 53 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": " ", - "line": 53 - }, - { - "type": 310, - "typeName": "T_FUNCTION", - "char": "function", - "line": 53 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 53 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "about", - "line": 53 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 53 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 53 - }, - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 53 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 53 - }, - { - "type": 341, - "typeName": "T_ARRAY", - "char": "array", - "line": 53 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n", "line": 53 } ], "54": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 54 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 54 + } + ], + "55": [], + "56": [ + { + "type": 334, + "typeName": "T_TRAIT", + "char": "trait", + "line": 56 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 56 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "Baz", + "line": 56 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 56 + }, { "type": 123, "typeName": "{", "char": "{", - "line": 54 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 54 - } - ], - "55": [ - { - "type": 313, - "typeName": "T_RETURN", - "char": "return", - "line": 55 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 55 - }, - { - "type": 91, - "typeName": "[", - "char": "[", - "line": 55 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 55 - } - ], - "56": [ - { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__CLASS__'", "line": 56 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": " ", - "line": 56 - }, - { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 56 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 56 - }, - { - "type": 346, - "typeName": "T_CLASS_C", - "char": "__CLASS__", - "line": 56 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 56 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n ", "line": 56 } ], "57": [ { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__DIR__'", + "type": 326, + "typeName": "T_PUBLIC", + "char": "public", "line": 57 }, { @@ -2211,9 +2300,9 @@ "line": 57 }, { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", + "type": 310, + "typeName": "T_FUNCTION", + "char": "function", "line": 57 }, { @@ -2223,73 +2312,67 @@ "line": 57 }, { - "type": 345, - "typeName": "T_DIR", - "char": "__DIR__", + "type": 262, + "typeName": "T_STRING", + "char": "about", "line": 57 }, { - "type": 44, - "typeName": ",", - "char": ",", + "type": 40, + "typeName": "(", + "char": "(", + "line": 57 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 57 + }, + { + "type": 58, + "typeName": ":", + "char": ":", "line": 57 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", + "line": 57 + }, + { + "type": 341, + "typeName": "T_ARRAY", + "char": "array", + "line": 57 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 57 } ], "58": [ { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__FILE__'", + "type": 123, + "typeName": "{", + "char": "{", "line": 58 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": " ", - "line": 58 - }, - { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 58 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 58 - }, - { - "type": 344, - "typeName": "T_FILE", - "char": "__FILE__", - "line": 58 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 58 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n ", "line": 58 } ], "59": [ { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__FUNCTION__'", + "type": 313, + "typeName": "T_RETURN", + "char": "return", "line": 59 }, { @@ -2299,27 +2382,9 @@ "line": 59 }, { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 59 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 59 - }, - { - "type": 349, - "typeName": "T_FUNC_C", - "char": "__FUNCTION__", - "line": 59 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 91, + "typeName": "[", + "char": "[", "line": 59 }, { @@ -2333,7 +2398,7 @@ { "type": 269, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__LINE__'", + "char": "'__CLASS__'", "line": 60 }, { @@ -2355,9 +2420,9 @@ "line": 60 }, { - "type": 343, - "typeName": "T_LINE", - "char": "__LINE__", + "type": 346, + "typeName": "T_CLASS_C", + "char": "__CLASS__", "line": 60 }, { @@ -2377,7 +2442,7 @@ { "type": 269, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__METHOD__'", + "char": "'__DIR__'", "line": 61 }, { @@ -2399,9 +2464,9 @@ "line": 61 }, { - "type": 348, - "typeName": "T_METHOD_C", - "char": "__METHOD__", + "type": 345, + "typeName": "T_DIR", + "char": "__DIR__", "line": 61 }, { @@ -2421,7 +2486,7 @@ { "type": 269, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__NAMESPACE__'", + "char": "'__FILE__'", "line": 62 }, { @@ -2443,9 +2508,9 @@ "line": 62 }, { - "type": 350, - "typeName": "T_NS_C", - "char": "__NAMESPACE__", + "type": 344, + "typeName": "T_FILE", + "char": "__FILE__", "line": 62 }, { @@ -2465,7 +2530,7 @@ { "type": 269, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__TRAIT__'", + "char": "'__FUNCTION__'", "line": 63 }, { @@ -2487,9 +2552,9 @@ "line": 63 }, { - "type": 347, - "typeName": "T_TRAIT_C", - "char": "__TRAIT__", + "type": 349, + "typeName": "T_FUNC_C", + "char": "__FUNCTION__", "line": 63 }, { @@ -2501,88 +2566,197 @@ { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n ", "line": 63 } ], "64": [ { - "type": 93, - "typeName": "]", - "char": "]", - "line": 64 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__LINE__'", "line": 64 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", + "line": 64 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 64 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 64 + }, + { + "type": 343, + "typeName": "T_LINE", + "char": "__LINE__", + "line": 64 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 64 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 64 } ], "65": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__METHOD__'", "line": 65 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n", + "char": " ", + "line": 65 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 65 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 65 + }, + { + "type": 348, + "typeName": "T_METHOD_C", + "char": "__METHOD__", + "line": 65 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 65 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 65 } ], "66": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__NAMESPACE__'", "line": 66 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 66 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 66 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 66 + }, + { + "type": 350, + "typeName": "T_NS_C", + "char": "__NAMESPACE__", + "line": 66 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 66 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 66 } ], - "67": [], + "67": [ + { + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__TRAIT__'", + "line": 67 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 67 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 67 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 67 + }, + { + "type": 347, + "typeName": "T_TRAIT_C", + "char": "__TRAIT__", + "line": 67 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 67 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 67 + } + ], "68": [ { - "type": 333, - "typeName": "T_CLASS", - "char": "class", + "type": 93, + "typeName": "]", + "char": "]", "line": 68 }, { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 68 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "BazFoo", - "line": 68 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 68 - }, - { - "type": 123, - "typeName": "{", - "char": "{", + "type": 59, + "typeName": ";", + "char": ";", "line": 68 }, { @@ -2594,27 +2768,9 @@ ], "69": [ { - "type": 318, - "typeName": "T_USE", - "char": "use", - "line": 69 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 69 - }, - { - "type": 262, - "typeName": "T_STRING", - "char": "Baz", - "line": 69 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 125, + "typeName": "}", + "char": "}", "line": 69 }, { @@ -2641,9 +2797,9 @@ "71": [], "72": [ { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$square", + "type": 333, + "typeName": "T_CLASS", + "char": "class", "line": 72 }, { @@ -2652,40 +2808,10 @@ "char": " ", "line": 72 }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 72 - }, - { - "type": 311, - "typeName": "T_FN", - "char": "fn", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 72 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 72 - }, { "type": 262, "typeName": "T_STRING", - "char": "int", + "char": "BazFoo", "line": 72 }, { @@ -2694,233 +2820,71 @@ "char": " ", "line": 72 }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 72 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 72 - }, - { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 72 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 72 - }, - { - "type": 401, - "typeName": "T_POW", - "char": "**", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 72 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "2", - "line": 72 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 72 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n\n", - "line": 72 - } - ], - "73": [], - "74": [ - { - "type": 297, - "typeName": "T_FOREACH", - "char": "foreach", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 74 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 74 - }, - { - "type": 91, - "typeName": "[", - "char": "[", - "line": 74 - }, - { - "type": 45, - "typeName": "-", - "char": "-", - "line": 74 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "1", - "line": 74 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 74 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "0", - "line": 74 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 74 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "1", - "line": 74 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 74 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "2", - "line": 74 - }, - { - "type": 93, - "typeName": "]", - "char": "]", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 74 - }, - { - "type": 301, - "typeName": "T_AS", - "char": "as", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 74 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 74 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 74 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n", - "line": 74 - } - ], - "75": [ { "type": 123, "typeName": "{", "char": "{", - "line": 75 + "line": 72 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 75 + "line": 72 } ], + "73": [ + { + "type": 318, + "typeName": "T_USE", + "char": "use", + "line": 73 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 73 + }, + { + "type": 262, + "typeName": "T_STRING", + "char": "Baz", + "line": 73 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 73 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 73 + } + ], + "74": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 74 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 74 + } + ], + "75": [], "76": [ { "type": 266, "typeName": "T_VARIABLE", - "char": "$not", + "char": "$square", "line": 76 }, { @@ -2942,9 +2906,9 @@ "line": 76 }, { - "type": 306, - "typeName": "T_MATCH", - "char": "match", + "type": 311, + "typeName": "T_FN", + "char": "fn", "line": 76 }, { @@ -2959,6 +2923,18 @@ "char": "(", "line": 76 }, + { + "type": 262, + "typeName": "T_STRING", + "char": "int", + "line": 76 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 76 + }, { "type": 266, "typeName": "T_VARIABLE", @@ -2977,74 +2953,85 @@ "char": " ", "line": 76 }, - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 76 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 76 - } - ], - "77": [ - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "0", - "line": 77 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 77 - }, { "type": 386, "typeName": "T_DOUBLE_ARROW", "char": "=>", - "line": 77 + "line": 76 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 77 + "line": 76 }, { - "type": 260, - "typeName": "T_LNUMBER", - "char": "1", - "line": 77 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 77 + "type": 266, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 76 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 77 - } - ], - "78": [ + "char": " ", + "line": 76 + }, + { + "type": 401, + "typeName": "T_POW", + "char": "**", + "line": 76 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 76 + }, { "type": 260, "typeName": "T_LNUMBER", - "char": "1", + "char": "2", + "line": 76 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 76 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 76 + } + ], + "77": [], + "78": [ + { + "type": 297, + "typeName": "T_FOREACH", + "char": "foreach", "line": 78 }, { - "type": 44, - "typeName": ",", - "char": ",", + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 78 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 78 + }, + { + "type": 91, + "typeName": "[", + "char": "[", "line": 78 }, { @@ -3060,15 +3047,9 @@ "line": 78 }, { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 78 - }, - { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", + "type": 44, + "typeName": ",", + "char": ",", "line": 78 }, { @@ -3092,45 +3073,81 @@ { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", + "line": 78 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "1", + "line": 78 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 78 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 78 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "2", + "line": 78 + }, + { + "type": 93, + "typeName": "]", + "char": "]", + "line": 78 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 78 + }, + { + "type": 301, + "typeName": "T_AS", + "char": "as", + "line": 78 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 78 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 78 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 78 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n", "line": 78 } ], "79": [ { - "type": 305, - "typeName": "T_DEFAULT", - "char": "default", - "line": 79 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 79 - }, - { - "type": 386, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 79 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 79 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "0", - "line": 79 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 123, + "typeName": "{", + "char": "{", "line": 79 }, { @@ -3142,45 +3159,269 @@ ], "80": [ { - "type": 125, - "typeName": "}", - "char": "}", - "line": 80 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$not", "line": 80 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n", + "char": " ", + "line": 80 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 80 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 80 + }, + { + "type": 306, + "typeName": "T_MATCH", + "char": "match", + "line": 80 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 80 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 80 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 80 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 80 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 80 + }, + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 80 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 80 } ], "81": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 260, + "typeName": "T_LNUMBER", + "char": "0", "line": 81 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 81 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 81 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 81 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "1", + "line": 81 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 81 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 81 } ], - "82": [], + "82": [ + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "1", + "line": 82 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 82 + }, + { + "type": 45, + "typeName": "-", + "char": "-", + "line": 82 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "1", + "line": 82 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 82 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 82 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 82 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "0", + "line": 82 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 82 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 82 + } + ], "83": [ + { + "type": 305, + "typeName": "T_DEFAULT", + "char": "default", + "line": 83 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 83 + }, + { + "type": 386, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 83 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 83 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "0", + "line": 83 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 83 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 83 + } + ], + "84": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 84 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 84 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 84 + } + ], + "85": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 85 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 85 + } + ], + "86": [], + "87": [ { "type": 387, "typeName": "T_COMMENT", "char": "\/*", - "line": 83, + "line": 87, "original": { "string": "\/*\n * Multi-line comment\n *\/", "lines": [ @@ -3191,334 +3432,242 @@ } } ], - "84": [ + "88": [ { "type": -1, "typeName": "RAW", "char": " * Multi-line comment", - "line": 84 + "line": 88 } ], - "85": [ + "89": [ { "type": -1, "typeName": "RAW", "char": " *\/", - "line": 85 + "line": 89 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n", - "line": 85 + "line": 89 } ], - "86": [ + "90": [ { "type": 266, "typeName": "T_VARIABLE", "char": "$foobar", - "line": 86 + "line": 90 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 86 + "line": 90 }, { "type": 61, "typeName": "=", "char": "=", - "line": 86 + "line": 90 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 86 + "line": 90 }, { "type": 284, "typeName": "T_NEW", "char": "new", - "line": 86 + "line": 90 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 86 + "line": 90 }, { "type": 262, "typeName": "T_STRING", "char": "FooBar", - "line": 86 + "line": 90 }, { "type": 40, "typeName": "(", "char": "(", - "line": 86 + "line": 90 }, { "type": 41, "typeName": ")", "char": ")", - "line": 86 + "line": 90 }, { "type": 59, "typeName": ";", "char": ";", - "line": 86 + "line": 90 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 86 + "line": 90 } ], - "87": [], - "88": [ + "91": [], + "92": [ { "type": 266, "typeName": "T_VARIABLE", "char": "$baz", - "line": 88 + "line": 92 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 88 + "line": 92 }, { "type": 61, "typeName": "=", "char": "=", - "line": 88 + "line": 92 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 88 + "line": 92 }, { "type": 91, "typeName": "[", "char": "[", - "line": 88 + "line": 92 }, { "type": 269, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'a'", - "line": 88 + "line": 92 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 88 + "line": 92 }, { "type": 386, "typeName": "T_DOUBLE_ARROW", "char": "=>", - "line": 88 + "line": 92 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 88 + "line": 92 }, { "type": 269, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'b'", - "line": 88 + "line": 92 }, { "type": 93, "typeName": "]", "char": "]", - "line": 88 + "line": 92 }, { "type": 59, "typeName": ";", "char": ";", - "line": 88 + "line": 92 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 88 + "line": 92 } ], - "89": [], - "90": [ + "93": [], + "94": [ { "type": 387, "typeName": "T_COMMENT", "char": "\/\/ C++ style comment", - "line": 90 + "line": 94 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n", - "line": 90 - } - ], - "91": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 91 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 91 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 91 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 91 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "3", - "line": 91 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 91 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n\n", - "line": 91 - } - ], - "92": [], - "93": [ - { - "type": 387, - "typeName": "T_COMMENT", - "char": "# Perl-style comment", - "line": 93 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n", - "line": 93 - } - ], - "94": [ - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$y", - "line": 94 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 94 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 94 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 94 - }, - { - "type": 91, - "typeName": "[", - "char": "[", - "line": 94 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", "line": 94 } ], "95": [ { - "type": 260, - "typeName": "T_LNUMBER", - "char": "1", - "line": 95 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$x", "line": 95 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", "line": 95 - } - ], - "96": [ - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "2", - "line": 96 }, { - "type": 44, - "typeName": ",", - "char": ",", - "line": 96 + "type": 61, + "typeName": "=", + "char": "=", + "line": 95 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 96 - } - ], - "97": [ + "char": " ", + "line": 95 + }, { "type": 260, "typeName": "T_LNUMBER", "char": "3", + "line": 95 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 95 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 95 + } + ], + "96": [], + "97": [ + { + "type": 387, + "typeName": "T_COMMENT", + "char": "# Perl-style comment", "line": 97 }, { @@ -3530,44 +3679,87 @@ ], "98": [ { - "type": 93, - "typeName": "]", - "char": "]", - "line": 98 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 266, + "typeName": "T_VARIABLE", + "char": "$y", "line": 98 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 98 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 98 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 98 + }, + { + "type": 91, + "typeName": "[", + "char": "[", + "line": 98 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 98 } ], - "99": [], + "99": [ + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "1", + "line": 99 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 99 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 99 + } + ], "100": [ { - "type": 387, - "typeName": "T_COMMENT", - "char": "\/\/ Multi-line ternary statement", + "type": 260, + "typeName": "T_LNUMBER", + "char": "2", + "line": 100 + }, + { + "type": 44, + "typeName": ",", + "char": ",", "line": 100 }, { "type": 392, "typeName": "T_WHITESPACE", - "char": "\n", + "char": "\n ", "line": 100 } ], "101": [ { - "type": 387, - "typeName": "T_COMMENT", - "char": "#{Attribute]", + "type": 260, + "typeName": "T_LNUMBER", + "char": "3", "line": 101 }, { @@ -3579,143 +3771,192 @@ ], "102": [ { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$q", + "type": 93, + "typeName": "]", + "char": "]", "line": 102 }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 102 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 102 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 102 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 102 - }, - { - "type": 266, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 102 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 102 - }, - { - "type": 369, - "typeName": "T_IS_NOT_IDENTICAL", - "char": "!==", - "line": 102 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 102 - }, - { - "type": 260, - "typeName": "T_LNUMBER", - "char": "2", - "line": 102 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 102 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 102 - } - ], - "103": [ - { - "type": 63, - "typeName": "?", - "char": "?", - "line": 103 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 103 - }, - { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'yes'", - "line": 103 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 103 - } - ], - "104": [ - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 104 - }, - { - "type": 392, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 104 - }, - { - "type": 269, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'no'", - "line": 104 - }, { "type": 59, "typeName": ";", "char": ";", - "line": 104 + "line": 102 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n\n", + "line": 102 + } + ], + "103": [], + "104": [ + { + "type": 387, + "typeName": "T_COMMENT", + "char": "\/\/ Multi-line ternary statement", + "line": 104 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n", "line": 104 } ], - "105": [], + "105": [ + { + "type": 387, + "typeName": "T_COMMENT", + "char": "#{Attribute]", + "line": 105 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 105 + } + ], "106": [ + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$q", + "line": 106 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 106 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 106 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 106 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 106 + }, + { + "type": 266, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 106 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 106 + }, + { + "type": 369, + "typeName": "T_IS_NOT_IDENTICAL", + "char": "!==", + "line": 106 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 106 + }, + { + "type": 260, + "typeName": "T_LNUMBER", + "char": "2", + "line": 106 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 106 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 106 + } + ], + "107": [ + { + "type": 63, + "typeName": "?", + "char": "?", + "line": 107 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 107 + }, + { + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'yes'", + "line": 107 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 107 + } + ], + "108": [ + { + "type": 58, + "typeName": ":", + "char": ":", + "line": 108 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 108 + }, + { + "type": 269, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'no'", + "line": 108 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 108 + }, + { + "type": 392, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 108 + } + ], + "109": [], + "110": [ { "type": 387, "typeName": "T_COMMENT", "char": "\/*", - "line": 106, + "line": 110, "original": { "string": "\/*\nHeredoc\n*\/", "lines": [ @@ -3726,136 +3967,136 @@ } } ], - "107": [ + "111": [ { "type": -1, "typeName": "RAW", "char": "Heredoc", - "line": 107 + "line": 111 } ], - "108": [ + "112": [ { "type": -1, "typeName": "RAW", "char": "*\/", - "line": 108 + "line": 112 }, { "type": 266, "typeName": "T_VARIABLE", "char": "$z", - "line": 108 + "line": 112 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 108 + "line": 112 }, { "type": 61, "typeName": "=", "char": "=", - "line": 108 + "line": 112 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 108 + "line": 112 }, { "type": 266, "typeName": "T_VARIABLE", "char": "$x", - "line": 108 + "line": 112 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 108 + "line": 112 }, { "type": 43, "typeName": "+", "char": "+", - "line": 108 + "line": 112 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 108 + "line": 112 }, { "type": 266, "typeName": "T_VARIABLE", "char": "$y", - "line": 108 + "line": 112 }, { "type": 91, "typeName": "[", "char": "[", - "line": 108 + "line": 112 }, { "type": 260, "typeName": "T_LNUMBER", "char": "0", - "line": 108 + "line": 112 }, { "type": 93, "typeName": "]", "char": "]", - "line": 108 + "line": 112 }, { "type": 59, "typeName": ";", "char": ";", - "line": 108 + "line": 112 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n", - "line": 108 + "line": 112 } ], - "109": [ + "113": [ { "type": 266, "typeName": "T_VARIABLE", "char": "$sql", - "line": 109 + "line": 113 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 109 + "line": 113 }, { "type": 61, "typeName": "=", "char": "=", - "line": 109 + "line": 113 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 109 + "line": 113 }, { "type": 393, "typeName": "T_START_HEREDOC", "char": "<<{x}<\/foo>", - "line": 115, + "line": 119, "original": { "string": " {x}<\/foo>\n", "lines": [ @@ -3993,33 +4234,33 @@ } } ], - "116": [ + "120": [ { "type": 394, "typeName": "T_END_HEREDOC", "char": "TEMPLATE", - "line": 116 + "line": 120 }, { "type": 59, "typeName": ";", "char": ";", - "line": 116 + "line": 120 }, { "type": 392, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 116 + "line": 120 } ], - "117": [], - "118": [ + "121": [], + "122": [ { "type": 391, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 118, + "line": 122, "original": { "string": "?>\n", "lines": [ @@ -4029,12 +4270,12 @@ } } ], - "119": [ + "123": [ { "type": 267, "typeName": "T_INLINE_HTML", "char": "", - "line": 119, + "line": 123, "original": { "string": "\n\n\nHTML<\/title>\n<\/head>\n<body>\n<h1>Test<\/h1>\n<div>", "lines": [ @@ -4050,43 +4291,11 @@ } } ], - "120": [ - { - "type": -1, - "typeName": "RAW", - "char": "<html lang=\"en\">", - "line": 120 - } - ], - "121": [ - { - "type": -1, - "typeName": "RAW", - "char": "<head>", - "line": 121 - } - ], - "122": [ - { - "type": -1, - "typeName": "RAW", - "char": "<title>HTML<\/title>", - "line": 122 - } - ], - "123": [ - { - "type": -1, - "typeName": "RAW", - "char": "<\/head>", - "line": 123 - } - ], "124": [ { "type": -1, "typeName": "RAW", - "char": "<body>", + "char": "<html lang=\"en\">", "line": 124 } ], @@ -4094,7 +4303,7 @@ { "type": -1, "typeName": "RAW", - "char": "<h1>Test<\/h1>", + "char": "<head>", "line": 125 } ], @@ -4102,146 +4311,178 @@ { "type": -1, "typeName": "RAW", - "char": "<div>", + "char": "<title>HTML<\/title>", "line": 126 + } + ], + "127": [ + { + "type": -1, + "typeName": "RAW", + "char": "<\/head>", + "line": 127 + } + ], + "128": [ + { + "type": -1, + "typeName": "RAW", + "char": "<body>", + "line": 128 + } + ], + "129": [ + { + "type": -1, + "typeName": "RAW", + "char": "<h1>Test<\/h1>", + "line": 129 + } + ], + "130": [ + { + "type": -1, + "typeName": "RAW", + "char": "<div>", + "line": 130 }, { "type": 389, "typeName": "T_OPEN_TAG", "char": "<?php ", - "line": 126 + "line": 130 }, { "type": 266, "typeName": "T_VARIABLE", "char": "$bf", - "line": 126 + "line": 130 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 126 + "line": 130 }, { "type": 61, "typeName": "=", "char": "=", - "line": 126 + "line": 130 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 126 + "line": 130 }, { "type": 284, "typeName": "T_NEW", "char": "new", - "line": 126 + "line": 130 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 126 + "line": 130 }, { "type": 262, "typeName": "T_STRING", "char": "BazFoo", - "line": 126 + "line": 130 }, { "type": 40, "typeName": "(", "char": "(", - "line": 126 + "line": 130 }, { "type": 41, "typeName": ")", "char": ")", - "line": 126 + "line": 130 }, { "type": 59, "typeName": ";", "char": ";", - "line": 126 + "line": 130 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 126 + "line": 130 }, { "type": 262, "typeName": "T_STRING", "char": "print_r", - "line": 126 + "line": 130 }, { "type": 40, "typeName": "(", "char": "(", - "line": 126 + "line": 130 }, { "type": 266, "typeName": "T_VARIABLE", "char": "$bf", - "line": 126 + "line": 130 }, { "type": 384, "typeName": "T_OBJECT_OPERATOR", "char": "->", - "line": 126 + "line": 130 }, { "type": 262, "typeName": "T_STRING", "char": "about", - "line": 126 + "line": 130 }, { "type": 40, "typeName": "(", "char": "(", - "line": 126 + "line": 130 }, { "type": 41, "typeName": ")", "char": ")", - "line": 126 + "line": 130 }, { "type": 41, "typeName": ")", "char": ")", - "line": 126 + "line": 130 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 126 + "line": 130 }, { "type": 391, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 126 + "line": 130 }, { "type": 267, "typeName": "T_INLINE_HTML", "char": "<\/div>", - "line": 126, + "line": 130, "original": { "string": "<\/div>\n<\/body>\n<\/html>\n", "lines": [ @@ -4253,64 +4494,64 @@ } } ], - "127": [ + "131": [ { "type": -1, "typeName": "RAW", "char": "<\/body>", - "line": 127 + "line": 131 } ], - "128": [ + "132": [ { "type": -1, "typeName": "RAW", "char": "<\/html>", - "line": 128 + "line": 132 } ], - "129": [ + "133": [ { "type": 389, "typeName": "T_OPEN_TAG", "char": "<?php ", - "line": 129 + "line": 133 }, { "type": 286, "typeName": "T_EXIT", "char": "exit", - "line": 129 + "line": 133 }, { "type": 40, "typeName": "(", "char": "(", - "line": 129 + "line": 133 }, { "type": 41, "typeName": ")", "char": ")", - "line": 129 + "line": 133 }, { "type": 59, "typeName": ";", "char": ";", - "line": 129 + "line": 133 }, { "type": 392, "typeName": "T_WHITESPACE", "char": " ", - "line": 129 + "line": 133 }, { "type": 391, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 129, + "line": 133, "original": { "string": "?>\n", "lines": [ @@ -4320,7 +4561,7 @@ } } ], - "130": [] + "134": [] }, "filename": "test.php", "rows": [ @@ -4838,6 +5079,24 @@ "hl": [], "idx": 18 }, + { + "render": "#[Attribute]", + "hl": [ + "Delimiter", + "Delimiter", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Delimiter" + ], + "idx": 19 + }, { "render": "class Test {", "hl": [ @@ -4854,7 +5113,7 @@ "Normal", "Delimiter" ], - "idx": 19 + "idx": 20 }, { "render": " public function __construct(public string $foo, public string $bar) {}", @@ -4934,19 +5193,19 @@ "Delimiter", "Delimiter" ], - "idx": 20 + "idx": 21 }, { "render": "}", "hl": [ "Delimiter" ], - "idx": 21 + "idx": 22 }, { "render": "", "hl": [], - "idx": 22 + "idx": 23 }, { "render": "\/**", @@ -4955,7 +5214,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 23 + "idx": 24 }, { "render": " * Docblock comment", @@ -4980,7 +5239,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 24 + "idx": 25 }, { "render": " *\/", @@ -4989,7 +5248,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 25 + "idx": 26 }, { "render": "class FooBar extends Foo implements Ifoo {", @@ -5037,7 +5296,7 @@ "Normal", "Delimiter" ], - "idx": 26 + "idx": 27 }, { "render": " public function bar(int $a, float $b, array $c, callable $d, string $e = 'default'): string", @@ -5138,7 +5397,7 @@ "Identifier", "Identifier" ], - "idx": 27 + "idx": 28 }, { "render": " {", @@ -5149,7 +5408,7 @@ "Normal", "Delimiter" ], - "idx": 28 + "idx": 29 }, { "render": " $cstr = print_r($c, TRUE);", @@ -5189,7 +5448,7 @@ "Delimiter", "Operator" ], - "idx": 29 + "idx": 30 }, { "render": " $d();", @@ -5208,15 +5467,70 @@ "Delimiter", "Operator" ], - "idx": 30 + "idx": 31 }, { "render": "", "hl": [], - "idx": 31 + "idx": 32 }, { - "render": " return \"{$a}, ${b}, \" . $cstr;", + "render": " $r = $this->operations($a, (int)$b);", + "hl": [ + "Normal", + "Normal", + "Normal", + "Normal", + "Normal", + "Normal", + "Normal", + "Normal", + "Variable", + "Variable", + "Normal", + "Operator", + "Normal", + "Variable", + "Variable", + "Variable", + "Variable", + "Variable", + "Operator", + "Operator", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Delimiter", + "Variable", + "Variable", + "Operator", + "Normal", + "Keyword2", + "Keyword2", + "Keyword2", + "Keyword2", + "Keyword2", + "Variable", + "Variable", + "Delimiter", + "Operator" + ], + "idx": 33 + }, + { + "render": "", + "hl": [], + "idx": 34 + }, + { + "render": " return \"{$a}, ${b}, \" . $cstr . \" = {$r}\";", "hl": [ "Normal", "Normal", @@ -5255,9 +5569,21 @@ "Variable", "Variable", "Variable", + "Normal", + "Operator", + "Normal", + "Delimiter", + "String", + "String", + "String", + "Delimiter", + "Variable", + "Variable", + "Delimiter", + "Delimiter", "Operator" ], - "idx": 32 + "idx": 35 }, { "render": " }", @@ -5268,12 +5594,39 @@ "Normal", "Delimiter" ], - "idx": 33 + "idx": 36 }, { "render": "", "hl": [], - "idx": 34 + "idx": 37 + }, + { + "render": " #[Test('a', 'b')]", + "hl": [ + "Normal", + "Normal", + "Normal", + "Normal", + "Delimiter", + "Delimiter", + "Identifier", + "Identifier", + "Identifier", + "Identifier", + "Delimiter", + "String", + "String", + "String", + "Operator", + "Normal", + "String", + "String", + "String", + "Delimiter", + "Delimiter" + ], + "idx": 38 }, { "render": " private function operations(int $a, int $b): int", @@ -5331,7 +5684,7 @@ "Identifier", "Identifier" ], - "idx": 35 + "idx": 39 }, { "render": " {", @@ -5342,7 +5695,7 @@ "Normal", "Delimiter" ], - "idx": 36 + "idx": 40 }, { "render": " $this?->x?->bar();", @@ -5374,12 +5727,12 @@ "Delimiter", "Operator" ], - "idx": 37 + "idx": 41 }, { "render": "", "hl": [], - "idx": 38 + "idx": 42 }, { "render": " $this->doNothing();", @@ -5412,12 +5765,12 @@ "Delimiter", "Operator" ], - "idx": 39 + "idx": 43 }, { "render": "", "hl": [], - "idx": 40 + "idx": 44 }, { "render": " $c = $a + $b;", @@ -5444,7 +5797,7 @@ "Variable", "Operator" ], - "idx": 41 + "idx": 45 }, { "render": " $a = $c - $b;", @@ -5471,12 +5824,12 @@ "Variable", "Operator" ], - "idx": 42 + "idx": 46 }, { "render": "", "hl": [], - "idx": 43 + "idx": 47 }, { "render": " $c = $a * $b;", @@ -5503,7 +5856,7 @@ "Variable", "Operator" ], - "idx": 44 + "idx": 48 }, { "render": " $b = (int) ($c \/ $a);", @@ -5538,12 +5891,12 @@ "Delimiter", "Operator" ], - "idx": 45 + "idx": 49 }, { "render": "", "hl": [], - "idx": 46 + "idx": 50 }, { "render": " return $c;", @@ -5567,7 +5920,7 @@ "Variable", "Operator" ], - "idx": 47 + "idx": 51 }, { "render": " }", @@ -5578,19 +5931,19 @@ "Normal", "Delimiter" ], - "idx": 48 + "idx": 52 }, { "render": "}", "hl": [ "Delimiter" ], - "idx": 49 + "idx": 53 }, { "render": "", "hl": [], - "idx": 50 + "idx": 54 }, { "render": "trait Baz {", @@ -5607,7 +5960,7 @@ "Normal", "Delimiter" ], - "idx": 51 + "idx": 55 }, { "render": " public function about(): array", @@ -5647,7 +6000,7 @@ "Delimiter", "Delimiter" ], - "idx": 52 + "idx": 56 }, { "render": " {", @@ -5658,7 +6011,7 @@ "Normal", "Delimiter" ], - "idx": 53 + "idx": 57 }, { "render": " return [", @@ -5680,7 +6033,7 @@ "Normal", "Delimiter" ], - "idx": 54 + "idx": 58 }, { "render": " '__CLASS__' => __CLASS__,", @@ -5723,7 +6076,7 @@ "Number", "Operator" ], - "idx": 55 + "idx": 59 }, { "render": " '__DIR__' => __DIR__,", @@ -5762,7 +6115,7 @@ "Number", "Operator" ], - "idx": 56 + "idx": 60 }, { "render": " '__FILE__' => __FILE__,", @@ -5803,7 +6156,7 @@ "Number", "Operator" ], - "idx": 57 + "idx": 61 }, { "render": " '__FUNCTION__' => __FUNCTION__,", @@ -5852,7 +6205,7 @@ "Number", "Operator" ], - "idx": 58 + "idx": 62 }, { "render": " '__LINE__' => __LINE__,", @@ -5893,7 +6246,7 @@ "Number", "Operator" ], - "idx": 59 + "idx": 63 }, { "render": " '__METHOD__' => __METHOD__,", @@ -5938,7 +6291,7 @@ "Number", "Operator" ], - "idx": 60 + "idx": 64 }, { "render": " '__NAMESPACE__' => __NAMESPACE__,", @@ -5989,7 +6342,7 @@ "Number", "Operator" ], - "idx": 61 + "idx": 65 }, { "render": " '__TRAIT__' => __TRAIT__,", @@ -6032,7 +6385,7 @@ "Number", "Operator" ], - "idx": 62 + "idx": 66 }, { "render": " ];", @@ -6048,7 +6401,7 @@ "Delimiter", "Operator" ], - "idx": 63 + "idx": 67 }, { "render": " }", @@ -6059,19 +6412,19 @@ "Normal", "Delimiter" ], - "idx": 64 + "idx": 68 }, { "render": "}", "hl": [ "Delimiter" ], - "idx": 65 + "idx": 69 }, { "render": "", "hl": [], - "idx": 66 + "idx": 70 }, { "render": "class BazFoo {", @@ -6091,7 +6444,7 @@ "Normal", "Delimiter" ], - "idx": 67 + "idx": 71 }, { "render": " use Baz;", @@ -6109,19 +6462,19 @@ "Identifier", "Operator" ], - "idx": 68 + "idx": 72 }, { "render": "}", "hl": [ "Delimiter" ], - "idx": 69 + "idx": 73 }, { "render": "", "hl": [], - "idx": 70 + "idx": 74 }, { "render": "$square = fn (int $x) => $x ** 2;", @@ -6160,12 +6513,12 @@ "Number", "Operator" ], - "idx": 71 + "idx": 75 }, { "render": "", "hl": [], - "idx": 72 + "idx": 76 }, { "render": "foreach ([-1, 0, 1, 2] as $x)", @@ -6200,14 +6553,14 @@ "Variable", "Delimiter" ], - "idx": 73 + "idx": 77 }, { "render": "{", "hl": [ "Delimiter" ], - "idx": 74 + "idx": 78 }, { "render": " $not = match ($x) {", @@ -6236,7 +6589,7 @@ "Normal", "Delimiter" ], - "idx": 75 + "idx": 79 }, { "render": " 0 => 1,", @@ -6257,7 +6610,7 @@ "Number", "Operator" ], - "idx": 76 + "idx": 80 }, { "render": " 1,-1 => 0,", @@ -6281,7 +6634,7 @@ "Number", "Operator" ], - "idx": 77 + "idx": 81 }, { "render": " default => 0,", @@ -6308,7 +6661,7 @@ "Number", "Operator" ], - "idx": 78 + "idx": 82 }, { "render": " };", @@ -6320,19 +6673,19 @@ "Delimiter", "Operator" ], - "idx": 79 + "idx": 83 }, { "render": "}", "hl": [ "Delimiter" ], - "idx": 80 + "idx": 84 }, { "render": "", "hl": [], - "idx": 81 + "idx": 85 }, { "render": "\/*", @@ -6340,7 +6693,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 82 + "idx": 86 }, { "render": " * Multi-line comment", @@ -6367,7 +6720,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 83 + "idx": 87 }, { "render": " *\/", @@ -6376,7 +6729,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 84 + "idx": 88 }, { "render": "$foobar = new FooBar();", @@ -6405,12 +6758,12 @@ "Delimiter", "Operator" ], - "idx": 85 + "idx": 89 }, { "render": "", "hl": [], - "idx": 86 + "idx": 90 }, { "render": "$baz = ['a' => 'b'];", @@ -6436,12 +6789,12 @@ "Delimiter", "Operator" ], - "idx": 87 + "idx": 91 }, { "render": "", "hl": [], - "idx": 88 + "idx": 92 }, { "render": "\/\/ C++ style comment", @@ -6467,7 +6820,7 @@ "Comment", "Comment" ], - "idx": 89 + "idx": 93 }, { "render": "$x = 3;", @@ -6480,12 +6833,12 @@ "Number", "Operator" ], - "idx": 90 + "idx": 94 }, { "render": "", "hl": [], - "idx": 91 + "idx": 95 }, { "render": "# Perl-style comment", @@ -6511,7 +6864,7 @@ "Comment", "Comment" ], - "idx": 92 + "idx": 96 }, { "render": "$y = [", @@ -6523,7 +6876,7 @@ "Normal", "Delimiter" ], - "idx": 93 + "idx": 97 }, { "render": " 1,", @@ -6535,7 +6888,7 @@ "Number", "Operator" ], - "idx": 94 + "idx": 98 }, { "render": " 2,", @@ -6547,7 +6900,7 @@ "Number", "Operator" ], - "idx": 95 + "idx": 99 }, { "render": " 3", @@ -6558,7 +6911,7 @@ "Normal", "Number" ], - "idx": 96 + "idx": 100 }, { "render": "];", @@ -6566,12 +6919,12 @@ "Delimiter", "Operator" ], - "idx": 97 + "idx": 101 }, { "render": "", "hl": [], - "idx": 98 + "idx": 102 }, { "render": "\/\/ Multi-line ternary statement", @@ -6608,7 +6961,7 @@ "Comment", "Comment" ], - "idx": 99 + "idx": 103 }, { "render": "#{Attribute]", @@ -6626,7 +6979,7 @@ "Comment", "Comment" ], - "idx": 100 + "idx": 104 }, { "render": "$q = ($x !== 2)", @@ -6647,7 +7000,7 @@ "Number", "Delimiter" ], - "idx": 101 + "idx": 105 }, { "render": " ? 'yes'", @@ -6664,7 +7017,7 @@ "String", "String" ], - "idx": 102 + "idx": 106 }, { "render": " : 'no';", @@ -6681,12 +7034,12 @@ "String", "Operator" ], - "idx": 103 + "idx": 107 }, { "render": "", "hl": [], - "idx": 104 + "idx": 108 }, { "render": "\/*", @@ -6694,7 +7047,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 105 + "idx": 109 }, { "render": "Heredoc", @@ -6707,7 +7060,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 106 + "idx": 110 }, { "render": "*\/$z = $x + $y[0];", @@ -6731,7 +7084,7 @@ "Delimiter", "Operator" ], - "idx": 107 + "idx": 111 }, { "render": "$sql = <<<SQL", @@ -6750,7 +7103,7 @@ "Delimiter", "Delimiter" ], - "idx": 108 + "idx": 112 }, { "render": " SELECT * FROM \"foo\" WHERE \"bar\"='baz' AND id={$x};", @@ -6810,7 +7163,7 @@ "Delimiter", "String" ], - "idx": 109 + "idx": 113 }, { "render": "SQL;", @@ -6820,12 +7173,12 @@ "Delimiter", "Operator" ], - "idx": 110 + "idx": 114 }, { "render": "", "hl": [], - "idx": 111 + "idx": 115 }, { "render": "\/* Nowdoc *\/", @@ -6843,7 +7196,7 @@ "MultiLineComment", "MultiLineComment" ], - "idx": 112 + "idx": 116 }, { "render": "$template = <<<'TEMPLATE'", @@ -6874,7 +7227,7 @@ "Delimiter", "Delimiter" ], - "idx": 113 + "idx": 117 }, { "render": " <foo>{x}<\/foo>", @@ -6898,7 +7251,7 @@ "String", "String" ], - "idx": 114 + "idx": 118 }, { "render": "TEMPLATE;", @@ -6913,12 +7266,12 @@ "Delimiter", "Operator" ], - "idx": 115 + "idx": 119 }, { "render": "", "hl": [], - "idx": 116 + "idx": 120 }, { "render": "?>", @@ -6926,28 +7279,28 @@ "Delimiter", "Delimiter" ], - "idx": 117 + "idx": 121 }, { "render": "<!DOCTYPE html>", "hl": [ - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal" + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed" ], - "idx": 118 + "idx": 122 }, { "render": "<html lang=\"en\">", @@ -6969,7 +7322,7 @@ "Normal", "Normal" ], - "idx": 119 + "idx": 123 }, { "render": "<head>", @@ -6981,7 +7334,7 @@ "Normal", "Normal" ], - "idx": 120 + "idx": 124 }, { "render": "<title>HTML<\/title>", @@ -7006,7 +7359,7 @@ "Normal", "Normal" ], - "idx": 121 + "idx": 125 }, { "render": "<\/head>", @@ -7019,7 +7372,7 @@ "Normal", "Normal" ], - "idx": 122 + "idx": 126 }, { "render": "<body>", @@ -7031,7 +7384,7 @@ "Normal", "Normal" ], - "idx": 123 + "idx": 127 }, { "render": "<h1>Test<\/h1>", @@ -7050,7 +7403,7 @@ "Normal", "Normal" ], - "idx": 124 + "idx": 128 }, { "render": "<div><?php $bf = new BazFoo(); print_r($bf->about()) ?><\/div>", @@ -7110,14 +7463,14 @@ "Normal", "Delimiter", "Delimiter", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal", - "Normal" + "Embed", + "Embed", + "Embed", + "Embed", + "Embed", + "Embed" ], - "idx": 125 + "idx": 129 }, { "render": "<\/body>", @@ -7130,7 +7483,7 @@ "Normal", "Normal" ], - "idx": 126 + "idx": 130 }, { "render": "<\/html>", @@ -7143,7 +7496,7 @@ "Normal", "Normal" ], - "idx": 127 + "idx": 131 }, { "render": "<?php exit(); ?>", @@ -7165,7 +7518,7 @@ "Delimiter", "Delimiter" ], - "idx": 128 + "idx": 132 } ], "dirty": false