diff --git a/kilo b/kilo index 468a7dd..390ecf8 100755 --- a/kilo +++ b/kilo @@ -6,7 +6,7 @@ namespace Aviat\Kilo; require_once __DIR__ . '/vendor/autoload.php'; // Log notices/errors/warnings to file -set_exception_handler(static function (\Throwable $e) { +set_exception_handler(static function (mixed $e) { $msg = print_r([ 'code' => $e->getCode(), 'message' => $e->getMessage(), @@ -31,7 +31,14 @@ return (static function (int $argc, array $argv): int { } // Input Loop - do { $editor->refreshScreen();} while ($editor->processKeypress() !== NULL); + while (true) + { + $editor->refreshScreen(); + if ($editor->processKeypress() === NULL) + { + break; + } + } return 0; })($argc, $argv); diff --git a/src/ANSI.php b/src/ANSI.php index 0badbc0..b2ea018 100644 --- a/src/ANSI.php +++ b/src/ANSI.php @@ -53,7 +53,7 @@ class ANSI { */ public static function color(int $color): string { - return self::seq('%dm', $color); + return self::escapeSequence('%dm', $color); } /** @@ -66,7 +66,7 @@ class ANSI { */ public static function rgbColor(int $r, int $g, int $b): string { - return self::seq('38;2;%d;%d;%dm', $r, $g, $b); + return self::escapeSequence('38;2;%d;%d;%dm', $r, $g, $b); } /** @@ -80,7 +80,7 @@ class ANSI { { // The terminal has a 1-based coordinate system, // add one to each to allow 0-based coordinate system input - return self::seq('%d;%dH', $line + 1, $column + 1); + return self::escapeSequence('%d;%dH', $line + 1, $column + 1); } /** @@ -91,7 +91,7 @@ class ANSI { */ public static function scrollUp(int $lines): string { - return self::seq('%dS', $lines); + return self::escapeSequence('%dS', $lines); } /** @@ -102,7 +102,7 @@ class ANSI { */ public static function scrollDown(int $lines): string { - return self::seq('%dT', $lines); + return self::escapeSequence('%dT', $lines); } /** @@ -112,7 +112,7 @@ class ANSI { * @param mixed ...$args * @return string */ - private static function seq(string $pattern, mixed ...$args): string + private static function escapeSequence(string $pattern, mixed ...$args): string { return sprintf("\e[{$pattern}", ...$args); } diff --git a/src/Editor.php b/src/Editor.php index 4dc58db..488b6e4 100644 --- a/src/Editor.php +++ b/src/Editor.php @@ -18,14 +18,14 @@ class Editor { private string $outputBuffer = ''; /** - * @var Position The 0-based location of the cursor in the current viewport + * @var Point The 0-based location of the cursor in the current viewport */ - protected Position $cursor; + protected Point $cursor; /** - * @var Position The scroll offset of the file in the current viewport + * @var Point The scroll offset of the file in the current viewport */ - protected Position $offset; + protected Point $offset; /** * @var int The rendered cursor position @@ -42,6 +42,11 @@ class Editor { */ protected int $screenCols = 0; + /** + * @var int The number of times to confirm you wish to quit + */ + protected int $quitTimes = KILO_QUIT_TIMES; + /** * Array of Row objects */ @@ -65,8 +70,8 @@ class Editor { private function __construct() { $this->statusMsgTime = time(); - $this->cursor = Position::new(); - $this->offset = Position::new(); + $this->cursor = Point::new(); + $this->offset = Point::new(); [$this->screenRows, $this->screenCols] = Terminal::getWindowSize(); @@ -507,10 +512,8 @@ class Editor { protected function find(): void { - $savedCx = $this->cursor->x; - $savedCy = $this->cursor->y; - $savedColOff = $this->offset->x; - $savedRowOff = $this->offset->y; + $savedCursor = Point::from($this->cursor); + $savedOffset = Point::from($this->offset); $query = $this->prompt('Search: %s (Use ESC/Arrows/Enter)', [$this, 'findCallback']); @@ -518,10 +521,8 @@ class Editor { // restore original cursor and scroll locations if ($query === '') { - $this->cursor->x = $savedCx; - $this->cursor->y = $savedCy; - $this->offset->x = $savedColOff; - $this->offset->y = $savedRowOff; + $this->cursor = Point::from($savedCursor); + $this->offset = Point::from($savedOffset); } } @@ -564,11 +565,12 @@ class Editor { { $filerow = $y + $this->offset->y; + $this->outputBuffer .= ANSI::CLEAR_LINE; + ($filerow >= $this->numRows) ? $this->drawPlaceholderRow($y) : $this->drawRow($filerow); - $this->outputBuffer .= ANSI::CLEAR_LINE; $this->outputBuffer .= "\r\n"; } } @@ -851,7 +853,7 @@ class Editor { case KeyType::END_KEY: if ($y < $this->numRows) { - $x = $this->rows[$y]->size - 1; + $x = $this->rows[$y]->size; } break; @@ -859,13 +861,13 @@ class Editor { // Do nothing } - if ($x > $row->size) + // Snap cursor to the end of a row when moving + // from a longer row to a shorter one + $row = $this->rows[$y]; + $rowLen = ($row !== NULL) ? $row->size : 0; + if ($x > $rowLen) { - $x = $row->size; - } - if ($y > $this->screenRows) - { - $y = $this->screenRows; + $x = $rowLen; } $this->cursor->x = $x; @@ -874,8 +876,6 @@ class Editor { public function processKeypress(): ?string { - static $quit_times = KILO_QUIT_TIMES; - $c = $this->readKey(); if ($c === KeyCode::NULL || $c === KeyCode::EMPTY) @@ -885,21 +885,13 @@ class Editor { switch ($c) { + case KeyCode::CTRL('q'): + return $this->quitAttempt(); + case KeyType::ENTER: $this->insertNewline(); break; - case KeyCode::CTRL('q'): - if ($this->dirty > 0 && $quit_times > 0) - { - $this->setStatusMessage('WARNING!!! File has unsaved changes.' . - 'Press Ctrl-Q %d more times to quit.', $quit_times); - $quit_times--; - return ''; - } - Terminal::clear(); - return NULL; - case KeyCode::CTRL('s'): $this->save(); break; @@ -938,15 +930,32 @@ class Editor { break; } - $quit_times = KILO_QUIT_TIMES; + // Reset quit confirmation timer on different keypress + $this->quitTimes = KILO_QUIT_TIMES; return $c; } + protected function quitAttempt(): ?string + { + if ($this->dirty > 0 && $this->quitTimes > 0) + { + $this->setStatusMessage( + 'WARNING!!! File has unsaved changes. Press Ctrl-Q %d more times to quit.', + $this->quitTimes + ); + $this->quitTimes--; + return KeyCode::CTRL('q'); + } + + Terminal::clear(); + return NULL; + } + protected function refreshSyntax(): void { // Update the syntax highlighting for all the rows of the file - array_walk($this->rows, static fn (Row $row) => $row->updateSyntax()); + array_walk($this->rows, static fn (Row $row) => $row->update()); } private function refreshPHPSyntax(): void diff --git a/src/Point.php b/src/Point.php new file mode 100644 index 0000000..6ea4314 --- /dev/null +++ b/src/Point.php @@ -0,0 +1,33 @@ +x, $pos->y); + } +} \ No newline at end of file diff --git a/src/Position.php b/src/Position.php deleted file mode 100644 index fd32f7e..0000000 --- a/src/Position.php +++ /dev/null @@ -1,12 +0,0 @@ - - \ No newline at end of file + diff --git a/tests/__snapshots__/EditorTest__testOpenPHP__1.json b/tests/__snapshots__/EditorTest__testOpenPHP__1.json index e7b6320..2457fc1 100644 --- a/tests/__snapshots__/EditorTest__testOpenPHP__1.json +++ b/tests/__snapshots__/EditorTest__testOpenPHP__1.json @@ -471,6 +471,116 @@ "hl": [], "idx": 17 }, + { + "render": "class Test {", + "hl": [ + 3, + 3, + 3, + 3, + 3, + 0, + 12, + 12, + 12, + 12, + 0, + 9 + ], + "idx": 18 + }, + { + "render": " public function __construct(public string $foo, public string $bar) {}", + "hl": [ + 0, + 0, + 0, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 12, + 9, + 3, + 3, + 3, + 3, + 3, + 3, + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 8, + 8, + 8, + 8, + 7, + 0, + 3, + 3, + 3, + 3, + 3, + 3, + 0, + 12, + 12, + 12, + 12, + 12, + 12, + 0, + 8, + 8, + 8, + 8, + 9, + 0, + 9, + 9 + ], + "idx": 19 + }, + { + "render": "}", + "hl": [ + 9 + ], + "idx": 20 + }, + { + "render": "", + "hl": [], + "idx": 21 + }, { "render": "\/**", "hl": [ @@ -478,7 +588,7 @@ 2, 2 ], - "idx": 18 + "idx": 22 }, { "render": " * Docblock comment", @@ -503,7 +613,7 @@ 2, 2 ], - "idx": 19 + "idx": 23 }, { "render": " *\/", @@ -512,7 +622,7 @@ 2, 2 ], - "idx": 20 + "idx": 24 }, { "render": "class FooBar extends Foo implements Ifoo {", @@ -560,7 +670,7 @@ 0, 9 ], - "idx": 21 + "idx": 25 }, { "render": " public function bar(int $a, float $b, array $c, callable $d, string $e = 'default'): string", @@ -661,7 +771,7 @@ 12, 12 ], - "idx": 22 + "idx": 26 }, { "render": " {", @@ -672,7 +782,7 @@ 0, 9 ], - "idx": 23 + "idx": 27 }, { "render": " $cstr = print_r($c, TRUE);", @@ -712,7 +822,7 @@ 9, 7 ], - "idx": 24 + "idx": 28 }, { "render": " $d();", @@ -731,12 +841,12 @@ 9, 7 ], - "idx": 25 + "idx": 29 }, { "render": "", "hl": [], - "idx": 26 + "idx": 30 }, { "render": " return \"{$a}, ${b}, \" . $cstr;", @@ -780,7 +890,7 @@ 8, 7 ], - "idx": 27 + "idx": 31 }, { "render": " }", @@ -791,12 +901,12 @@ 0, 9 ], - "idx": 28 + "idx": 32 }, { "render": "", "hl": [], - "idx": 29 + "idx": 33 }, { "render": " private function operations(int $a, int $b): int", @@ -854,7 +964,7 @@ 12, 12 ], - "idx": 30 + "idx": 34 }, { "render": " {", @@ -865,7 +975,7 @@ 0, 9 ], - "idx": 31 + "idx": 35 }, { "render": " $this?->x?->bar();", @@ -897,12 +1007,12 @@ 9, 7 ], - "idx": 32 + "idx": 36 }, { "render": "", "hl": [], - "idx": 33 + "idx": 37 }, { "render": " $this->doNothing();", @@ -935,12 +1045,12 @@ 9, 7 ], - "idx": 34 + "idx": 38 }, { "render": "", "hl": [], - "idx": 35 + "idx": 39 }, { "render": " $c = $a + $b;", @@ -967,7 +1077,7 @@ 8, 7 ], - "idx": 36 + "idx": 40 }, { "render": " $a = $c - $b;", @@ -994,12 +1104,12 @@ 8, 7 ], - "idx": 37 + "idx": 41 }, { "render": "", "hl": [], - "idx": 38 + "idx": 42 }, { "render": " $c = $a * $b;", @@ -1026,7 +1136,7 @@ 8, 7 ], - "idx": 39 + "idx": 43 }, { "render": " $b = (int) ($c \/ $a);", @@ -1061,12 +1171,12 @@ 9, 7 ], - "idx": 40 + "idx": 44 }, { "render": "", "hl": [], - "idx": 41 + "idx": 45 }, { "render": " return $c;", @@ -1090,7 +1200,7 @@ 8, 7 ], - "idx": 42 + "idx": 46 }, { "render": " }", @@ -1101,19 +1211,19 @@ 0, 9 ], - "idx": 43 + "idx": 47 }, { "render": "}", "hl": [ 9 ], - "idx": 44 + "idx": 48 }, { "render": "", "hl": [], - "idx": 45 + "idx": 49 }, { "render": "trait Baz {", @@ -1130,7 +1240,7 @@ 0, 9 ], - "idx": 46 + "idx": 50 }, { "render": " public function about(): array", @@ -1170,7 +1280,7 @@ 9, 9 ], - "idx": 47 + "idx": 51 }, { "render": " {", @@ -1181,7 +1291,7 @@ 0, 9 ], - "idx": 48 + "idx": 52 }, { "render": " return [", @@ -1203,7 +1313,7 @@ 0, 9 ], - "idx": 49 + "idx": 53 }, { "render": " '__CLASS__' => __CLASS__,", @@ -1246,7 +1356,7 @@ 6, 7 ], - "idx": 50 + "idx": 54 }, { "render": " '__DIR__' => __DIR__,", @@ -1285,7 +1395,7 @@ 6, 7 ], - "idx": 51 + "idx": 55 }, { "render": " '__FILE__' => __FILE__,", @@ -1326,7 +1436,7 @@ 6, 7 ], - "idx": 52 + "idx": 56 }, { "render": " '__FUNCTION__' => __FUNCTION__,", @@ -1375,7 +1485,7 @@ 6, 7 ], - "idx": 53 + "idx": 57 }, { "render": " '__LINE__' => __LINE__,", @@ -1416,7 +1526,7 @@ 6, 7 ], - "idx": 54 + "idx": 58 }, { "render": " '__METHOD__' => __METHOD__,", @@ -1461,7 +1571,7 @@ 6, 7 ], - "idx": 55 + "idx": 59 }, { "render": " '__NAMESPACE__' => __NAMESPACE__,", @@ -1512,7 +1622,7 @@ 6, 7 ], - "idx": 56 + "idx": 60 }, { "render": " '__TRAIT__' => __TRAIT__,", @@ -1555,7 +1665,7 @@ 6, 7 ], - "idx": 57 + "idx": 61 }, { "render": " ];", @@ -1571,7 +1681,7 @@ 9, 7 ], - "idx": 58 + "idx": 62 }, { "render": " }", @@ -1582,19 +1692,19 @@ 0, 9 ], - "idx": 59 + "idx": 63 }, { "render": "}", "hl": [ 9 ], - "idx": 60 + "idx": 64 }, { "render": "", "hl": [], - "idx": 61 + "idx": 65 }, { "render": "$square = fn (int $x) => $x ** 2;", @@ -1633,12 +1743,12 @@ 6, 7 ], - "idx": 62 + "idx": 66 }, { "render": "", "hl": [], - "idx": 63 + "idx": 67 }, { "render": "foreach ([-1, 0, 1, 2] as $x)", @@ -1673,14 +1783,14 @@ 8, 9 ], - "idx": 64 + "idx": 68 }, { "render": "{", "hl": [ 9 ], - "idx": 65 + "idx": 69 }, { "render": " $not = match ($x) {", @@ -1709,7 +1819,7 @@ 0, 9 ], - "idx": 66 + "idx": 70 }, { "render": " 0 => 1,", @@ -1730,7 +1840,7 @@ 6, 7 ], - "idx": 67 + "idx": 71 }, { "render": " 1,-1 => 0,", @@ -1754,7 +1864,7 @@ 6, 7 ], - "idx": 68 + "idx": 72 }, { "render": " default => 0,", @@ -1781,7 +1891,7 @@ 6, 7 ], - "idx": 69 + "idx": 73 }, { "render": " };", @@ -1793,19 +1903,19 @@ 9, 7 ], - "idx": 70 + "idx": 74 }, { "render": "}", "hl": [ 9 ], - "idx": 71 + "idx": 75 }, { "render": "", "hl": [], - "idx": 72 + "idx": 76 }, { "render": "\/*", @@ -1813,7 +1923,7 @@ 2, 2 ], - "idx": 73 + "idx": 77 }, { "render": " * Multi-line comment", @@ -1840,7 +1950,7 @@ 2, 2 ], - "idx": 74 + "idx": 78 }, { "render": " *\/", @@ -1849,7 +1959,7 @@ 2, 2 ], - "idx": 75 + "idx": 79 }, { "render": "$foobar = new FooBar();", @@ -1878,12 +1988,12 @@ 9, 7 ], - "idx": 76 + "idx": 80 }, { "render": "", "hl": [], - "idx": 77 + "idx": 81 }, { "render": "$baz = ['a' => 'b'];", @@ -1909,12 +2019,12 @@ 9, 7 ], - "idx": 78 + "idx": 82 }, { "render": "", "hl": [], - "idx": 79 + "idx": 83 }, { "render": "\/\/ C++ style comment", @@ -1940,7 +2050,7 @@ 1, 1 ], - "idx": 80 + "idx": 84 }, { "render": "$x = 3;", @@ -1953,12 +2063,12 @@ 6, 7 ], - "idx": 81 + "idx": 85 }, { "render": "", "hl": [], - "idx": 82 + "idx": 86 }, { "render": "# Perl-style comment", @@ -1984,7 +2094,7 @@ 1, 1 ], - "idx": 83 + "idx": 87 }, { "render": "$y = [", @@ -1996,7 +2106,7 @@ 0, 9 ], - "idx": 84 + "idx": 88 }, { "render": " 1,", @@ -2008,7 +2118,7 @@ 6, 7 ], - "idx": 85 + "idx": 89 }, { "render": " 2,", @@ -2020,7 +2130,7 @@ 6, 7 ], - "idx": 86 + "idx": 90 }, { "render": " 3", @@ -2031,7 +2141,7 @@ 0, 6 ], - "idx": 87 + "idx": 91 }, { "render": "];", @@ -2039,12 +2149,12 @@ 9, 7 ], - "idx": 88 + "idx": 92 }, { "render": "", "hl": [], - "idx": 89 + "idx": 93 }, { "render": "\/\/ Multi-line ternary statement", @@ -2081,7 +2191,7 @@ 1, 1 ], - "idx": 90 + "idx": 94 }, { "render": "#{Attribute]", @@ -2099,7 +2209,7 @@ 1, 1 ], - "idx": 91 + "idx": 95 }, { "render": "$q = ($x !== 2)", @@ -2120,7 +2230,7 @@ 6, 9 ], - "idx": 92 + "idx": 96 }, { "render": " ? 'yes'", @@ -2137,7 +2247,7 @@ 5, 5 ], - "idx": 93 + "idx": 97 }, { "render": " : 'no';", @@ -2154,12 +2264,12 @@ 5, 7 ], - "idx": 94 + "idx": 98 }, { "render": "", "hl": [], - "idx": 95 + "idx": 99 }, { "render": "\/*", @@ -2167,7 +2277,7 @@ 2, 2 ], - "idx": 96 + "idx": 100 }, { "render": "Heredoc", @@ -2180,7 +2290,7 @@ 2, 2 ], - "idx": 97 + "idx": 101 }, { "render": "*\/$z = $x + $y;", @@ -2201,7 +2311,7 @@ 8, 7 ], - "idx": 98 + "idx": 102 }, { "render": "$sql = <<{x}<\/foo>", @@ -2368,7 +2478,7 @@ 5, 5 ], - "idx": 105 + "idx": 109 }, { "render": "TEMPLATE;", @@ -2383,12 +2493,12 @@ 9, 7 ], - "idx": 106 + "idx": 110 }, { "render": "", "hl": [], - "idx": 107 + "idx": 111 }, { "render": "?>", @@ -2396,7 +2506,7 @@ 9, 9 ], - "idx": 108 + "idx": 112 }, { "render": "", @@ -2417,7 +2527,7 @@ 0, 0 ], - "idx": 109 + "idx": 113 }, { "render": "", @@ -2439,7 +2549,7 @@ 0, 0 ], - "idx": 110 + "idx": 114 }, { "render": "", @@ -2451,7 +2561,7 @@ 0, 0 ], - "idx": 111 + "idx": 115 }, { "render": "HTML<\/title>", @@ -2476,7 +2586,7 @@ 0, 0 ], - "idx": 112 + "idx": 116 }, { "render": "<\/head>", @@ -2489,7 +2599,7 @@ 0, 0 ], - "idx": 113 + "idx": 117 }, { "render": "<body>", @@ -2501,7 +2611,7 @@ 0, 0 ], - "idx": 114 + "idx": 118 }, { "render": "<h1><?= $_SERVER['HTTP_HOST'] ?><\/h1>", @@ -2544,7 +2654,7 @@ 0, 0 ], - "idx": 115 + "idx": 119 }, { "render": "<\/body>", @@ -2557,7 +2667,7 @@ 0, 0 ], - "idx": 116 + "idx": 120 }, { "render": "<\/html>", @@ -2570,7 +2680,7 @@ 0, 0 ], - "idx": 117 + "idx": 121 }, { "render": "<?php exit(); ?>", @@ -2592,20 +2702,18 @@ 9, 9 ], - "idx": 118 + "idx": 122 } ], "dirty": 0, "filename": "test.php", "syntax": { + "tokens": [], "filetype": "PHP", "filematch": [ ".php", "kilo" ], - "singleLineCommentStart": "\/\/", - "multiLineCommentStart": "\/*", - "multiLineCommentEnd": "*\/", "keywords1": [ "?php", "$this", @@ -2627,7 +2735,9 @@ "object", "strict_types" ], - "tokens": [], + "singleLineCommentStart": "\/\/", + "multiLineCommentStart": "\/*", + "multiLineCommentEnd": "*\/", "flags": 3 }, "tokens": { @@ -3217,11 +3327,204 @@ ], "18": [], "19": [ + { + "type": 366, + "typeName": "T_CLASS", + "char": "class", + "line": 19 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 19 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "Test", + "line": 19 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 19 + }, + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 19 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 19 + } + ], + "20": [ + { + "type": 360, + "typeName": "T_PUBLIC", + "char": "public", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 345, + "typeName": "T_FUNCTION", + "char": "function", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "__construct", + "line": 20 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 20 + }, + { + "type": 360, + "typeName": "T_PUBLIC", + "char": "public", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "string", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$foo", + "line": 20 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 360, + "typeName": "T_PUBLIC", + "char": "public", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "string", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$bar", + "line": 20 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 20 + }, + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 20 + }, + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 20 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 20 + } + ], + "21": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 21 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 21 + } + ], + "22": [], + "23": [ { "type": 389, "typeName": "T_DOC_COMMENT", "char": "\/**", - "line": 19, + "line": 23, "original": { "string": "\/**\n * Docblock comment\n *\/", "lines": [ @@ -3232,800 +3535,625 @@ } } ], - "20": [ + "24": [ { "type": -1, "typeName": "RAW", "char": " * Docblock comment", - "line": 20 - } - ], - "21": [ - { - "type": -1, - "typeName": "RAW", - "char": " *\/", - "line": 21 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n", - "line": 21 - } - ], - "22": [ - { - "type": 366, - "typeName": "T_CLASS", - "char": "class", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 22 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "FooBar", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 22 - }, - { - "type": 369, - "typeName": "T_EXTENDS", - "char": "extends", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 22 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "Foo", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 22 - }, - { - "type": 370, - "typeName": "T_IMPLEMENTS", - "char": "implements", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 22 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "Ifoo", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 22 - }, - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 22 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 22 - } - ], - "23": [ - { - "type": 360, - "typeName": "T_PUBLIC", - "char": "public", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 345, - "typeName": "T_FUNCTION", - "char": "function", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "bar", - "line": 23 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 23 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "int", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 23 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "float", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 23 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 373, - "typeName": "T_ARRAY", - "char": "array", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 23 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 374, - "typeName": "T_CALLABLE", - "char": "callable", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$d", - "line": 23 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "string", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$e", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'default'", - "line": 23 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 23 - }, - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 23 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "string", - "line": 23 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 23 - } - ], - "24": [ - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 24 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", "line": 24 } ], "25": [ { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$cstr", + "type": -1, + "typeName": "RAW", + "char": " *\/", "line": 25 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": " ", - "line": 25 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 25 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 25 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "print_r", - "line": 25 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 25 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 25 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 25 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 25 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "TRUE", - "line": 25 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 25 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 25 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n", "line": 25 } ], "26": [ { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$d", + "type": 366, + "typeName": "T_CLASS", + "char": "class", "line": 26 }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 26 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 26 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 26 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 26 - } - ], - "27": [], - "28": [ - { - "type": 348, - "typeName": "T_RETURN", - "char": "return", - "line": 28 - }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 28 + "line": 26 }, { - "type": 34, - "typeName": "\"", - "char": "\"", - "line": 28 + "type": 311, + "typeName": "T_STRING", + "char": "FooBar", + "line": 26 }, { - "type": 397, - "typeName": "T_CURLY_OPEN", + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 26 + }, + { + "type": 369, + "typeName": "T_EXTENDS", + "char": "extends", + "line": 26 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 26 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "Foo", + "line": 26 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 26 + }, + { + "type": 370, + "typeName": "T_IMPLEMENTS", + "char": "implements", + "line": 26 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 26 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "Ifoo", + "line": 26 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 26 + }, + { + "type": 123, + "typeName": "{", "char": "{", - "line": 28 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 28 - }, - { - "type": 125, - "typeName": "}", - "char": "}", - "line": 28 - }, - { - "type": 317, - "typeName": "T_ENCAPSED_AND_WHITESPACE", - "char": ", ", - "line": 28 - }, - { - "type": 396, - "typeName": "T_DOLLAR_OPEN_CURLY_BRACES", - "char": "${", - "line": 28 - }, - { - "type": 319, - "typeName": "T_STRING_VARNAME", - "char": "b", - "line": 28 - }, - { - "type": 125, - "typeName": "}", - "char": "}", - "line": 28 - }, - { - "type": 317, - "typeName": "T_ENCAPSED_AND_WHITESPACE", - "char": ", ", - "line": 28 - }, - { - "type": 34, - "typeName": "\"", - "char": "\"", - "line": 28 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 46, - "typeName": ".", - "char": ".", - "line": 28 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 28 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$cstr", - "line": 28 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 28 + "line": 26 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 28 + "line": 26 } ], - "29": [ + "27": [ { - "type": 125, - "typeName": "}", - "char": "}", - "line": 29 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 29 - } - ], - "30": [], - "31": [ - { - "type": 358, - "typeName": "T_PRIVATE", - "char": "private", - "line": 31 + "type": 360, + "typeName": "T_PUBLIC", + "char": "public", + "line": 27 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 31 + "line": 27 }, { "type": 345, "typeName": "T_FUNCTION", "char": "function", - "line": 31 + "line": 27 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 31 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "operations", - "line": 31 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 31 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "int", - "line": 31 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 31 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 31 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 31 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 31 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "int", - "line": 31 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 31 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 31 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 31 - }, - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 31 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 31 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "int", - "line": 31 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 31 - } - ], - "32": [ - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 32 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 32 - } - ], - "33": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$this", - "line": 33 - }, - { - "type": 387, - "typeName": "T_NULLSAFE_OBJECT_OPERATOR", - "char": "?->", - "line": 33 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "x", - "line": 33 - }, - { - "type": 387, - "typeName": "T_NULLSAFE_OBJECT_OPERATOR", - "char": "?->", - "line": 33 + "line": 27 }, { "type": 311, "typeName": "T_STRING", "char": "bar", - "line": 33 + "line": 27 }, { "type": 40, "typeName": "(", "char": "(", - "line": 33 + "line": 27 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "int", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 27 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "float", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 27 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 373, + "typeName": "T_ARRAY", + "char": "array", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 27 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 374, + "typeName": "T_CALLABLE", + "char": "callable", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$d", + "line": 27 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "string", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$e", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'default'", + "line": 27 }, { "type": 41, "typeName": ")", "char": ")", - "line": 33 + "line": 27 + }, + { + "type": 58, + "typeName": ":", + "char": ":", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 27 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "string", + "line": 27 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 27 + } + ], + "28": [ + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 28 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 28 + } + ], + "29": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$cstr", + "line": 29 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 29 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "print_r", + "line": 29 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 29 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 29 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 29 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 29 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "TRUE", + "line": 29 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 29 }, { "type": 59, "typeName": ";", "char": ";", - "line": 33 + "line": 29 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 29 + } + ], + "30": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$d", + "line": 30 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 30 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 30 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 30 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n\n ", + "line": 30 + } + ], + "31": [], + "32": [ + { + "type": 348, + "typeName": "T_RETURN", + "char": "return", + "line": 32 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 32 + }, + { + "type": 34, + "typeName": "\"", + "char": "\"", + "line": 32 + }, + { + "type": 397, + "typeName": "T_CURLY_OPEN", + "char": "{", + "line": 32 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 32 + }, + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 32 + }, + { + "type": 317, + "typeName": "T_ENCAPSED_AND_WHITESPACE", + "char": ", ", + "line": 32 + }, + { + "type": 396, + "typeName": "T_DOLLAR_OPEN_CURLY_BRACES", + "char": "${", + "line": 32 + }, + { + "type": 319, + "typeName": "T_STRING_VARNAME", + "char": "b", + "line": 32 + }, + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 32 + }, + { + "type": 317, + "typeName": "T_ENCAPSED_AND_WHITESPACE", + "char": ", ", + "line": 32 + }, + { + "type": 34, + "typeName": "\"", + "char": "\"", + "line": 32 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 32 + }, + { + "type": 46, + "typeName": ".", + "char": ".", + "line": 32 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 32 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$cstr", + "line": 32 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 32 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 32 + } + ], + "33": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 33 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n ", "line": 33 } ], "34": [], "35": [ { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$this", + "type": 358, + "typeName": "T_PRIVATE", + "char": "private", "line": 35 }, { - "type": 386, - "typeName": "T_OBJECT_OPERATOR", - "char": "->", + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 35 + }, + { + "type": 345, + "typeName": "T_FUNCTION", + "char": "function", + "line": 35 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", "line": 35 }, { "type": 311, "typeName": "T_STRING", - "char": "doNothing", + "char": "operations", "line": 35 }, { @@ -4034,6 +4162,54 @@ "char": "(", "line": 35 }, + { + "type": 311, + "typeName": "T_STRING", + "char": "int", + "line": 35 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 35 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 35 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 35 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 35 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "int", + "line": 35 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 35 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 35 + }, { "type": 41, "typeName": ")", @@ -4041,383 +4217,449 @@ "line": 35 }, { - "type": 59, - "typeName": ";", - "char": ";", + "type": 58, + "typeName": ":", + "char": ":", "line": 35 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n\n ", + "char": " ", "line": 35 - } - ], - "36": [], - "37": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 37 }, { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 37 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 37 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 37 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 37 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 37 - }, - { - "type": 43, - "typeName": "+", - "char": "+", - "line": 37 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 37 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 37 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 37 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 37 - } - ], - "38": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 38 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 38 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 38 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 38 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 38 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 38 - }, - { - "type": 45, - "typeName": "-", - "char": "-", - "line": 38 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 38 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 38 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 38 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 38 - } - ], - "39": [], - "40": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 40 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 40 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 40 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 40 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 40 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 40 - }, - { - "type": 42, - "typeName": "*", - "char": "*", - "line": 40 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 40 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 40 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 40 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 40 - } - ], - "41": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$b", - "line": 41 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 41 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 41 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 41 - }, - { - "type": 297, - "typeName": "T_INT_CAST", - "char": "(int)", - "line": 41 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 41 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 41 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 41 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 41 - }, - { - "type": 47, - "typeName": "\/", - "char": "\/", - "line": 41 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 41 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$a", - "line": 41 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 41 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 41 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n\n ", - "line": 41 - } - ], - "42": [], - "43": [ - { - "type": 348, - "typeName": "T_RETURN", - "char": "return", - "line": 43 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 43 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 43 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 43 + "type": 311, + "typeName": "T_STRING", + "char": "int", + "line": 35 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 43 + "line": 35 } ], + "36": [ + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 36 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 36 + } + ], + "37": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$this", + "line": 37 + }, + { + "type": 387, + "typeName": "T_NULLSAFE_OBJECT_OPERATOR", + "char": "?->", + "line": 37 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "x", + "line": 37 + }, + { + "type": 387, + "typeName": "T_NULLSAFE_OBJECT_OPERATOR", + "char": "?->", + "line": 37 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "bar", + "line": 37 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 37 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 37 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 37 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n ", + "line": 37 + } + ], + "38": [], + "39": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$this", + "line": 39 + }, + { + "type": 386, + "typeName": "T_OBJECT_OPERATOR", + "char": "->", + "line": 39 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "doNothing", + "line": 39 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 39 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 39 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 39 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n ", + "line": 39 + } + ], + "40": [], + "41": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 41 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 41 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 41 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 41 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 41 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 41 + }, + { + "type": 43, + "typeName": "+", + "char": "+", + "line": 41 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 41 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 41 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 41 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 41 + } + ], + "42": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 42 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 42 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 42 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 42 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 42 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 42 + }, + { + "type": 45, + "typeName": "-", + "char": "-", + "line": 42 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 42 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 42 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 42 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n ", + "line": 42 + } + ], + "43": [], "44": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", "line": 44 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n", + "char": " ", + "line": 44 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 44 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 44 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 44 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 44 + }, + { + "type": 42, + "typeName": "*", + "char": "*", + "line": 44 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 44 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$b", + "line": 44 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 44 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 44 } ], "45": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 315, + "typeName": "T_VARIABLE", + "char": "$b", "line": 45 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 45 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 45 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 297, + "typeName": "T_INT_CAST", + "char": "(int)", + "line": 45 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 45 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 45 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 47, + "typeName": "\/", + "char": "\/", + "line": 45 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$a", + "line": 45 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 45 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 45 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n ", "line": 45 } ], "46": [], "47": [ { - "type": 367, - "typeName": "T_TRAIT", - "char": "trait", + "type": 348, + "typeName": "T_RETURN", + "char": "return", "line": 47 }, { @@ -4427,21 +4669,15 @@ "line": 47 }, { - "type": 311, - "typeName": "T_STRING", - "char": "Baz", + "type": 315, + "typeName": "T_VARIABLE", + "char": "$c", "line": 47 }, { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 47 - }, - { - "type": 123, - "typeName": "{", - "char": "{", + "type": 59, + "typeName": ";", + "char": ";", "line": 47 }, { @@ -4453,161 +4689,76 @@ ], "48": [ { - "type": 360, - "typeName": "T_PUBLIC", - "char": "public", + "type": 125, + "typeName": "}", + "char": "}", "line": 48 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": " ", - "line": 48 - }, - { - "type": 345, - "typeName": "T_FUNCTION", - "char": "function", - "line": 48 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 48 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "about", - "line": 48 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 48 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 48 - }, - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 48 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 48 - }, - { - "type": 373, - "typeName": "T_ARRAY", - "char": "array", - "line": 48 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n", "line": 48 } ], "49": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 49 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 49 + } + ], + "50": [], + "51": [ + { + "type": 367, + "typeName": "T_TRAIT", + "char": "trait", + "line": 51 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 51 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "Baz", + "line": 51 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 51 + }, { "type": 123, "typeName": "{", "char": "{", - "line": 49 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 49 - } - ], - "50": [ - { - "type": 348, - "typeName": "T_RETURN", - "char": "return", - "line": 50 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 50 - }, - { - "type": 91, - "typeName": "[", - "char": "[", - "line": 50 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 50 - } - ], - "51": [ - { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__CLASS__'", "line": 51 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": " ", - "line": 51 - }, - { - "type": 269, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 51 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 51 - }, - { - "type": 378, - "typeName": "T_CLASS_C", - "char": "__CLASS__", - "line": 51 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 51 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n ", "line": 51 } ], "52": [ { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__DIR__'", + "type": 360, + "typeName": "T_PUBLIC", + "char": "public", "line": 52 }, { @@ -4617,9 +4768,9 @@ "line": 52 }, { - "type": 269, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", + "type": 345, + "typeName": "T_FUNCTION", + "char": "function", "line": 52 }, { @@ -4629,73 +4780,67 @@ "line": 52 }, { - "type": 377, - "typeName": "T_DIR", - "char": "__DIR__", + "type": 311, + "typeName": "T_STRING", + "char": "about", "line": 52 }, { - "type": 44, - "typeName": ",", - "char": ",", + "type": 40, + "typeName": "(", + "char": "(", + "line": 52 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 52 + }, + { + "type": 58, + "typeName": ":", + "char": ":", "line": 52 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", + "line": 52 + }, + { + "type": 373, + "typeName": "T_ARRAY", + "char": "array", + "line": 52 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 52 } ], "53": [ { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__FILE__'", + "type": 123, + "typeName": "{", + "char": "{", "line": 53 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": " ", - "line": 53 - }, - { - "type": 269, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 53 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 53 - }, - { - "type": 376, - "typeName": "T_FILE", - "char": "__FILE__", - "line": 53 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 53 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n ", "line": 53 } ], "54": [ { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__FUNCTION__'", + "type": 348, + "typeName": "T_RETURN", + "char": "return", "line": 54 }, { @@ -4705,27 +4850,9 @@ "line": 54 }, { - "type": 269, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 54 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 54 - }, - { - "type": 381, - "typeName": "T_FUNC_C", - "char": "__FUNCTION__", - "line": 54 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 91, + "typeName": "[", + "char": "[", "line": 54 }, { @@ -4739,7 +4866,7 @@ { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__LINE__'", + "char": "'__CLASS__'", "line": 55 }, { @@ -4761,9 +4888,9 @@ "line": 55 }, { - "type": 375, - "typeName": "T_LINE", - "char": "__LINE__", + "type": 378, + "typeName": "T_CLASS_C", + "char": "__CLASS__", "line": 55 }, { @@ -4783,7 +4910,7 @@ { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__METHOD__'", + "char": "'__DIR__'", "line": 56 }, { @@ -4805,9 +4932,9 @@ "line": 56 }, { - "type": 380, - "typeName": "T_METHOD_C", - "char": "__METHOD__", + "type": 377, + "typeName": "T_DIR", + "char": "__DIR__", "line": 56 }, { @@ -4827,7 +4954,7 @@ { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__NAMESPACE__'", + "char": "'__FILE__'", "line": 57 }, { @@ -4849,9 +4976,9 @@ "line": 57 }, { - "type": 382, - "typeName": "T_NS_C", - "char": "__NAMESPACE__", + "type": 376, + "typeName": "T_FILE", + "char": "__FILE__", "line": 57 }, { @@ -4871,7 +4998,7 @@ { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'__TRAIT__'", + "char": "'__FUNCTION__'", "line": 58 }, { @@ -4893,9 +5020,9 @@ "line": 58 }, { - "type": 379, - "typeName": "T_TRAIT_C", - "char": "__TRAIT__", + "type": 381, + "typeName": "T_FUNC_C", + "char": "__FUNCTION__", "line": 58 }, { @@ -4907,172 +5034,191 @@ { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": "\n ", "line": 58 } ], "59": [ { - "type": 93, - "typeName": "]", - "char": "]", - "line": 59 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__LINE__'", "line": 59 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", + "line": 59 + }, + { + "type": 269, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 59 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 59 + }, + { + "type": 375, + "typeName": "T_LINE", + "char": "__LINE__", + "line": 59 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 59 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 59 } ], "60": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__METHOD__'", "line": 60 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n", + "char": " ", "line": 60 - } - ], - "61": [ - { - "type": 125, - "typeName": "}", - "char": "}", - "line": 61 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n\n", - "line": 61 - } - ], - "62": [], - "63": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$square", - "line": 63 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 63 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 63 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 63 - }, - { - "type": 346, - "typeName": "T_FN", - "char": "fn", - "line": 63 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 63 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 63 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "int", - "line": 63 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 63 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 63 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 63 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 63 }, { "type": 269, "typeName": "T_DOUBLE_ARROW", "char": "=>", - "line": 63 + "line": 60 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 63 + "line": 60 }, { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 63 + "type": 380, + "typeName": "T_METHOD_C", + "char": "__METHOD__", + "line": 60 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 60 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 60 + } + ], + "61": [ + { + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__NAMESPACE__'", + "line": 61 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 63 + "line": 61 }, { - "type": 304, - "typeName": "T_POW", - "char": "**", - "line": 63 + "type": 269, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 61 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 63 + "line": 61 }, { - "type": 309, - "typeName": "T_LNUMBER", - "char": "2", + "type": 382, + "typeName": "T_NS_C", + "char": "__NAMESPACE__", + "line": 61 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 61 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 61 + } + ], + "62": [ + { + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'__TRAIT__'", + "line": 62 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 62 + }, + { + "type": 269, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 62 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 62 + }, + { + "type": 379, + "typeName": "T_TRAIT_C", + "char": "__TRAIT__", + "line": 62 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 62 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 62 + } + ], + "63": [ + { + "type": 93, + "typeName": "]", + "char": "]", "line": 63 }, { @@ -5084,164 +5230,44 @@ { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": "\n ", "line": 63 } ], - "64": [], - "65": [ + "64": [ { - "type": 332, - "typeName": "T_FOREACH", - "char": "foreach", - "line": 65 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 65 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 65 - }, - { - "type": 91, - "typeName": "[", - "char": "[", - "line": 65 - }, - { - "type": 45, - "typeName": "-", - "char": "-", - "line": 65 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "1", - "line": 65 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 65 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 65 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "0", - "line": 65 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 65 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 65 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "1", - "line": 65 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 65 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 65 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "2", - "line": 65 - }, - { - "type": 93, - "typeName": "]", - "char": "]", - "line": 65 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 65 - }, - { - "type": 336, - "typeName": "T_AS", - "char": "as", - "line": 65 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 65 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 65 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 65 + "type": 125, + "typeName": "}", + "char": "}", + "line": 64 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n", - "line": 65 + "line": 64 } ], - "66": [ + "65": [ { - "type": 123, - "typeName": "{", - "char": "{", - "line": 66 + "type": 125, + "typeName": "}", + "char": "}", + "line": 65 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 66 + "char": "\n\n", + "line": 65 } ], + "66": [], "67": [ { "type": 315, "typeName": "T_VARIABLE", - "char": "$not", + "char": "$square", "line": 67 }, { @@ -5263,9 +5289,9 @@ "line": 67 }, { - "type": 341, - "typeName": "T_MATCH", - "char": "match", + "type": 346, + "typeName": "T_FN", + "char": "fn", "line": 67 }, { @@ -5280,6 +5306,18 @@ "char": "(", "line": 67 }, + { + "type": 311, + "typeName": "T_STRING", + "char": "int", + "line": 67 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 67 + }, { "type": 315, "typeName": "T_VARIABLE", @@ -5298,74 +5336,85 @@ "char": " ", "line": 67 }, - { - "type": 123, - "typeName": "{", - "char": "{", - "line": 67 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 67 - } - ], - "68": [ - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "0", - "line": 68 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 68 - }, { "type": 269, "typeName": "T_DOUBLE_ARROW", "char": "=>", - "line": 68 + "line": 67 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 68 + "line": 67 }, { - "type": 309, - "typeName": "T_LNUMBER", - "char": "1", - "line": 68 - }, - { - "type": 44, - "typeName": ",", - "char": ",", - "line": 68 + "type": 315, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 67 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 68 - } - ], - "69": [ + "char": " ", + "line": 67 + }, + { + "type": 304, + "typeName": "T_POW", + "char": "**", + "line": 67 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 67 + }, { "type": 309, "typeName": "T_LNUMBER", - "char": "1", + "char": "2", + "line": 67 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 67 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 67 + } + ], + "68": [], + "69": [ + { + "type": 332, + "typeName": "T_FOREACH", + "char": "foreach", "line": 69 }, { - "type": 44, - "typeName": ",", - "char": ",", + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 69 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 69 + }, + { + "type": 91, + "typeName": "[", + "char": "[", "line": 69 }, { @@ -5381,15 +5430,9 @@ "line": 69 }, { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 69 - }, - { - "type": 269, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", + "type": 44, + "typeName": ",", + "char": ",", "line": 69 }, { @@ -5413,45 +5456,81 @@ { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", + "line": 69 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "1", + "line": 69 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 69 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 69 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "2", + "line": 69 + }, + { + "type": 93, + "typeName": "]", + "char": "]", + "line": 69 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 69 + }, + { + "type": 336, + "typeName": "T_AS", + "char": "as", + "line": 69 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 69 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 69 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 69 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n", "line": 69 } ], "70": [ { - "type": 340, - "typeName": "T_DEFAULT", - "char": "default", - "line": 70 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 70 - }, - { - "type": 269, - "typeName": "T_DOUBLE_ARROW", - "char": "=>", - "line": 70 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 70 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "0", - "line": 70 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 123, + "typeName": "{", + "char": "{", "line": 70 }, { @@ -5463,45 +5542,269 @@ ], "71": [ { - "type": 125, - "typeName": "}", - "char": "}", - "line": 71 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 315, + "typeName": "T_VARIABLE", + "char": "$not", "line": 71 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n", + "char": " ", + "line": 71 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 71 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 71 + }, + { + "type": 341, + "typeName": "T_MATCH", + "char": "match", + "line": 71 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 71 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 71 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 71 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 71 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 71 + }, + { + "type": 123, + "typeName": "{", + "char": "{", + "line": 71 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 71 } ], "72": [ { - "type": 125, - "typeName": "}", - "char": "}", + "type": 309, + "typeName": "T_LNUMBER", + "char": "0", "line": 72 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 72 + }, + { + "type": 269, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 72 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 72 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "1", + "line": 72 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 72 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 72 } ], - "73": [], + "73": [ + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "1", + "line": 73 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 73 + }, + { + "type": 45, + "typeName": "-", + "char": "-", + "line": 73 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "1", + "line": 73 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 73 + }, + { + "type": 269, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 73 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 73 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "0", + "line": 73 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 73 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 73 + } + ], "74": [ + { + "type": 340, + "typeName": "T_DEFAULT", + "char": "default", + "line": 74 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 74 + }, + { + "type": 269, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 74 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 74 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "0", + "line": 74 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 74 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 74 + } + ], + "75": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 75 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 75 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 75 + } + ], + "76": [ + { + "type": 125, + "typeName": "}", + "char": "}", + "line": 76 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 76 + } + ], + "77": [], + "78": [ { "type": 388, "typeName": "T_COMMENT", "char": "\/*", - "line": 74, + "line": 78, "original": { "string": "\/*\n * Multi-line comment\n *\/", "lines": [ @@ -5512,334 +5815,242 @@ } } ], - "75": [ + "79": [ { "type": -1, "typeName": "RAW", "char": " * Multi-line comment", - "line": 75 + "line": 79 } ], - "76": [ + "80": [ { "type": -1, "typeName": "RAW", "char": " *\/", - "line": 76 + "line": 80 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n", - "line": 76 + "line": 80 } ], - "77": [ + "81": [ { "type": 315, "typeName": "T_VARIABLE", "char": "$foobar", - "line": 77 + "line": 81 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 77 + "line": 81 }, { "type": 61, "typeName": "=", "char": "=", - "line": 77 + "line": 81 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 77 + "line": 81 }, { "type": 322, "typeName": "T_NEW", "char": "new", - "line": 77 + "line": 81 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 77 + "line": 81 }, { "type": 311, "typeName": "T_STRING", "char": "FooBar", - "line": 77 + "line": 81 }, { "type": 40, "typeName": "(", "char": "(", - "line": 77 + "line": 81 }, { "type": 41, "typeName": ")", "char": ")", - "line": 77 + "line": 81 }, { "type": 59, "typeName": ";", "char": ";", - "line": 77 + "line": 81 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 77 + "line": 81 } ], - "78": [], - "79": [ + "82": [], + "83": [ { "type": 315, "typeName": "T_VARIABLE", "char": "$baz", - "line": 79 + "line": 83 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 79 + "line": 83 }, { "type": 61, "typeName": "=", "char": "=", - "line": 79 + "line": 83 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 79 + "line": 83 }, { "type": 91, "typeName": "[", "char": "[", - "line": 79 + "line": 83 }, { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'a'", - "line": 79 + "line": 83 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 79 + "line": 83 }, { "type": 269, "typeName": "T_DOUBLE_ARROW", "char": "=>", - "line": 79 + "line": 83 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 79 + "line": 83 }, { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'b'", - "line": 79 + "line": 83 }, { "type": 93, "typeName": "]", "char": "]", - "line": 79 + "line": 83 }, { "type": 59, "typeName": ";", "char": ";", - "line": 79 + "line": 83 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 79 + "line": 83 } ], - "80": [], - "81": [ + "84": [], + "85": [ { "type": 388, "typeName": "T_COMMENT", "char": "\/\/ C++ style comment", - "line": 81 + "line": 85 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n", - "line": 81 - } - ], - "82": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 82 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 82 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 82 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 82 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "3", - "line": 82 - }, - { - "type": 59, - "typeName": ";", - "char": ";", - "line": 82 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n\n", - "line": 82 - } - ], - "83": [], - "84": [ - { - "type": 388, - "typeName": "T_COMMENT", - "char": "# Perl-style comment", - "line": 84 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n", - "line": 84 - } - ], - "85": [ - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$y", - "line": 85 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 85 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 85 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 85 - }, - { - "type": 91, - "typeName": "[", - "char": "[", - "line": 85 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", "line": 85 } ], "86": [ { - "type": 309, - "typeName": "T_LNUMBER", - "char": "1", - "line": 86 - }, - { - "type": 44, - "typeName": ",", - "char": ",", + "type": 315, + "typeName": "T_VARIABLE", + "char": "$x", "line": 86 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", + "char": " ", "line": 86 - } - ], - "87": [ - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "2", - "line": 87 }, { - "type": 44, - "typeName": ",", - "char": ",", - "line": 87 + "type": 61, + "typeName": "=", + "char": "=", + "line": 86 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 87 - } - ], - "88": [ + "char": " ", + "line": 86 + }, { "type": 309, "typeName": "T_LNUMBER", "char": "3", + "line": 86 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 86 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 86 + } + ], + "87": [], + "88": [ + { + "type": 388, + "typeName": "T_COMMENT", + "char": "# Perl-style comment", "line": 88 }, { @@ -5851,44 +6062,87 @@ ], "89": [ { - "type": 93, - "typeName": "]", - "char": "]", - "line": 89 - }, - { - "type": 59, - "typeName": ";", - "char": ";", + "type": 315, + "typeName": "T_VARIABLE", + "char": "$y", "line": 89 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": " ", + "line": 89 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 89 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 89 + }, + { + "type": 91, + "typeName": "[", + "char": "[", + "line": 89 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", "line": 89 } ], - "90": [], + "90": [ + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "1", + "line": 90 + }, + { + "type": 44, + "typeName": ",", + "char": ",", + "line": 90 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 90 + } + ], "91": [ { - "type": 388, - "typeName": "T_COMMENT", - "char": "\/\/ Multi-line ternary statement", + "type": 309, + "typeName": "T_LNUMBER", + "char": "2", + "line": 91 + }, + { + "type": 44, + "typeName": ",", + "char": ",", "line": 91 }, { "type": 393, "typeName": "T_WHITESPACE", - "char": "\n", + "char": "\n ", "line": 91 } ], "92": [ { - "type": 388, - "typeName": "T_COMMENT", - "char": "#{Attribute]", + "type": 309, + "typeName": "T_LNUMBER", + "char": "3", "line": 92 }, { @@ -5900,143 +6154,192 @@ ], "93": [ { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$q", + "type": 93, + "typeName": "]", + "char": "]", "line": 93 }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 93 - }, - { - "type": 61, - "typeName": "=", - "char": "=", - "line": 93 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 93 - }, - { - "type": 40, - "typeName": "(", - "char": "(", - "line": 93 - }, - { - "type": 315, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 93 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 93 - }, - { - "type": 290, - "typeName": "T_IS_NOT_IDENTICAL", - "char": "!==", - "line": 93 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 93 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "2", - "line": 93 - }, - { - "type": 41, - "typeName": ")", - "char": ")", - "line": 93 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 93 - } - ], - "94": [ - { - "type": 63, - "typeName": "?", - "char": "?", - "line": 94 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 94 - }, - { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'yes'", - "line": 94 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": "\n ", - "line": 94 - } - ], - "95": [ - { - "type": 58, - "typeName": ":", - "char": ":", - "line": 95 - }, - { - "type": 393, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 95 - }, - { - "type": 318, - "typeName": "T_CONSTANT_ENCAPSED_STRING", - "char": "'no'", - "line": 95 - }, { "type": 59, "typeName": ";", "char": ";", - "line": 95 + "line": 93 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n\n", + "line": 93 + } + ], + "94": [], + "95": [ + { + "type": 388, + "typeName": "T_COMMENT", + "char": "\/\/ Multi-line ternary statement", + "line": 95 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n", "line": 95 } ], - "96": [], + "96": [ + { + "type": 388, + "typeName": "T_COMMENT", + "char": "#{Attribute]", + "line": 96 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 96 + } + ], "97": [ + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$q", + "line": 97 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 97 + }, + { + "type": 61, + "typeName": "=", + "char": "=", + "line": 97 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 97 + }, + { + "type": 40, + "typeName": "(", + "char": "(", + "line": 97 + }, + { + "type": 315, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 97 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 97 + }, + { + "type": 290, + "typeName": "T_IS_NOT_IDENTICAL", + "char": "!==", + "line": 97 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 97 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "2", + "line": 97 + }, + { + "type": 41, + "typeName": ")", + "char": ")", + "line": 97 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 97 + } + ], + "98": [ + { + "type": 63, + "typeName": "?", + "char": "?", + "line": 98 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 98 + }, + { + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'yes'", + "line": 98 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 98 + } + ], + "99": [ + { + "type": 58, + "typeName": ":", + "char": ":", + "line": 99 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 99 + }, + { + "type": 318, + "typeName": "T_CONSTANT_ENCAPSED_STRING", + "char": "'no'", + "line": 99 + }, + { + "type": 59, + "typeName": ";", + "char": ";", + "line": 99 + }, + { + "type": 393, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 99 + } + ], + "100": [], + "101": [ { "type": 388, "typeName": "T_COMMENT", "char": "\/*", - "line": 97, + "line": 101, "original": { "string": "\/*\nHeredoc\n*\/", "lines": [ @@ -6047,118 +6350,118 @@ } } ], - "98": [ + "102": [ { "type": -1, "typeName": "RAW", "char": "Heredoc", - "line": 98 + "line": 102 } ], - "99": [ + "103": [ { "type": -1, "typeName": "RAW", "char": "*\/", - "line": 99 + "line": 103 }, { "type": 315, "typeName": "T_VARIABLE", "char": "$z", - "line": 99 + "line": 103 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 99 + "line": 103 }, { "type": 61, "typeName": "=", "char": "=", - "line": 99 + "line": 103 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 99 + "line": 103 }, { "type": 315, "typeName": "T_VARIABLE", "char": "$x", - "line": 99 + "line": 103 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 99 + "line": 103 }, { "type": 43, "typeName": "+", "char": "+", - "line": 99 + "line": 103 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 99 + "line": 103 }, { "type": 315, "typeName": "T_VARIABLE", "char": "$y", - "line": 99 + "line": 103 }, { "type": 59, "typeName": ";", "char": ";", - "line": 99 + "line": 103 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n", - "line": 99 + "line": 103 } ], - "100": [ + "104": [ { "type": 315, "typeName": "T_VARIABLE", "char": "$sql", - "line": 100 + "line": 104 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 100 + "line": 104 }, { "type": 61, "typeName": "=", "char": "=", - "line": 100 + "line": 104 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 100 + "line": 104 }, { "type": 394, "typeName": "T_START_HEREDOC", "char": "<<<SQL", - "line": 100, + "line": 104, "original": { "string": "<<<SQL\n", "lines": [ @@ -6168,36 +6471,36 @@ } } ], - "101": [ + "105": [ { "type": 317, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": " SELECT * FROM \"foo\" WHERE \"bar\"='baz' AND id=", - "line": 101 + "line": 105 }, { "type": 397, "typeName": "T_CURLY_OPEN", "char": "{", - "line": 101 + "line": 105 }, { "type": 315, "typeName": "T_VARIABLE", "char": "$x", - "line": 101 + "line": 105 }, { "type": 125, "typeName": "}", "char": "}", - "line": 101 + "line": 105 }, { "type": 317, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": ";", - "line": 101, + "line": 105, "original": { "string": ";\n", "lines": [ @@ -6207,71 +6510,71 @@ } } ], - "102": [ + "106": [ { "type": 395, "typeName": "T_END_HEREDOC", "char": "SQL", - "line": 102 + "line": 106 }, { "type": 59, "typeName": ";", "char": ";", - "line": 102 + "line": 106 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 102 + "line": 106 } ], - "103": [], - "104": [ + "107": [], + "108": [ { "type": 388, "typeName": "T_COMMENT", "char": "\/* Nowdoc *\/", - "line": 104 + "line": 108 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n", - "line": 104 + "line": 108 } ], - "105": [ + "109": [ { "type": 315, "typeName": "T_VARIABLE", "char": "$template", - "line": 105 + "line": 109 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 105 + "line": 109 }, { "type": 61, "typeName": "=", "char": "=", - "line": 105 + "line": 109 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 105 + "line": 109 }, { "type": 394, "typeName": "T_START_HEREDOC", "char": "<<<'TEMPLATE'", - "line": 105, + "line": 109, "original": { "string": "<<<'TEMPLATE'\n", "lines": [ @@ -6281,12 +6584,12 @@ } } ], - "106": [ + "110": [ { "type": 317, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": " <foo>{x}<\/foo>", - "line": 106, + "line": 110, "original": { "string": " <foo>{x}<\/foo>\n", "lines": [ @@ -6296,33 +6599,33 @@ } } ], - "107": [ + "111": [ { "type": 395, "typeName": "T_END_HEREDOC", "char": "TEMPLATE", - "line": 107 + "line": 111 }, { "type": 59, "typeName": ";", "char": ";", - "line": 107 + "line": 111 }, { "type": 393, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 107 + "line": 111 } ], - "108": [], - "109": [ + "112": [], + "113": [ { "type": 392, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 109, + "line": 113, "original": { "string": "?>\n", "lines": [ @@ -6332,12 +6635,12 @@ } } ], - "110": [ + "114": [ { "type": 316, "typeName": "T_INLINE_HTML", "char": "<!DOCTYPE html>", - "line": 110, + "line": 114, "original": { "string": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>HTML<\/title>\n<\/head>\n<body>\n<h1>", "lines": [ @@ -6352,43 +6655,11 @@ } } ], - "111": [ - { - "type": -1, - "typeName": "RAW", - "char": "<html lang=\"en\">", - "line": 111 - } - ], - "112": [ - { - "type": -1, - "typeName": "RAW", - "char": "<head>", - "line": 112 - } - ], - "113": [ - { - "type": -1, - "typeName": "RAW", - "char": "<title>HTML<\/title>", - "line": 113 - } - ], - "114": [ - { - "type": -1, - "typeName": "RAW", - "char": "<\/head>", - "line": 114 - } - ], "115": [ { "type": -1, "typeName": "RAW", - "char": "<body>", + "char": "<html lang=\"en\">", "line": 115 } ], @@ -6396,62 +6667,94 @@ { "type": -1, "typeName": "RAW", - "char": "<h1>", + "char": "<head>", "line": 116 + } + ], + "117": [ + { + "type": -1, + "typeName": "RAW", + "char": "<title>HTML<\/title>", + "line": 117 + } + ], + "118": [ + { + "type": -1, + "typeName": "RAW", + "char": "<\/head>", + "line": 118 + } + ], + "119": [ + { + "type": -1, + "typeName": "RAW", + "char": "<body>", + "line": 119 + } + ], + "120": [ + { + "type": -1, + "typeName": "RAW", + "char": "<h1>", + "line": 120 }, { "type": 391, "typeName": "T_OPEN_TAG_WITH_ECHO", "char": "<?=", - "line": 116 + "line": 120 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 116 + "line": 120 }, { "type": 315, "typeName": "T_VARIABLE", "char": "$_SERVER", - "line": 116 + "line": 120 }, { "type": 91, "typeName": "[", "char": "[", - "line": 116 + "line": 120 }, { "type": 318, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'HTTP_HOST'", - "line": 116 + "line": 120 }, { "type": 93, "typeName": "]", "char": "]", - "line": 116 + "line": 120 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 116 + "line": 120 }, { "type": 392, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 116 + "line": 120 }, { "type": 316, "typeName": "T_INLINE_HTML", "char": "<\/h1>", - "line": 116, + "line": 120, "original": { "string": "<\/h1>\n<\/body>\n<\/html>\n", "lines": [ @@ -6463,65 +6766,73 @@ } } ], - "117": [ + "121": [ { "type": -1, "typeName": "RAW", "char": "<\/body>", - "line": 117 + "line": 121 } ], - "118": [ + "122": [ { "type": -1, "typeName": "RAW", "char": "<\/html>", - "line": 118 + "line": 122 } ], - "119": [ + "123": [ { "type": 390, "typeName": "T_OPEN_TAG", "char": "<?php ", - "line": 119 + "line": 123 }, { "type": 323, "typeName": "T_EXIT", "char": "exit", - "line": 119 + "line": 123 }, { "type": 40, "typeName": "(", "char": "(", - "line": 119 + "line": 123 }, { "type": 41, "typeName": ")", "char": ")", - "line": 119 + "line": 123 }, { "type": 59, "typeName": ";", "char": ";", - "line": 119 + "line": 123 }, { "type": 393, "typeName": "T_WHITESPACE", "char": " ", - "line": 119 + "line": 123 }, { "type": 392, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 119 + "line": 123, + "original": { + "string": "?>\n", + "lines": [ + "?>", + "" + ] + } } - ] + ], + "124": [] } }