diff --git a/diff b/diff index 0f00bd0..e9424e2 100644 --- a/diff +++ b/diff @@ -159,8 +159,10 @@ 159 -160 -161 +-162 163 164 +-165 166 167 168 @@ -172,6 +174,7 @@ 174 175 176 +-177 178 179 180 @@ -180,10 +183,14 @@ 183 184 185 +-186 187 188 189 +-190 191 +-192 +-193 194 195 196 @@ -192,7 +199,11 @@ 199 200 201 +-202 +-203 204 +-205 +-206 208 209 211 @@ -380,17 +391,6 @@ 528 --162 --165 --177 --186 --190 --192 --193 --202 --203 --205 --206 -207 -210 -215 diff --git a/log b/log index 772bc8c..7718c38 100644 --- a/log +++ b/log @@ -1,4 +1,4 @@ -==> /Users/Vadim/work/go/src/github.com/z7zmey/php-parser/example.php +==> /Users/z7zmey/work/go/src/github.com/z7zmey/php-parser/example.php 2 3 474 @@ -690,7 +690,9 @@ 42 38 36 -129 +44 +42 +128 47 42 5 @@ -753,13 +755,23 @@ 99 104 167 -201 +206 199 -204 +203 200 198 317 -89 +88 +139 +37 +194 +171 +166 +202 +199 +198 +317 +88 139 37 194 @@ -773,6 +785,17 @@ 99 104 167 +205 +199 +201 +200 +198 +317 +88 +139 +193 +171 +166 93 87 7 @@ -899,10 +922,6 @@ 374 373 119 -360 -374 -373 -120 37 44 42 @@ -1278,17 +1297,7 @@ 1 317 88 -145 -88 -90 -142 -140 -146 -88 -90 -142 -141 -138 +139 37 55 42 @@ -1325,23 +1334,6 @@ 158 159 157 -474 -473 -468 -465 -448 -438 -160 -157 -3 -148 -324 -467 -448 -438 -434 -161 -157 59 42 5 @@ -1647,29 +1639,6 @@ 299 435 37 -126 -360 -424 -299 -435 -37 -126 -124 -50 -42 -5 -1 -360 -424 -299 -435 -436 -125 -360 -424 -299 -435 -37 51 42 38 @@ -1690,37 +1659,6 @@ 42 5 1 -360 -424 -299 -435 -436 -125 -360 -424 -299 -435 -37 -51 -42 -38 -36 -126 -360 -424 -299 -435 -37 -51 -42 -38 -36 -126 -122 -50 -42 -5 -1 474 473 468 @@ -1765,7 +1703,57 @@ 3 336 174 -175 +177 +176 +172 +170 +166 +93 +87 +7 +1 +95 +99 +104 +167 +3 +336 +173 +3 +336 +174 +186 +201 +190 +182 +179 +178 +176 +172 +170 +166 +93 +87 +7 +1 +95 +99 +104 +167 +3 +336 +173 +3 +336 +174 +186 +201 +192 +189 +182 +179 +178 +176 172 170 166 @@ -2278,15 +2266,7 @@ 5 1 3 -474 -473 -468 -465 -448 -439 -155 -151 -149 +148 325 467 448 @@ -2297,12 +2277,7 @@ 5 1 3 -492 -316 -301 -153 -151 -149 +148 326 467 448 @@ -2315,13 +2290,7 @@ 474 473 458 -474 -473 -468 -465 -448 -308 -150 +148 331 467 448 @@ -3971,7 +3940,7 @@ | *expr.Variable Pos{Line: 6-6 Pos: 100-101} | "VarName": | *node.Identifier Pos{Line: 6-6 Pos: 100-101} map[Value:$a] - | *node.Argument Pos{Line: 6-6 Pos: 104-108} map[Variadic:true IsReference:false] + | *node.Argument Pos{Line: 6-6 Pos: 104-108} map[IsReference:false Variadic:true] | "Expr": | *expr.Variable Pos{Line: 6-6 Pos: 107-108} | "VarName": @@ -3989,7 +3958,7 @@ | *expr.Variable Pos{Line: 7-7 Pos: 122-123} | "VarName": | *node.Identifier Pos{Line: 7-7 Pos: 122-123} map[Value:$a] - | *node.Argument Pos{Line: 7-7 Pos: 126-130} map[Variadic:true IsReference:false] + | *node.Argument Pos{Line: 7-7 Pos: 126-130} map[IsReference:false Variadic:true] | "Expr": | *expr.Variable Pos{Line: 7-7 Pos: 129-130} | "VarName": @@ -4027,7 +3996,7 @@ | "ClassName": | *node.Identifier Pos{Line: 10-10 Pos: 190-192} map[Value:foo] | "Stmts": - | *stmt.ClassMethod Pos{Line: 10-10 Pos: 195-245} map[ReturnsRef:false PhpDocComment:] + | *stmt.ClassMethod Pos{Line: 10-10 Pos: 195-245} map[PhpDocComment: ReturnsRef:false] | "MethodName": | *node.Identifier Pos{Line: 10-10 Pos: 211-213} map[Value:foo] | "Modifiers": @@ -4077,7 +4046,7 @@ | *name.Name Pos{Line: 11-11 Pos: 268-271} | "Parts": | *name.NamePart Pos{Line: 11-11 Pos: 268-271} map[Value:null] - | *node.Parameter Pos{Line: 11-11 Pos: 274-285} map[ByRef:true Variadic:true] + | *node.Parameter Pos{Line: 11-11 Pos: 274-285} map[Variadic:true ByRef:true] | "VariableType": | *name.Name Pos{Line: 11-11 Pos: 274-276} | "Parts": @@ -4092,7 +4061,7 @@ | "Expr": | *expr.Closure Pos{Line: 12-12 Pos: 294-340} map[ReturnsRef:false Static:true PhpDocComment:] | "Params": - | *node.Parameter Pos{Line: 12-12 Pos: 310-322} map[Variadic:false ByRef:false] + | *node.Parameter Pos{Line: 12-12 Pos: 310-322} map[ByRef:false Variadic:false] | "VariableType": | *name.Name Pos{Line: 12-12 Pos: 310-312} | "Parts": @@ -4332,2108 +4301,2087 @@ | *stmt.Break Pos{Line: 70-70 Pos: 1117-1124} | "Expr": | *scalar.Lnumber Pos{Line: 70-70 Pos: 1123-1123} map[Value:2] - | *stmt.While Pos{Line: 71-71 Pos: 1130-1160} + | *stmt.While Pos{Line: 71-71 Pos: 1130-1152} | "Cond": | *scalar.Lnumber Pos{Line: 71-71 Pos: 1137-1137} map[Value:1] | "Stmt": - | *stmt.StmtList Pos{Line: 71-71 Pos: 1140-1160} + | *stmt.StmtList Pos{Line: 71-71 Pos: 1140-1152} | "Stmts": | *stmt.Break Pos{Line: 71-71 Pos: 1142-1150} | "Expr": | *scalar.Lnumber Pos{Line: 71-71 Pos: 1148-1148} map[Value:3] - | *stmt.Class Pos{Line: 72-72 Pos: 1164-1168} map[PhpDocComment:] + | *stmt.Class Pos{Line: 72-72 Pos: 1156-1160} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 72-72 Pos: 1170-1172} map[Value:foo] + | *node.Identifier Pos{Line: 72-72 Pos: 1162-1164} map[Value:foo] | "Stmts": - | *stmt.ClassConstList Pos{Line: 72-72 Pos: 1175-1196} + | *stmt.ClassConstList Pos{Line: 72-72 Pos: 1167-1188} | "Consts": - | *stmt.Constant Pos{Line: 72-72 Pos: 1181-1187} map[PhpDocComment:] + | *stmt.Constant Pos{Line: 72-72 Pos: 1173-1179} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 72-72 Pos: 1181-1183} map[Value:FOO] + | *node.Identifier Pos{Line: 72-72 Pos: 1173-1175} map[Value:FOO] | "Expr": - | *scalar.Lnumber Pos{Line: 72-72 Pos: 1187-1187} map[Value:1] - | *stmt.Constant Pos{Line: 72-72 Pos: 1190-1196} map[PhpDocComment:] + | *scalar.Lnumber Pos{Line: 72-72 Pos: 1179-1179} map[Value:1] + | *stmt.Constant Pos{Line: 72-72 Pos: 1182-1188} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 72-72 Pos: 1190-1192} map[Value:BAR] + | *node.Identifier Pos{Line: 72-72 Pos: 1182-1184} map[Value:BAR] | "Expr": - | *scalar.Lnumber Pos{Line: 72-72 Pos: 1196-1196} map[Value:2] - | *stmt.Class Pos{Line: 73-73 Pos: 1203-1207} map[PhpDocComment:] + | *scalar.Lnumber Pos{Line: 72-72 Pos: 1188-1188} map[Value:2] + | *stmt.Class Pos{Line: 73-73 Pos: 1195-1199} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 73-73 Pos: 1209-1211} map[Value:foo] + | *node.Identifier Pos{Line: 73-73 Pos: 1201-1203} map[Value:foo] | "Stmts": - | *stmt.ClassMethod Pos{Line: 73-73 Pos: 1214-1230} map[ReturnsRef:false PhpDocComment:] + | *stmt.ClassMethod Pos{Line: 73-73 Pos: 1206-1222} map[ReturnsRef:false PhpDocComment:] | "MethodName": - | *node.Identifier Pos{Line: 73-73 Pos: 1223-1225} map[Value:bar] + | *node.Identifier Pos{Line: 73-73 Pos: 1215-1217} map[Value:bar] | "Stmts": - | *stmt.Class Pos{Line: 74-74 Pos: 1236-1240} map[PhpDocComment:] + | *stmt.Class Pos{Line: 74-74 Pos: 1228-1232} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 74-74 Pos: 1242-1244} map[Value:foo] + | *node.Identifier Pos{Line: 74-74 Pos: 1234-1236} map[Value:foo] | "Stmts": - | *stmt.ClassMethod Pos{Line: 74-74 Pos: 1247-1278} map[ReturnsRef:true PhpDocComment:] + | *stmt.ClassMethod Pos{Line: 74-74 Pos: 1239-1270} map[ReturnsRef:true PhpDocComment:] | "MethodName": - | *node.Identifier Pos{Line: 74-74 Pos: 1271-1273} map[Value:bar] + | *node.Identifier Pos{Line: 74-74 Pos: 1263-1265} map[Value:bar] | "Modifiers": - | *node.Identifier Pos{Line: 74-74 Pos: 1247-1252} map[Value:public] - | *node.Identifier Pos{Line: 74-74 Pos: 1254-1259} map[Value:static] + | *node.Identifier Pos{Line: 74-74 Pos: 1239-1244} map[Value:public] + | *node.Identifier Pos{Line: 74-74 Pos: 1246-1251} map[Value:static] | "Stmts": - | *stmt.Class Pos{Line: 75-75 Pos: 1284-1288} map[PhpDocComment:] + | *stmt.Class Pos{Line: 75-75 Pos: 1276-1280} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 75-75 Pos: 1290-1292} map[Value:foo] + | *node.Identifier Pos{Line: 75-75 Pos: 1282-1284} map[Value:foo] | "Stmts": - | *stmt.ClassMethod Pos{Line: 75-75 Pos: 1295-1326} map[ReturnsRef:true PhpDocComment:] + | *stmt.ClassMethod Pos{Line: 75-75 Pos: 1287-1317} map[ReturnsRef:false PhpDocComment:] | "MethodName": - | *node.Identifier Pos{Line: 75-75 Pos: 1319-1321} map[Value:bar] + | *node.Identifier Pos{Line: 75-75 Pos: 1310-1312} map[Value:bar] | "Modifiers": - | *node.Identifier Pos{Line: 75-75 Pos: 1295-1300} map[Value:public] - | *node.Identifier Pos{Line: 75-75 Pos: 1302-1307} map[Value:static] + | *node.Identifier Pos{Line: 75-75 Pos: 1287-1291} map[Value:final] + | *node.Identifier Pos{Line: 75-75 Pos: 1293-1299} map[Value:private] | "Stmts": - | *stmt.Class Pos{Line: 76-76 Pos: 1332-1345} map[PhpDocComment:] + | *stmt.ClassMethod Pos{Line: 75-75 Pos: 1319-1345} map[PhpDocComment: ReturnsRef:false] + | "MethodName": + | *node.Identifier Pos{Line: 75-75 Pos: 1338-1340} map[Value:baz] + | "Modifiers": + | *node.Identifier Pos{Line: 75-75 Pos: 1319-1327} map[Value:protected] + | "Stmts": + | *stmt.Class Pos{Line: 76-76 Pos: 1351-1364} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 76-76 Pos: 1347-1349} map[Value:foo] + | *node.Identifier Pos{Line: 76-76 Pos: 1366-1368} map[Value:foo] | "Modifiers": - | *node.Identifier Pos{Line: 76-76 Pos: 1332-1339} map[Value:abstract] + | *node.Identifier Pos{Line: 76-76 Pos: 1351-1358} map[Value:abstract] | "Stmts": - | *stmt.Class Pos{Line: 77-77 Pos: 1356-1366} map[PhpDocComment:] + | *stmt.ClassMethod Pos{Line: 76-76 Pos: 1371-1401} map[ReturnsRef:false PhpDocComment:] + | "MethodName": + | *node.Identifier Pos{Line: 76-76 Pos: 1396-1398} map[Value:bar] + | "Modifiers": + | *node.Identifier Pos{Line: 76-76 Pos: 1371-1378} map[Value:abstract] + | *node.Identifier Pos{Line: 76-76 Pos: 1380-1385} map[Value:public] + | *stmt.Class Pos{Line: 77-77 Pos: 1407-1417} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 77-77 Pos: 1368-1370} map[Value:foo] + | *node.Identifier Pos{Line: 77-77 Pos: 1419-1421} map[Value:foo] | "Modifiers": - | *node.Identifier Pos{Line: 77-77 Pos: 1356-1360} map[Value:final] + | *node.Identifier Pos{Line: 77-77 Pos: 1407-1411} map[Value:final] | "Extends": - | *name.Name Pos{Line: 77-77 Pos: 1380-1382} + | *name.Name Pos{Line: 77-77 Pos: 1431-1433} | "Parts": - | *name.NamePart Pos{Line: 77-77 Pos: 1380-1382} map[Value:bar] + | *name.NamePart Pos{Line: 77-77 Pos: 1431-1433} map[Value:bar] | "Stmts": - | *stmt.Class Pos{Line: 78-78 Pos: 1390-1400} map[PhpDocComment:] + | *stmt.Class Pos{Line: 78-78 Pos: 1441-1451} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 78-78 Pos: 1402-1404} map[Value:foo] + | *node.Identifier Pos{Line: 78-78 Pos: 1453-1455} map[Value:foo] | "Modifiers": - | *node.Identifier Pos{Line: 78-78 Pos: 1390-1394} map[Value:final] + | *node.Identifier Pos{Line: 78-78 Pos: 1441-1445} map[Value:final] | "Implements": - | *name.Name Pos{Line: 78-78 Pos: 1417-1419} + | *name.Name Pos{Line: 78-78 Pos: 1468-1470} | "Parts": - | *name.NamePart Pos{Line: 78-78 Pos: 1417-1419} map[Value:bar] + | *name.NamePart Pos{Line: 78-78 Pos: 1468-1470} map[Value:bar] | "Stmts": - | *stmt.Class Pos{Line: 79-79 Pos: 1427-1437} map[PhpDocComment:] + | *stmt.Class Pos{Line: 79-79 Pos: 1478-1488} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 79-79 Pos: 1439-1441} map[Value:foo] + | *node.Identifier Pos{Line: 79-79 Pos: 1490-1492} map[Value:foo] | "Modifiers": - | *node.Identifier Pos{Line: 79-79 Pos: 1427-1431} map[Value:final] + | *node.Identifier Pos{Line: 79-79 Pos: 1478-1482} map[Value:final] | "Implements": - | *name.Name Pos{Line: 79-79 Pos: 1454-1456} + | *name.Name Pos{Line: 79-79 Pos: 1505-1507} | "Parts": - | *name.NamePart Pos{Line: 79-79 Pos: 1454-1456} map[Value:bar] - | *name.Name Pos{Line: 79-79 Pos: 1459-1461} + | *name.NamePart Pos{Line: 79-79 Pos: 1505-1507} map[Value:bar] + | *name.Name Pos{Line: 79-79 Pos: 1510-1512} | "Parts": - | *name.NamePart Pos{Line: 79-79 Pos: 1459-1461} map[Value:baz] + | *name.NamePart Pos{Line: 79-79 Pos: 1510-1512} map[Value:baz] | "Stmts": - | *stmt.ConstList Pos{Line: 81-81 Pos: 1470-1491} + | *stmt.ConstList Pos{Line: 81-81 Pos: 1521-1542} | "Consts": - | *stmt.Constant Pos{Line: 81-81 Pos: 1476-1482} map[PhpDocComment:] + | *stmt.Constant Pos{Line: 81-81 Pos: 1527-1533} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 81-81 Pos: 1476-1478} map[Value:FOO] + | *node.Identifier Pos{Line: 81-81 Pos: 1527-1529} map[Value:FOO] | "Expr": - | *scalar.Lnumber Pos{Line: 81-81 Pos: 1482-1482} map[Value:1] - | *stmt.Constant Pos{Line: 81-81 Pos: 1485-1491} map[PhpDocComment:] + | *scalar.Lnumber Pos{Line: 81-81 Pos: 1533-1533} map[Value:1] + | *stmt.Constant Pos{Line: 81-81 Pos: 1536-1542} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 81-81 Pos: 1485-1487} map[Value:BAR] + | *node.Identifier Pos{Line: 81-81 Pos: 1536-1538} map[Value:BAR] | "Expr": - | *scalar.Lnumber Pos{Line: 81-81 Pos: 1491-1491} map[Value:2] - | *stmt.While Pos{Line: 82-82 Pos: 1496-1518} + | *scalar.Lnumber Pos{Line: 81-81 Pos: 1542-1542} map[Value:2] + | *stmt.While Pos{Line: 82-82 Pos: 1547-1569} | "Cond": - | *scalar.Lnumber Pos{Line: 82-82 Pos: 1503-1503} map[Value:1] + | *scalar.Lnumber Pos{Line: 82-82 Pos: 1554-1554} map[Value:1] | "Stmt": - | *stmt.StmtList Pos{Line: 82-82 Pos: 1506-1518} + | *stmt.StmtList Pos{Line: 82-82 Pos: 1557-1569} | "Stmts": - | *stmt.Continue Pos{Line: 82-82 Pos: 1508-1516} - | *stmt.While Pos{Line: 83-83 Pos: 1522-1546} + | *stmt.Continue Pos{Line: 82-82 Pos: 1559-1567} + | *stmt.While Pos{Line: 83-83 Pos: 1573-1597} | "Cond": - | *scalar.Lnumber Pos{Line: 83-83 Pos: 1529-1529} map[Value:1] + | *scalar.Lnumber Pos{Line: 83-83 Pos: 1580-1580} map[Value:1] | "Stmt": - | *stmt.StmtList Pos{Line: 83-83 Pos: 1532-1546} + | *stmt.StmtList Pos{Line: 83-83 Pos: 1583-1597} | "Stmts": - | *stmt.Continue Pos{Line: 83-83 Pos: 1534-1544} + | *stmt.Continue Pos{Line: 83-83 Pos: 1585-1595} | "Expr": - | *scalar.Lnumber Pos{Line: 83-83 Pos: 1543-1543} map[Value:2] - | *stmt.While Pos{Line: 84-84 Pos: 1550-1575} + | *scalar.Lnumber Pos{Line: 83-83 Pos: 1594-1594} map[Value:2] + | *stmt.While Pos{Line: 84-84 Pos: 1601-1626} | "Cond": - | *scalar.Lnumber Pos{Line: 84-84 Pos: 1557-1557} map[Value:1] + | *scalar.Lnumber Pos{Line: 84-84 Pos: 1608-1608} map[Value:1] | "Stmt": - | *stmt.StmtList Pos{Line: 84-84 Pos: 1560-1575} + | *stmt.StmtList Pos{Line: 84-84 Pos: 1611-1626} | "Stmts": - | *stmt.Continue Pos{Line: 84-84 Pos: 1562-1573} + | *stmt.Continue Pos{Line: 84-84 Pos: 1613-1624} | "Expr": - | *scalar.Lnumber Pos{Line: 84-84 Pos: 1571-1571} map[Value:3] - | *stmt.Declare Pos{Line: 85-85 Pos: 1579-1595} + | *scalar.Lnumber Pos{Line: 84-84 Pos: 1622-1622} map[Value:3] + | *stmt.Declare Pos{Line: 85-85 Pos: 1630-1646} | "Consts": - | *stmt.Constant Pos{Line: 85-85 Pos: 1587-1593} map[PhpDocComment:] + | *stmt.Constant Pos{Line: 85-85 Pos: 1638-1644} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 85-85 Pos: 1587-1591} map[Value:ticks] + | *node.Identifier Pos{Line: 85-85 Pos: 1638-1642} map[Value:ticks] | "Expr": - | *scalar.Lnumber Pos{Line: 85-85 Pos: 1593-1593} map[Value:1] + | *scalar.Lnumber Pos{Line: 85-85 Pos: 1644-1644} map[Value:1] | "Stmt": - | *stmt.Nop Pos{Line: 121-121 Pos: 2459-2460} - | *stmt.Declare Pos{Line: 86-86 Pos: 1599-1633} + | *stmt.Nop Pos{Line: 119-119 Pos: 2508-2509} + | *stmt.Declare Pos{Line: 86-86 Pos: 1650-1668} | "Consts": - | *stmt.Constant Pos{Line: 86-86 Pos: 1607-1613} map[PhpDocComment:] + | *stmt.Constant Pos{Line: 86-86 Pos: 1658-1664} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 86-86 Pos: 1607-1611} map[Value:ticks] + | *node.Identifier Pos{Line: 86-86 Pos: 1658-1662} map[Value:ticks] | "Expr": - | *scalar.Lnumber Pos{Line: 86-86 Pos: 1613-1613} map[Value:1] - | *stmt.Constant Pos{Line: 86-86 Pos: 1616-1629} map[PhpDocComment:] - | "ConstantName": - | *node.Identifier Pos{Line: 86-86 Pos: 1616-1627} map[Value:strict_types] - | "Expr": - | *scalar.Lnumber Pos{Line: 86-86 Pos: 1629-1629} map[Value:1] + | *scalar.Lnumber Pos{Line: 86-86 Pos: 1664-1664} map[Value:1] | "Stmt": - | *stmt.StmtList Pos{Line: 86-86 Pos: 1632-1633} + | *stmt.StmtList Pos{Line: 86-86 Pos: 1667-1668} | "Stmts": - | *stmt.Declare Pos{Line: 87-87 Pos: 1637-1665} + | *stmt.Declare Pos{Line: 87-87 Pos: 1672-1700} | "Consts": - | *stmt.Constant Pos{Line: 87-87 Pos: 1645-1651} map[PhpDocComment:] + | *stmt.Constant Pos{Line: 87-87 Pos: 1680-1686} map[PhpDocComment:] | "ConstantName": - | *node.Identifier Pos{Line: 87-87 Pos: 1645-1649} map[Value:ticks] + | *node.Identifier Pos{Line: 87-87 Pos: 1680-1684} map[Value:ticks] | "Expr": - | *scalar.Lnumber Pos{Line: 87-87 Pos: 1651-1651} map[Value:1] + | *scalar.Lnumber Pos{Line: 87-87 Pos: 1686-1686} map[Value:1] | "Stmt": - | *stmt.StmtList Pos{Line: 87-87 Pos: 1653-1665} + | *stmt.StmtList Pos{Line: 87-87 Pos: 1688-1700} | "Stmts": - | *stmt.Do Pos{Line: 88-88 Pos: 1669-1683} + | *stmt.Do Pos{Line: 88-88 Pos: 1704-1718} | "Stmt": - | *stmt.StmtList Pos{Line: 88-88 Pos: 1672-1673} + | *stmt.StmtList Pos{Line: 88-88 Pos: 1707-1708} | "Stmts": | "Cond": - | *scalar.Lnumber Pos{Line: 88-88 Pos: 1681-1681} map[Value:1] - | *stmt.Echo Pos{Line: 89-89 Pos: 1687-1697} + | *scalar.Lnumber Pos{Line: 88-88 Pos: 1716-1716} map[Value:1] + | *stmt.Echo Pos{Line: 89-89 Pos: 1722-1732} | "Exprs": - | *expr.Variable Pos{Line: 89-89 Pos: 1692-1693} + | *expr.Variable Pos{Line: 89-89 Pos: 1727-1728} | "VarName": - | *node.Identifier Pos{Line: 89-89 Pos: 1692-1693} map[Value:$a] - | *scalar.Lnumber Pos{Line: 89-89 Pos: 1696-1696} map[Value:1] - | *stmt.Echo Pos{Line: 90-90 Pos: 1701-1709} + | *node.Identifier Pos{Line: 89-89 Pos: 1727-1728} map[Value:$a] + | *scalar.Lnumber Pos{Line: 89-89 Pos: 1731-1731} map[Value:1] + | *stmt.Echo Pos{Line: 90-90 Pos: 1736-1744} | "Exprs": - | *expr.Variable Pos{Line: 90-90 Pos: 1706-1707} + | *expr.Variable Pos{Line: 90-90 Pos: 1741-1742} | "VarName": - | *node.Identifier Pos{Line: 90-90 Pos: 1706-1707} map[Value:$a] - | *stmt.For Pos{Line: 91-91 Pos: 1713-1747} + | *node.Identifier Pos{Line: 90-90 Pos: 1741-1742} map[Value:$a] + | *stmt.For Pos{Line: 91-91 Pos: 1754-1788} | "Init": - | *assign_op.Assign Pos{Line: 91-91 Pos: 1717-1722} + | *assign_op.Assign Pos{Line: 91-91 Pos: 1758-1763} | "Variable": - | *expr.Variable Pos{Line: 91-91 Pos: 1717-1718} + | *expr.Variable Pos{Line: 91-91 Pos: 1758-1759} | "VarName": - | *node.Identifier Pos{Line: 91-91 Pos: 1717-1718} map[Value:$i] + | *node.Identifier Pos{Line: 91-91 Pos: 1758-1759} map[Value:$i] | "Expression": - | *scalar.Lnumber Pos{Line: 91-91 Pos: 1722-1722} map[Value:0] + | *scalar.Lnumber Pos{Line: 91-91 Pos: 1763-1763} map[Value:0] | "Cond": - | *binary_op.Smaller Pos{Line: 91-91 Pos: 1725-1731} + | *binary_op.Smaller Pos{Line: 91-91 Pos: 1766-1772} | "Left": - | *expr.Variable Pos{Line: 91-91 Pos: 1725-1726} + | *expr.Variable Pos{Line: 91-91 Pos: 1766-1767} | "VarName": - | *node.Identifier Pos{Line: 91-91 Pos: 1725-1726} map[Value:$i] + | *node.Identifier Pos{Line: 91-91 Pos: 1766-1767} map[Value:$i] | "Right": - | *scalar.Lnumber Pos{Line: 91-91 Pos: 1730-1731} map[Value:10] + | *scalar.Lnumber Pos{Line: 91-91 Pos: 1771-1772} map[Value:10] | "Loop": - | *expr.PostInc Pos{Line: 91-91 Pos: 1734-1737} + | *expr.PostInc Pos{Line: 91-91 Pos: 1775-1778} | "Variable": - | *expr.Variable Pos{Line: 91-91 Pos: 1734-1735} + | *expr.Variable Pos{Line: 91-91 Pos: 1775-1776} | "VarName": - | *node.Identifier Pos{Line: 91-91 Pos: 1734-1735} map[Value:$i] - | *expr.PostInc Pos{Line: 91-91 Pos: 1740-1743} + | *node.Identifier Pos{Line: 91-91 Pos: 1775-1776} map[Value:$i] + | *expr.PostInc Pos{Line: 91-91 Pos: 1781-1784} | "Variable": - | *expr.Variable Pos{Line: 91-91 Pos: 1740-1741} + | *expr.Variable Pos{Line: 91-91 Pos: 1781-1782} | "VarName": - | *node.Identifier Pos{Line: 91-91 Pos: 1740-1741} map[Value:$i] + | *node.Identifier Pos{Line: 91-91 Pos: 1781-1782} map[Value:$i] | "Stmt": - | *stmt.StmtList Pos{Line: 91-91 Pos: 1746-1747} + | *stmt.StmtList Pos{Line: 91-91 Pos: 1787-1788} | "Stmts": - | *stmt.For Pos{Line: 92-92 Pos: 1751-1792} + | *stmt.For Pos{Line: 92-92 Pos: 1792-1833} | "Init": - | *assign_op.Assign Pos{Line: 92-92 Pos: 1755-1760} + | *assign_op.Assign Pos{Line: 92-92 Pos: 1796-1801} | "Variable": - | *expr.Variable Pos{Line: 92-92 Pos: 1755-1756} + | *expr.Variable Pos{Line: 92-92 Pos: 1796-1797} | "VarName": - | *node.Identifier Pos{Line: 92-92 Pos: 1755-1756} map[Value:$i] + | *node.Identifier Pos{Line: 92-92 Pos: 1796-1797} map[Value:$i] | "Expression": - | *scalar.Lnumber Pos{Line: 92-92 Pos: 1760-1760} map[Value:0] + | *scalar.Lnumber Pos{Line: 92-92 Pos: 1801-1801} map[Value:0] | "Cond": - | *binary_op.Smaller Pos{Line: 92-92 Pos: 1763-1769} + | *binary_op.Smaller Pos{Line: 92-92 Pos: 1804-1810} | "Left": - | *expr.Variable Pos{Line: 92-92 Pos: 1763-1764} + | *expr.Variable Pos{Line: 92-92 Pos: 1804-1805} | "VarName": - | *node.Identifier Pos{Line: 92-92 Pos: 1763-1764} map[Value:$i] + | *node.Identifier Pos{Line: 92-92 Pos: 1804-1805} map[Value:$i] | "Right": - | *scalar.Lnumber Pos{Line: 92-92 Pos: 1768-1769} map[Value:10] + | *scalar.Lnumber Pos{Line: 92-92 Pos: 1809-1810} map[Value:10] | "Loop": - | *expr.PostInc Pos{Line: 92-92 Pos: 1772-1775} + | *expr.PostInc Pos{Line: 92-92 Pos: 1813-1816} | "Variable": - | *expr.Variable Pos{Line: 92-92 Pos: 1772-1773} + | *expr.Variable Pos{Line: 92-92 Pos: 1813-1814} | "VarName": - | *node.Identifier Pos{Line: 92-92 Pos: 1772-1773} map[Value:$i] - | *expr.PostInc Pos{Line: 92-92 Pos: 1778-1781} + | *node.Identifier Pos{Line: 92-92 Pos: 1813-1814} map[Value:$i] + | *expr.PostInc Pos{Line: 92-92 Pos: 1819-1822} | "Variable": - | *expr.Variable Pos{Line: 92-92 Pos: 1778-1779} + | *expr.Variable Pos{Line: 92-92 Pos: 1819-1820} | "VarName": - | *node.Identifier Pos{Line: 92-92 Pos: 1778-1779} map[Value:$i] + | *node.Identifier Pos{Line: 92-92 Pos: 1819-1820} map[Value:$i] | "Stmt": - | *stmt.StmtList Pos{Line: 92-92 Pos: 1784-1792} + | *stmt.StmtList Pos{Line: 92-92 Pos: 1825-1833} | "Stmts": - | *stmt.Foreach Pos{Line: 93-93 Pos: 1796-1816} map[ByRef:false] + | *stmt.Foreach Pos{Line: 93-93 Pos: 1837-1857} map[ByRef:false] | "Expr": - | *expr.Variable Pos{Line: 93-93 Pos: 1805-1806} + | *expr.Variable Pos{Line: 93-93 Pos: 1846-1847} | "VarName": - | *node.Identifier Pos{Line: 93-93 Pos: 1805-1806} map[Value:$a] + | *node.Identifier Pos{Line: 93-93 Pos: 1846-1847} map[Value:$a] | "Variable": - | *expr.Variable Pos{Line: 93-93 Pos: 1811-1812} + | *expr.Variable Pos{Line: 93-93 Pos: 1852-1853} | "VarName": - | *node.Identifier Pos{Line: 93-93 Pos: 1811-1812} map[Value:$v] + | *node.Identifier Pos{Line: 93-93 Pos: 1852-1853} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 93-93 Pos: 1815-1816} + | *stmt.StmtList Pos{Line: 93-93 Pos: 1856-1857} | "Stmts": - | *stmt.Foreach Pos{Line: 94-94 Pos: 1820-1840} map[ByRef:false] + | *stmt.Foreach Pos{Line: 94-94 Pos: 1867-1887} map[ByRef:false] | "Expr": - | *expr.ShortArray Pos{Line: 94-94 Pos: 1829-1830} + | *expr.ShortArray Pos{Line: 94-94 Pos: 1876-1877} | "Items": | "Variable": - | *expr.Variable Pos{Line: 94-94 Pos: 1835-1836} + | *expr.Variable Pos{Line: 94-94 Pos: 1882-1883} | "VarName": - | *node.Identifier Pos{Line: 94-94 Pos: 1835-1836} map[Value:$v] + | *node.Identifier Pos{Line: 94-94 Pos: 1882-1883} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 94-94 Pos: 1839-1840} + | *stmt.StmtList Pos{Line: 94-94 Pos: 1886-1887} | "Stmts": - | *stmt.Foreach Pos{Line: 95-95 Pos: 1844-1875} map[ByRef:false] + | *stmt.Foreach Pos{Line: 95-95 Pos: 1891-1922} map[ByRef:false] | "Expr": - | *expr.Variable Pos{Line: 95-95 Pos: 1853-1854} + | *expr.Variable Pos{Line: 95-95 Pos: 1900-1901} | "VarName": - | *node.Identifier Pos{Line: 95-95 Pos: 1853-1854} map[Value:$a] + | *node.Identifier Pos{Line: 95-95 Pos: 1900-1901} map[Value:$a] | "Variable": - | *expr.Variable Pos{Line: 95-95 Pos: 1859-1860} + | *expr.Variable Pos{Line: 95-95 Pos: 1906-1907} | "VarName": - | *node.Identifier Pos{Line: 95-95 Pos: 1859-1860} map[Value:$v] + | *node.Identifier Pos{Line: 95-95 Pos: 1906-1907} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 95-95 Pos: 1863-1875} + | *stmt.StmtList Pos{Line: 95-95 Pos: 1910-1922} | "Stmts": - | *stmt.Foreach Pos{Line: 96-96 Pos: 1879-1905} map[ByRef:false] + | *stmt.Foreach Pos{Line: 96-96 Pos: 1926-1952} map[ByRef:false] | "Expr": - | *expr.Variable Pos{Line: 96-96 Pos: 1888-1889} + | *expr.Variable Pos{Line: 96-96 Pos: 1935-1936} | "VarName": - | *node.Identifier Pos{Line: 96-96 Pos: 1888-1889} map[Value:$a] + | *node.Identifier Pos{Line: 96-96 Pos: 1935-1936} map[Value:$a] | "Key": - | *expr.Variable Pos{Line: 96-96 Pos: 1894-1895} + | *expr.Variable Pos{Line: 96-96 Pos: 1941-1942} | "VarName": - | *node.Identifier Pos{Line: 96-96 Pos: 1894-1895} map[Value:$k] + | *node.Identifier Pos{Line: 96-96 Pos: 1941-1942} map[Value:$k] | "Variable": - | *expr.Variable Pos{Line: 96-96 Pos: 1900-1901} + | *expr.Variable Pos{Line: 96-96 Pos: 1947-1948} | "VarName": - | *node.Identifier Pos{Line: 96-96 Pos: 1900-1901} map[Value:$v] + | *node.Identifier Pos{Line: 96-96 Pos: 1947-1948} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 96-96 Pos: 1904-1905} + | *stmt.StmtList Pos{Line: 96-96 Pos: 1951-1952} | "Stmts": - | *stmt.Foreach Pos{Line: 97-97 Pos: 1909-1935} map[ByRef:false] + | *stmt.Foreach Pos{Line: 97-97 Pos: 1956-1982} map[ByRef:false] | "Expr": - | *expr.ShortArray Pos{Line: 97-97 Pos: 1918-1919} + | *expr.ShortArray Pos{Line: 97-97 Pos: 1965-1966} | "Items": | "Key": - | *expr.Variable Pos{Line: 97-97 Pos: 1924-1925} + | *expr.Variable Pos{Line: 97-97 Pos: 1971-1972} | "VarName": - | *node.Identifier Pos{Line: 97-97 Pos: 1924-1925} map[Value:$k] + | *node.Identifier Pos{Line: 97-97 Pos: 1971-1972} map[Value:$k] | "Variable": - | *expr.Variable Pos{Line: 97-97 Pos: 1930-1931} + | *expr.Variable Pos{Line: 97-97 Pos: 1977-1978} | "VarName": - | *node.Identifier Pos{Line: 97-97 Pos: 1930-1931} map[Value:$v] + | *node.Identifier Pos{Line: 97-97 Pos: 1977-1978} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 97-97 Pos: 1934-1935} + | *stmt.StmtList Pos{Line: 97-97 Pos: 1981-1982} | "Stmts": - | *stmt.Foreach Pos{Line: 98-98 Pos: 1939-1966} map[ByRef:true] + | *stmt.Foreach Pos{Line: 98-98 Pos: 1986-2013} map[ByRef:true] | "Expr": - | *expr.Variable Pos{Line: 98-98 Pos: 1948-1949} + | *expr.Variable Pos{Line: 98-98 Pos: 1995-1996} | "VarName": - | *node.Identifier Pos{Line: 98-98 Pos: 1948-1949} map[Value:$a] + | *node.Identifier Pos{Line: 98-98 Pos: 1995-1996} map[Value:$a] | "Key": - | *expr.Variable Pos{Line: 98-98 Pos: 1954-1955} + | *expr.Variable Pos{Line: 98-98 Pos: 2001-2002} | "VarName": - | *node.Identifier Pos{Line: 98-98 Pos: 1954-1955} map[Value:$k] + | *node.Identifier Pos{Line: 98-98 Pos: 2001-2002} map[Value:$k] | "Variable": - | *expr.Variable Pos{Line: 98-98 Pos: 1961-1962} + | *expr.Variable Pos{Line: 98-98 Pos: 2008-2009} | "VarName": - | *node.Identifier Pos{Line: 98-98 Pos: 1961-1962} map[Value:$v] + | *node.Identifier Pos{Line: 98-98 Pos: 2008-2009} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 98-98 Pos: 1965-1966} + | *stmt.StmtList Pos{Line: 98-98 Pos: 2012-2013} | "Stmts": - | *stmt.Foreach Pos{Line: 99-99 Pos: 1970-2002} map[ByRef:false] + | *stmt.Foreach Pos{Line: 99-99 Pos: 2017-2049} map[ByRef:false] | "Expr": - | *expr.Variable Pos{Line: 99-99 Pos: 1979-1980} + | *expr.Variable Pos{Line: 99-99 Pos: 2026-2027} | "VarName": - | *node.Identifier Pos{Line: 99-99 Pos: 1979-1980} map[Value:$a] + | *node.Identifier Pos{Line: 99-99 Pos: 2026-2027} map[Value:$a] | "Key": - | *expr.Variable Pos{Line: 99-99 Pos: 1985-1986} + | *expr.Variable Pos{Line: 99-99 Pos: 2032-2033} | "VarName": - | *node.Identifier Pos{Line: 99-99 Pos: 1985-1986} map[Value:$k] + | *node.Identifier Pos{Line: 99-99 Pos: 2032-2033} map[Value:$k] | "Variable": - | *expr.List Pos{Line: 99-99 Pos: 1991-1998} + | *expr.List Pos{Line: 99-99 Pos: 2038-2045} | "Items": - | *expr.ArrayItem Pos{Line: 99-99 Pos: 1996-1997} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 99-99 Pos: 2043-2044} map[ByRef:false] | "Val": - | *expr.Variable Pos{Line: 99-99 Pos: 1996-1997} + | *expr.Variable Pos{Line: 99-99 Pos: 2043-2044} | "VarName": - | *node.Identifier Pos{Line: 99-99 Pos: 1996-1997} map[Value:$v] + | *node.Identifier Pos{Line: 99-99 Pos: 2043-2044} map[Value:$v] | "Stmt": - | *stmt.StmtList Pos{Line: 99-99 Pos: 2001-2002} + | *stmt.StmtList Pos{Line: 99-99 Pos: 2048-2049} | "Stmts": - | *stmt.Function Pos{Line: 100-100 Pos: 2006-2022} map[ReturnsRef:false PhpDocComment:] + | *stmt.Function Pos{Line: 100-100 Pos: 2059-2075} map[ReturnsRef:false PhpDocComment:] | "FunctionName": - | *node.Identifier Pos{Line: 100-100 Pos: 2015-2017} map[Value:foo] + | *node.Identifier Pos{Line: 100-100 Pos: 2068-2070} map[Value:foo] | "Stmts": - | *stmt.Function Pos{Line: 102-107 Pos: 2027-2119} map[PhpDocComment: ReturnsRef:false] + | *stmt.Function Pos{Line: 101-106 Pos: 2079-2207} map[ReturnsRef:false PhpDocComment:] | "FunctionName": - | *node.Identifier Pos{Line: 102-102 Pos: 2036-2038} map[Value:foo] + | *node.Identifier Pos{Line: 101-101 Pos: 2088-2090} map[Value:foo] | "Stmts": - | *stmt.HaltCompiler Pos{Line: 115-115 Pos: 2273-2290} - | *stmt.Function Pos{Line: 104-104 Pos: 2069-2085} map[ReturnsRef:false PhpDocComment:] + | *stmt.HaltCompiler Pos{Line: 113-113 Pos: 2322-2339} + | *stmt.Function Pos{Line: 103-103 Pos: 2133-2149} map[ReturnsRef:false PhpDocComment:] | "FunctionName": - | *node.Identifier Pos{Line: 104-104 Pos: 2078-2080} map[Value:bar] + | *node.Identifier Pos{Line: 103-103 Pos: 2142-2144} map[Value:bar] | "Stmts": - | *stmt.Class Pos{Line: 105-105 Pos: 2090-2094} map[PhpDocComment:] + | *stmt.Class Pos{Line: 104-104 Pos: 2163-2167} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 105-105 Pos: 2096-2098} map[Value:Baz] + | *node.Identifier Pos{Line: 104-104 Pos: 2169-2171} map[Value:Baz] | "Stmts": - | *stmt.Return Pos{Line: 106-106 Pos: 2106-2115} + | *stmt.Return Pos{Line: 105-105 Pos: 2188-2197} | "Expr": - | *expr.Variable Pos{Line: 106-106 Pos: 2113-2114} + | *expr.Variable Pos{Line: 105-105 Pos: 2195-2196} | "VarName": - | *node.Identifier Pos{Line: 106-106 Pos: 2113-2114} map[Value:$a] - | *stmt.Function Pos{Line: 109-109 Pos: 2126-2170} map[ReturnsRef:false PhpDocComment:] + | *node.Identifier Pos{Line: 105-105 Pos: 2195-2196} map[Value:$a] + | *stmt.Function Pos{Line: 107-107 Pos: 2211-2234} map[ReturnsRef:false PhpDocComment:] | "FunctionName": - | *node.Identifier Pos{Line: 109-109 Pos: 2135-2137} map[Value:foo] - | "Params": - | *node.Parameter Pos{Line: 109-109 Pos: 2139-2146} map[ByRef:false Variadic:false] - | "VariableType": - | *node.Identifier Pos{Line: 109-109 Pos: 2139-2143} map[Value:array] - | "Variable": - | *expr.Variable Pos{Line: 109-109 Pos: 2145-2146} - | "VarName": - | *node.Identifier Pos{Line: 109-109 Pos: 2145-2146} map[Value:$a] - | *node.Parameter Pos{Line: 109-109 Pos: 2149-2159} map[ByRef:false Variadic:false] - | "VariableType": - | *node.Identifier Pos{Line: 109-109 Pos: 2149-2156} map[Value:callable] - | "Variable": - | *expr.Variable Pos{Line: 109-109 Pos: 2158-2159} - | "VarName": - | *node.Identifier Pos{Line: 109-109 Pos: 2158-2159} map[Value:$b] + | *node.Identifier Pos{Line: 107-107 Pos: 2220-2222} map[Value:foo] | "Stmts": - | *stmt.Return Pos{Line: 109-109 Pos: 2163-2169} - | *stmt.Function Pos{Line: 110-110 Pos: 2174-2200} map[ReturnsRef:true PhpDocComment:] + | *stmt.Return Pos{Line: 107-107 Pos: 2227-2233} + | *stmt.Function Pos{Line: 108-108 Pos: 2238-2264} map[ReturnsRef:true PhpDocComment:] | "FunctionName": - | *node.Identifier Pos{Line: 110-110 Pos: 2184-2186} map[Value:foo] + | *node.Identifier Pos{Line: 108-108 Pos: 2248-2250} map[Value:foo] | "Stmts": - | *stmt.Return Pos{Line: 110-110 Pos: 2191-2199} + | *stmt.Return Pos{Line: 108-108 Pos: 2255-2263} | "Expr": - | *scalar.Lnumber Pos{Line: 110-110 Pos: 2198-2198} map[Value:1] - | *stmt.Function Pos{Line: 111-111 Pos: 2204-2221} map[ReturnsRef:true PhpDocComment:] + | *scalar.Lnumber Pos{Line: 108-108 Pos: 2262-2262} map[Value:1] + | *stmt.Function Pos{Line: 109-109 Pos: 2268-2285} map[ReturnsRef:true PhpDocComment:] | "FunctionName": - | *node.Identifier Pos{Line: 111-111 Pos: 2214-2216} map[Value:foo] + | *node.Identifier Pos{Line: 109-109 Pos: 2278-2280} map[Value:foo] | "Stmts": - | *stmt.Global Pos{Line: 112-112 Pos: 2225-2253} + | *stmt.Global Pos{Line: 110-110 Pos: 2289-2302} | "Vars": - | *expr.Variable Pos{Line: 112-112 Pos: 2232-2233} + | *expr.Variable Pos{Line: 110-110 Pos: 2296-2297} | "VarName": - | *node.Identifier Pos{Line: 112-112 Pos: 2232-2233} map[Value:$a] - | *expr.Variable Pos{Line: 112-112 Pos: 2236-2237} + | *node.Identifier Pos{Line: 110-110 Pos: 2296-2297} map[Value:$a] + | *expr.Variable Pos{Line: 110-110 Pos: 2300-2301} | "VarName": - | *node.Identifier Pos{Line: 112-112 Pos: 2236-2237} map[Value:$b] - | *expr.Variable Pos{Line: 112-112 Pos: 2240-2242} - | "VarName": - | *expr.Variable Pos{Line: 112-112 Pos: 2241-2242} - | "VarName": - | *node.Identifier Pos{Line: 112-112 Pos: 2241-2242} map[Value:$c] - | *expr.Variable Pos{Line: 112-112 Pos: 2245-2252} - | "VarName": - | *expr.FunctionCall Pos{Line: 112-112 Pos: 2247-2251} - | "Function": - | *name.Name Pos{Line: 112-112 Pos: 2247-2249} - | "Parts": - | *name.NamePart Pos{Line: 112-112 Pos: 2247-2249} map[Value:foo] - | "Arguments": - | *stmt.Label Pos{Line: 113-113 Pos: 2257-2258} + | *node.Identifier Pos{Line: 110-110 Pos: 2300-2301} map[Value:$b] + | *stmt.Label Pos{Line: 111-111 Pos: 2306-2307} | "LabelName": - | *node.Identifier Pos{Line: 113-113 Pos: 2257-2257} map[Value:a] - | *stmt.Goto Pos{Line: 114-114 Pos: 2263-2269} + | *node.Identifier Pos{Line: 111-111 Pos: 2306-2306} map[Value:a] + | *stmt.Goto Pos{Line: 112-112 Pos: 2312-2318} | "Label": - | *node.Identifier Pos{Line: 114-114 Pos: 2268-2268} map[Value:a] - | *stmt.HaltCompiler Pos{Line: 115-115 Pos: 2273-2290} - | *stmt.If Pos{Line: 116-116 Pos: 2294-2303} + | *node.Identifier Pos{Line: 112-112 Pos: 2317-2317} map[Value:a] + | *stmt.HaltCompiler Pos{Line: 113-113 Pos: 2322-2339} + | *stmt.If Pos{Line: 114-114 Pos: 2343-2352} | "Cond": - | *expr.Variable Pos{Line: 116-116 Pos: 2298-2299} + | *expr.Variable Pos{Line: 114-114 Pos: 2347-2348} | "VarName": - | *node.Identifier Pos{Line: 116-116 Pos: 2298-2299} map[Value:$a] + | *node.Identifier Pos{Line: 114-114 Pos: 2347-2348} map[Value:$a] | "Stmt": - | *stmt.StmtList Pos{Line: 116-116 Pos: 2302-2303} + | *stmt.StmtList Pos{Line: 114-114 Pos: 2351-2352} | "Stmts": - | *stmt.If Pos{Line: 117-117 Pos: 2307-2331} + | *stmt.If Pos{Line: 115-115 Pos: 2356-2380} | "Cond": - | *expr.Variable Pos{Line: 117-117 Pos: 2311-2312} + | *expr.Variable Pos{Line: 115-115 Pos: 2360-2361} | "VarName": - | *node.Identifier Pos{Line: 117-117 Pos: 2311-2312} map[Value:$a] + | *node.Identifier Pos{Line: 115-115 Pos: 2360-2361} map[Value:$a] | "Stmt": - | *stmt.StmtList Pos{Line: 117-117 Pos: 2315-2316} + | *stmt.StmtList Pos{Line: 115-115 Pos: 2364-2365} | "Stmts": | "ElseIf": - | *stmt.ElseIf Pos{Line: 117-117 Pos: 2318-2331} + | *stmt.ElseIf Pos{Line: 115-115 Pos: 2367-2380} | "Cond": - | *expr.Variable Pos{Line: 117-117 Pos: 2326-2327} + | *expr.Variable Pos{Line: 115-115 Pos: 2375-2376} | "VarName": - | *node.Identifier Pos{Line: 117-117 Pos: 2326-2327} map[Value:$b] + | *node.Identifier Pos{Line: 115-115 Pos: 2375-2376} map[Value:$b] | "Stmt": - | *stmt.StmtList Pos{Line: 117-117 Pos: 2330-2331} + | *stmt.StmtList Pos{Line: 115-115 Pos: 2379-2380} | "Stmts": - | *stmt.If Pos{Line: 118-118 Pos: 2335-2352} + | *stmt.If Pos{Line: 116-116 Pos: 2384-2401} | "Cond": - | *expr.Variable Pos{Line: 118-118 Pos: 2339-2340} + | *expr.Variable Pos{Line: 116-116 Pos: 2388-2389} | "VarName": - | *node.Identifier Pos{Line: 118-118 Pos: 2339-2340} map[Value:$a] + | *node.Identifier Pos{Line: 116-116 Pos: 2388-2389} map[Value:$a] | "Stmt": - | *stmt.StmtList Pos{Line: 118-118 Pos: 2343-2344} + | *stmt.StmtList Pos{Line: 116-116 Pos: 2392-2393} | "Stmts": | "Else": - | *stmt.Else Pos{Line: 118-118 Pos: 2346-2352} + | *stmt.Else Pos{Line: 116-116 Pos: 2395-2401} | "Stmt": - | *stmt.StmtList Pos{Line: 118-118 Pos: 2351-2352} + | *stmt.StmtList Pos{Line: 116-116 Pos: 2400-2401} | "Stmts": - | *stmt.If Pos{Line: 119-119 Pos: 2356-2403} + | *stmt.If Pos{Line: 117-117 Pos: 2405-2452} | "Cond": - | *expr.Variable Pos{Line: 119-119 Pos: 2360-2361} + | *expr.Variable Pos{Line: 117-117 Pos: 2409-2410} | "VarName": - | *node.Identifier Pos{Line: 119-119 Pos: 2360-2361} map[Value:$a] + | *node.Identifier Pos{Line: 117-117 Pos: 2409-2410} map[Value:$a] | "Stmt": - | *stmt.StmtList Pos{Line: 119-119 Pos: 2364-2365} + | *stmt.StmtList Pos{Line: 117-117 Pos: 2413-2414} | "Stmts": | "ElseIf": - | *stmt.ElseIf Pos{Line: 119-119 Pos: 2367-2380} + | *stmt.ElseIf Pos{Line: 117-117 Pos: 2416-2429} | "Cond": - | *expr.Variable Pos{Line: 119-119 Pos: 2375-2376} + | *expr.Variable Pos{Line: 117-117 Pos: 2424-2425} | "VarName": - | *node.Identifier Pos{Line: 119-119 Pos: 2375-2376} map[Value:$b] + | *node.Identifier Pos{Line: 117-117 Pos: 2424-2425} map[Value:$b] | "Stmt": - | *stmt.StmtList Pos{Line: 119-119 Pos: 2379-2380} + | *stmt.StmtList Pos{Line: 117-117 Pos: 2428-2429} | "Stmts": - | *stmt.ElseIf Pos{Line: 119-119 Pos: 2382-2395} + | *stmt.ElseIf Pos{Line: 117-117 Pos: 2431-2444} | "Cond": - | *expr.Variable Pos{Line: 119-119 Pos: 2390-2391} + | *expr.Variable Pos{Line: 117-117 Pos: 2439-2440} | "VarName": - | *node.Identifier Pos{Line: 119-119 Pos: 2390-2391} map[Value:$c] + | *node.Identifier Pos{Line: 117-117 Pos: 2439-2440} map[Value:$c] | "Stmt": - | *stmt.StmtList Pos{Line: 119-119 Pos: 2394-2395} + | *stmt.StmtList Pos{Line: 117-117 Pos: 2443-2444} | "Stmts": | "Else": - | *stmt.Else Pos{Line: 119-119 Pos: 2397-2403} + | *stmt.Else Pos{Line: 117-117 Pos: 2446-2452} | "Stmt": - | *stmt.StmtList Pos{Line: 119-119 Pos: 2402-2403} + | *stmt.StmtList Pos{Line: 117-117 Pos: 2451-2452} | "Stmts": - | *stmt.If Pos{Line: 120-120 Pos: 2407-2455} + | *stmt.If Pos{Line: 118-118 Pos: 2456-2504} | "Cond": - | *expr.Variable Pos{Line: 120-120 Pos: 2411-2412} + | *expr.Variable Pos{Line: 118-118 Pos: 2460-2461} | "VarName": - | *node.Identifier Pos{Line: 120-120 Pos: 2411-2412} map[Value:$a] + | *node.Identifier Pos{Line: 118-118 Pos: 2460-2461} map[Value:$a] | "Stmt": - | *stmt.StmtList Pos{Line: 120-120 Pos: 2415-2416} + | *stmt.StmtList Pos{Line: 118-118 Pos: 2464-2465} | "Stmts": | "ElseIf": - | *stmt.ElseIf Pos{Line: 120-120 Pos: 2418-2431} + | *stmt.ElseIf Pos{Line: 118-118 Pos: 2467-2480} | "Cond": - | *expr.Variable Pos{Line: 120-120 Pos: 2426-2427} + | *expr.Variable Pos{Line: 118-118 Pos: 2475-2476} | "VarName": - | *node.Identifier Pos{Line: 120-120 Pos: 2426-2427} map[Value:$b] + | *node.Identifier Pos{Line: 118-118 Pos: 2475-2476} map[Value:$b] | "Stmt": - | *stmt.StmtList Pos{Line: 120-120 Pos: 2430-2431} + | *stmt.StmtList Pos{Line: 118-118 Pos: 2479-2480} | "Stmts": | "Else": - | *stmt.Else Pos{Line: 120-120 Pos: 2433-2455} + | *stmt.Else Pos{Line: 118-118 Pos: 2482-2504} | "Stmt": - | *stmt.If Pos{Line: 120-120 Pos: 2438-2455} + | *stmt.If Pos{Line: 118-118 Pos: 2487-2504} | "Cond": - | *expr.Variable Pos{Line: 120-120 Pos: 2442-2443} + | *expr.Variable Pos{Line: 118-118 Pos: 2491-2492} | "VarName": - | *node.Identifier Pos{Line: 120-120 Pos: 2442-2443} map[Value:$c] + | *node.Identifier Pos{Line: 118-118 Pos: 2491-2492} map[Value:$c] | "Stmt": - | *stmt.StmtList Pos{Line: 120-120 Pos: 2446-2447} + | *stmt.StmtList Pos{Line: 118-118 Pos: 2495-2496} | "Stmts": | "Else": - | *stmt.Else Pos{Line: 120-120 Pos: 2449-2455} + | *stmt.Else Pos{Line: 118-118 Pos: 2498-2504} | "Stmt": - | *stmt.StmtList Pos{Line: 120-120 Pos: 2454-2455} + | *stmt.StmtList Pos{Line: 118-118 Pos: 2503-2504} | "Stmts": - | *stmt.Nop Pos{Line: 121-121 Pos: 2459-2460} - | *stmt.InlineHtml Pos{Line: 121-121 Pos: 2462-2473} map[Value:
] - | *stmt.Interface Pos{Line: 122-122 Pos: 2479-2494} map[PhpDocComment:] + | *stmt.Nop Pos{Line: 119-119 Pos: 2508-2509} + | *stmt.InlineHtml Pos{Line: 119-119 Pos: 2511-2522} map[Value: ] + | *stmt.Interface Pos{Line: 120-120 Pos: 2528-2543} map[PhpDocComment:] | "InterfaceName": - | *node.Identifier Pos{Line: 122-122 Pos: 2489-2491} map[Value:Foo] + | *node.Identifier Pos{Line: 120-120 Pos: 2538-2540} map[Value:Foo] | "Stmts": - | *stmt.Interface Pos{Line: 123-123 Pos: 2498-2525} map[PhpDocComment:] + | *stmt.Interface Pos{Line: 121-121 Pos: 2547-2574} map[PhpDocComment:] | "InterfaceName": - | *node.Identifier Pos{Line: 123-123 Pos: 2508-2510} map[Value:Foo] + | *node.Identifier Pos{Line: 121-121 Pos: 2557-2559} map[Value:Foo] | "Extends": - | *name.Name Pos{Line: 123-123 Pos: 2520-2522} + | *name.Name Pos{Line: 121-121 Pos: 2569-2571} | "Parts": - | *name.NamePart Pos{Line: 123-123 Pos: 2520-2522} map[Value:Bar] + | *name.NamePart Pos{Line: 121-121 Pos: 2569-2571} map[Value:Bar] | "Stmts": - | *stmt.Interface Pos{Line: 124-124 Pos: 2529-2561} map[PhpDocComment:] + | *stmt.Interface Pos{Line: 122-122 Pos: 2578-2610} map[PhpDocComment:] | "InterfaceName": - | *node.Identifier Pos{Line: 124-124 Pos: 2539-2541} map[Value:Foo] + | *node.Identifier Pos{Line: 122-122 Pos: 2588-2590} map[Value:Foo] | "Extends": - | *name.Name Pos{Line: 124-124 Pos: 2551-2553} + | *name.Name Pos{Line: 122-122 Pos: 2600-2602} | "Parts": - | *name.NamePart Pos{Line: 124-124 Pos: 2551-2553} map[Value:Bar] - | *name.Name Pos{Line: 124-124 Pos: 2556-2558} + | *name.NamePart Pos{Line: 122-122 Pos: 2600-2602} map[Value:Bar] + | *name.Name Pos{Line: 122-122 Pos: 2605-2607} | "Parts": - | *name.NamePart Pos{Line: 124-124 Pos: 2556-2558} map[Value:Baz] + | *name.NamePart Pos{Line: 122-122 Pos: 2605-2607} map[Value:Baz] | "Stmts": - | *stmt.Namespace Pos{Line: 125-125 Pos: 2565-2578} + | *stmt.Namespace Pos{Line: 123-123 Pos: 2614-2627} | "NamespaceName": - | *name.Name Pos{Line: 125-125 Pos: 2575-2577} + | *name.Name Pos{Line: 123-123 Pos: 2624-2626} | "Parts": - | *name.NamePart Pos{Line: 125-125 Pos: 2575-2577} map[Value:Foo] - | *stmt.Namespace Pos{Line: 126-126 Pos: 2582-2601} + | *name.NamePart Pos{Line: 123-123 Pos: 2624-2626} map[Value:Foo] + | *stmt.Namespace Pos{Line: 124-124 Pos: 2631-2650} | "NamespaceName": - | *name.Name Pos{Line: 126-126 Pos: 2592-2598} + | *name.Name Pos{Line: 124-124 Pos: 2641-2647} | "Parts": - | *name.NamePart Pos{Line: 126-126 Pos: 2592-2594} map[Value:Foo] - | *name.NamePart Pos{Line: 126-126 Pos: 2596-2598} map[Value:Bar] + | *name.NamePart Pos{Line: 124-124 Pos: 2641-2643} map[Value:Foo] + | *name.NamePart Pos{Line: 124-124 Pos: 2645-2647} map[Value:bar] | "Stmts": - | *stmt.Namespace Pos{Line: 127-127 Pos: 2605-2616} + | *stmt.Namespace Pos{Line: 125-125 Pos: 2654-2665} | "Stmts": - | *stmt.Class Pos{Line: 128-128 Pos: 2620-2624} map[PhpDocComment:] + | *stmt.Class Pos{Line: 126-126 Pos: 2669-2673} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 128-128 Pos: 2626-2628} map[Value:foo] + | *node.Identifier Pos{Line: 126-126 Pos: 2675-2677} map[Value:foo] | "Stmts": - | *stmt.PropertyList Pos{Line: 128-128 Pos: 2631-2637} + | *stmt.PropertyList Pos{Line: 126-126 Pos: 2680-2686} | "Modifiers": - | *node.Identifier Pos{Line: 128-128 Pos: 2631-2633} map[Value:var] + | *node.Identifier Pos{Line: 126-126 Pos: 2680-2682} map[Value:var] | "Properties": - | *stmt.Property Pos{Line: 128-128 Pos: 2635-2636} map[PhpDocComment:] + | *stmt.Property Pos{Line: 126-126 Pos: 2684-2685} map[PhpDocComment:] | "Variable": - | *expr.Variable Pos{Line: 128-128 Pos: 2635-2636} + | *expr.Variable Pos{Line: 126-126 Pos: 2684-2685} | "VarName": - | *node.Identifier Pos{Line: 128-128 Pos: 2635-2636} map[Value:$a] - | *stmt.Class Pos{Line: 129-129 Pos: 2642-2646} map[PhpDocComment:] + | *node.Identifier Pos{Line: 126-126 Pos: 2684-2685} map[Value:$a] + | *stmt.Class Pos{Line: 127-127 Pos: 2691-2695} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 129-129 Pos: 2648-2650} map[Value:foo] + | *node.Identifier Pos{Line: 127-127 Pos: 2697-2699} map[Value:foo] | "Stmts": - | *stmt.PropertyList Pos{Line: 129-129 Pos: 2653-2677} + | *stmt.PropertyList Pos{Line: 127-127 Pos: 2702-2726} | "Modifiers": - | *node.Identifier Pos{Line: 129-129 Pos: 2653-2658} map[Value:public] - | *node.Identifier Pos{Line: 129-129 Pos: 2660-2665} map[Value:static] + | *node.Identifier Pos{Line: 127-127 Pos: 2702-2707} map[Value:public] + | *node.Identifier Pos{Line: 127-127 Pos: 2709-2714} map[Value:static] | "Properties": - | *stmt.Property Pos{Line: 129-129 Pos: 2667-2668} map[PhpDocComment:] + | *stmt.Property Pos{Line: 127-127 Pos: 2716-2717} map[PhpDocComment:] | "Variable": - | *expr.Variable Pos{Line: 129-129 Pos: 2667-2668} + | *expr.Variable Pos{Line: 127-127 Pos: 2716-2717} | "VarName": - | *node.Identifier Pos{Line: 129-129 Pos: 2667-2668} map[Value:$a] - | *stmt.Property Pos{Line: 129-129 Pos: 2671-2676} map[PhpDocComment:] + | *node.Identifier Pos{Line: 127-127 Pos: 2716-2717} map[Value:$a] + | *stmt.Property Pos{Line: 127-127 Pos: 2720-2725} map[PhpDocComment:] | "Variable": - | *expr.Variable Pos{Line: 129-129 Pos: 2671-2672} + | *expr.Variable Pos{Line: 127-127 Pos: 2720-2721} | "VarName": - | *node.Identifier Pos{Line: 129-129 Pos: 2671-2672} map[Value:$b] + | *node.Identifier Pos{Line: 127-127 Pos: 2720-2721} map[Value:$b] | "Expr": - | *scalar.Lnumber Pos{Line: 129-129 Pos: 2676-2676} map[Value:1] - | *stmt.Static Pos{Line: 130-130 Pos: 2682-2699} + | *scalar.Lnumber Pos{Line: 127-127 Pos: 2725-2725} map[Value:1] + | *stmt.Static Pos{Line: 128-128 Pos: 2731-2748} | "Vars": - | *stmt.StaticVar Pos{Line: 130-130 Pos: 2689-2690} + | *stmt.StaticVar Pos{Line: 128-128 Pos: 2738-2739} | "Variable": - | *expr.Variable Pos{Line: 130-130 Pos: 2689-2690} + | *expr.Variable Pos{Line: 128-128 Pos: 2738-2739} | "VarName": - | *node.Identifier Pos{Line: 130-130 Pos: 2689-2690} map[Value:$a] - | *stmt.StaticVar Pos{Line: 130-130 Pos: 2693-2698} + | *node.Identifier Pos{Line: 128-128 Pos: 2738-2739} map[Value:$a] + | *stmt.StaticVar Pos{Line: 128-128 Pos: 2742-2747} | "Variable": - | *expr.Variable Pos{Line: 130-130 Pos: 2693-2694} + | *expr.Variable Pos{Line: 128-128 Pos: 2742-2743} | "VarName": - | *node.Identifier Pos{Line: 130-130 Pos: 2693-2694} map[Value:$b] + | *node.Identifier Pos{Line: 128-128 Pos: 2742-2743} map[Value:$b] | "Expr": - | *scalar.Lnumber Pos{Line: 130-130 Pos: 2698-2698} map[Value:1] - | *stmt.Static Pos{Line: 131-131 Pos: 2703-2720} + | *scalar.Lnumber Pos{Line: 128-128 Pos: 2747-2747} map[Value:1] + | *stmt.Static Pos{Line: 129-129 Pos: 2752-2769} | "Vars": - | *stmt.StaticVar Pos{Line: 131-131 Pos: 2710-2715} + | *stmt.StaticVar Pos{Line: 129-129 Pos: 2759-2764} | "Variable": - | *expr.Variable Pos{Line: 131-131 Pos: 2710-2711} + | *expr.Variable Pos{Line: 129-129 Pos: 2759-2760} | "VarName": - | *node.Identifier Pos{Line: 131-131 Pos: 2710-2711} map[Value:$a] + | *node.Identifier Pos{Line: 129-129 Pos: 2759-2760} map[Value:$a] | "Expr": - | *scalar.Lnumber Pos{Line: 131-131 Pos: 2715-2715} map[Value:1] - | *stmt.StaticVar Pos{Line: 131-131 Pos: 2718-2719} + | *scalar.Lnumber Pos{Line: 129-129 Pos: 2764-2764} map[Value:1] + | *stmt.StaticVar Pos{Line: 129-129 Pos: 2767-2768} | "Variable": - | *expr.Variable Pos{Line: 131-131 Pos: 2718-2719} + | *expr.Variable Pos{Line: 129-129 Pos: 2767-2768} | "VarName": - | *node.Identifier Pos{Line: 131-131 Pos: 2718-2719} map[Value:$b] - | *stmt.Switch Pos{Line: 133-137 Pos: 2725-2783} + | *node.Identifier Pos{Line: 129-129 Pos: 2767-2768} map[Value:$b] + | *stmt.Switch Pos{Line: 131-135 Pos: 2774-2832} | "Cond": - | *scalar.Lnumber Pos{Line: 133-133 Pos: 2733-2733} map[Value:1] + | *scalar.Lnumber Pos{Line: 131-131 Pos: 2782-2782} map[Value:1] | "Cases": - | *stmt.Case Pos{Line: 134--1 Pos: 2741--1} + | *stmt.Case Pos{Line: 132--1 Pos: 2790--1} | "Cond": - | *scalar.Lnumber Pos{Line: 134-134 Pos: 2746-2746} map[Value:1] + | *scalar.Lnumber Pos{Line: 132-132 Pos: 2795-2795} map[Value:1] | "Stmts": - | *stmt.Default Pos{Line: 135--1 Pos: 2752--1} + | *stmt.Default Pos{Line: 133--1 Pos: 2801--1} | "Stmts": - | *stmt.Case Pos{Line: 136--1 Pos: 2764--1} + | *stmt.Case Pos{Line: 134--1 Pos: 2813--1} | "Cond": - | *scalar.Lnumber Pos{Line: 136-136 Pos: 2769-2769} map[Value:2] + | *scalar.Lnumber Pos{Line: 134-134 Pos: 2818-2818} map[Value:2] | "Stmts": - | *stmt.Switch Pos{Line: 139-142 Pos: 2788-2835} + | *stmt.Switch Pos{Line: 137-140 Pos: 2839-2890} | "Cond": - | *scalar.Lnumber Pos{Line: 139-139 Pos: 2796-2796} map[Value:1] + | *scalar.Lnumber Pos{Line: 137-137 Pos: 2847-2847} map[Value:1] | "Cases": - | *stmt.Case Pos{Line: 140--1 Pos: 2805--1} + | *stmt.Case Pos{Line: 138-138 Pos: 2855-2868} | "Cond": - | *scalar.Lnumber Pos{Line: 140-140 Pos: 2810-2810} map[Value:1] + | *scalar.Lnumber Pos{Line: 138-138 Pos: 2860-2860} map[Value:1] | "Stmts": - | *stmt.Case Pos{Line: 141--1 Pos: 2816--1} + | *stmt.Break Pos{Line: 138-138 Pos: 2863-2868} + | *stmt.Case Pos{Line: 139-139 Pos: 2873-2886} | "Cond": - | *scalar.Lnumber Pos{Line: 141-141 Pos: 2821-2821} map[Value:2] + | *scalar.Lnumber Pos{Line: 139-139 Pos: 2878-2878} map[Value:2] | "Stmts": - | *stmt.Switch Pos{Line: 144-147 Pos: 2842-2893} - | "Cond": - | *scalar.Lnumber Pos{Line: 144-144 Pos: 2850-2850} map[Value:1] - | "Cases": - | *stmt.Case Pos{Line: 145-145 Pos: 2858-2871} - | "Cond": - | *scalar.Lnumber Pos{Line: 145-145 Pos: 2863-2863} map[Value:1] - | "Stmts": - | *stmt.Break Pos{Line: 145-145 Pos: 2866-2871} - | *stmt.Case Pos{Line: 146-146 Pos: 2876-2889} - | "Cond": - | *scalar.Lnumber Pos{Line: 146-146 Pos: 2881-2881} map[Value:2] - | "Stmts": - | *stmt.Break Pos{Line: 146-146 Pos: 2884-2889} - | *stmt.Switch Pos{Line: 149-152 Pos: 2900-2952} - | "Cond": - | *scalar.Lnumber Pos{Line: 149-149 Pos: 2908-2908} map[Value:1] - | "Cases": - | *stmt.Case Pos{Line: 150-150 Pos: 2917-2930} - | "Cond": - | *scalar.Lnumber Pos{Line: 150-150 Pos: 2922-2922} map[Value:1] - | "Stmts": - | *stmt.Break Pos{Line: 150-150 Pos: 2925-2930} - | *stmt.Case Pos{Line: 151-151 Pos: 2935-2948} - | "Cond": - | *scalar.Lnumber Pos{Line: 151-151 Pos: 2940-2940} map[Value:2] - | "Stmts": - | *stmt.Break Pos{Line: 151-151 Pos: 2943-2948} - | *stmt.Throw Pos{Line: 153-153 Pos: 2956-2964} + | *stmt.Break Pos{Line: 139-139 Pos: 2881-2886} + | *stmt.Throw Pos{Line: 141-141 Pos: 2894-2902} | "Expr": - | *expr.Variable Pos{Line: 153-153 Pos: 2962-2963} + | *expr.Variable Pos{Line: 141-141 Pos: 2900-2901} | "VarName": - | *node.Identifier Pos{Line: 153-153 Pos: 2962-2963} map[Value:$e] - | *stmt.Trait Pos{Line: 154-154 Pos: 2968-2972} map[PhpDocComment:] + | *node.Identifier Pos{Line: 141-141 Pos: 2900-2901} map[Value:$e] + | *stmt.Trait Pos{Line: 142-142 Pos: 2906-2910} map[PhpDocComment:] | "TraitName": - | *node.Identifier Pos{Line: 154-154 Pos: 2974-2976} map[Value:Foo] + | *node.Identifier Pos{Line: 142-142 Pos: 2912-2914} map[Value:Foo] | "Stmts": - | *stmt.Class Pos{Line: 155-155 Pos: 2983-2987} map[PhpDocComment:] + | *stmt.Class Pos{Line: 143-143 Pos: 2921-2925} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 155-155 Pos: 2989-2991} map[Value:Foo] + | *node.Identifier Pos{Line: 143-143 Pos: 2927-2929} map[Value:Foo] | "Stmts": - | *stmt.TraitUse Pos{Line: 155-155 Pos: 2995-3002} + | *stmt.TraitUse Pos{Line: 143-143 Pos: 2933-2940} | "Traits": - | *name.Name Pos{Line: 155-155 Pos: 2999-3001} + | *name.Name Pos{Line: 143-143 Pos: 2937-2939} | "Parts": - | *name.NamePart Pos{Line: 155-155 Pos: 2999-3001} map[Value:Bar] - | *stmt.Class Pos{Line: 156-156 Pos: 3008-3012} map[PhpDocComment:] + | *name.NamePart Pos{Line: 143-143 Pos: 2937-2939} map[Value:Bar] + | *stmt.Class Pos{Line: 144-144 Pos: 2946-2950} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 156-156 Pos: 3014-3016} map[Value:Foo] + | *node.Identifier Pos{Line: 144-144 Pos: 2952-2954} map[Value:Foo] | "Stmts": - | *stmt.TraitUse Pos{Line: 156-156 Pos: 3020-3032} + | *stmt.TraitUse Pos{Line: 144-144 Pos: 2958-2973} | "Traits": - | *name.Name Pos{Line: 156-156 Pos: 3024-3026} + | *name.Name Pos{Line: 144-144 Pos: 2962-2964} | "Parts": - | *name.NamePart Pos{Line: 156-156 Pos: 3024-3026} map[Value:Bar] - | *name.Name Pos{Line: 156-156 Pos: 3029-3031} + | *name.NamePart Pos{Line: 144-144 Pos: 2962-2964} map[Value:Bar] + | *name.Name Pos{Line: 144-144 Pos: 2967-2969} | "Parts": - | *name.NamePart Pos{Line: 156-156 Pos: 3029-3031} map[Value:Baz] - | *stmt.Class Pos{Line: 157-157 Pos: 3038-3042} map[PhpDocComment:] + | *name.NamePart Pos{Line: 144-144 Pos: 2967-2969} map[Value:Baz] + | *stmt.Class Pos{Line: 145-145 Pos: 2979-2983} map[PhpDocComment:] | "ClassName": - | *node.Identifier Pos{Line: 157-157 Pos: 3044-3046} map[Value:Foo] + | *node.Identifier Pos{Line: 145-145 Pos: 2985-2987} map[Value:Foo] | "Stmts": - | *stmt.TraitUse Pos{Line: 157-157 Pos: 3050-3112} + | *stmt.TraitUse Pos{Line: 145-145 Pos: 2991-3021} | "Traits": - | *name.Name Pos{Line: 157-157 Pos: 3054-3056} + | *name.Name Pos{Line: 145-145 Pos: 2995-2997} | "Parts": - | *name.NamePart Pos{Line: 157-157 Pos: 3054-3056} map[Value:Bar] - | *name.Name Pos{Line: 157-157 Pos: 3059-3061} + | *name.NamePart Pos{Line: 145-145 Pos: 2995-2997} map[Value:Bar] + | *name.Name Pos{Line: 145-145 Pos: 3000-3002} | "Parts": - | *name.NamePart Pos{Line: 157-157 Pos: 3059-3061} map[Value:Baz] + | *name.NamePart Pos{Line: 145-145 Pos: 3000-3002} map[Value:Baz] | "Adaptations": - | *stmt.TraitUsePrecedence Pos{Line: 157-157 Pos: 3065-3092} + | *stmt.TraitUseAlias Pos{Line: 145-145 Pos: 3006-3018} | "Ref": - | *stmt.TraitMethodRef Pos{Line: 157-157 Pos: 3065-3072} - | "Trait": - | *name.Name Pos{Line: 157-157 Pos: 3065-3067} - | "Parts": - | *name.NamePart Pos{Line: 157-157 Pos: 3065-3067} map[Value:Bar] + | *stmt.TraitMethodRef Pos{Line: 145-145 Pos: 3006-3008} | "Method": - | *node.Identifier Pos{Line: 157-157 Pos: 3070-3072} map[Value:one] - | "Insteadof": - | *name.Name Pos{Line: 157-157 Pos: 3084-3086} - | "Parts": - | *name.NamePart Pos{Line: 157-157 Pos: 3084-3086} map[Value:Baz] - | *name.Name Pos{Line: 157-157 Pos: 3089-3092} - | "Parts": - | *name.NamePart Pos{Line: 157-157 Pos: 3089-3092} map[Value:Quux] - | *stmt.TraitUseAlias Pos{Line: 157-157 Pos: 3095-3109} + | *node.Identifier Pos{Line: 145-145 Pos: 3006-3008} map[Value:one] + | "Modifier": + | *node.Identifier Pos{Line: 145-145 Pos: 3013-3018} map[Value:public] + | *stmt.Class Pos{Line: 146-146 Pos: 3027-3031} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 146-146 Pos: 3033-3035} map[Value:Foo] + | "Stmts": + | *stmt.TraitUse Pos{Line: 146-146 Pos: 3039-3073} + | "Traits": + | *name.Name Pos{Line: 146-146 Pos: 3043-3045} + | "Parts": + | *name.NamePart Pos{Line: 146-146 Pos: 3043-3045} map[Value:Bar] + | *name.Name Pos{Line: 146-146 Pos: 3048-3050} + | "Parts": + | *name.NamePart Pos{Line: 146-146 Pos: 3048-3050} map[Value:Baz] + | "Adaptations": + | *stmt.TraitUseAlias Pos{Line: 146-146 Pos: 3054-3070} | "Ref": - | *stmt.TraitMethodRef Pos{Line: 157-157 Pos: 3095-3102} - | "Trait": - | *name.Name Pos{Line: 157-157 Pos: 3095-3097} - | "Parts": - | *name.NamePart Pos{Line: 157-157 Pos: 3095-3097} map[Value:Baz] + | *stmt.TraitMethodRef Pos{Line: 146-146 Pos: 3054-3056} | "Method": - | *node.Identifier Pos{Line: 157-157 Pos: 3100-3102} map[Value:one] + | *node.Identifier Pos{Line: 146-146 Pos: 3054-3056} map[Value:one] + | "Modifier": + | *node.Identifier Pos{Line: 146-146 Pos: 3061-3066} map[Value:public] | "Alias": - | *node.Identifier Pos{Line: 157-157 Pos: 3107-3109} map[Value:two] - | *stmt.Try Pos{Line: 159--1 Pos: 3119--1} + | *node.Identifier Pos{Line: 146-146 Pos: 3068-3070} map[Value:two] + | *stmt.Class Pos{Line: 147-147 Pos: 3079-3083} map[PhpDocComment:] + | "ClassName": + | *node.Identifier Pos{Line: 147-147 Pos: 3085-3087} map[Value:Foo] + | "Stmts": + | *stmt.TraitUse Pos{Line: 147-147 Pos: 3091-3153} + | "Traits": + | *name.Name Pos{Line: 147-147 Pos: 3095-3097} + | "Parts": + | *name.NamePart Pos{Line: 147-147 Pos: 3095-3097} map[Value:Bar] + | *name.Name Pos{Line: 147-147 Pos: 3100-3102} + | "Parts": + | *name.NamePart Pos{Line: 147-147 Pos: 3100-3102} map[Value:Baz] + | "Adaptations": + | *stmt.TraitUsePrecedence Pos{Line: 147-147 Pos: 3106-3133} + | "Ref": + | *stmt.TraitMethodRef Pos{Line: 147-147 Pos: 3106-3113} + | "Trait": + | *name.Name Pos{Line: 147-147 Pos: 3106-3108} + | "Parts": + | *name.NamePart Pos{Line: 147-147 Pos: 3106-3108} map[Value:Bar] + | "Method": + | *node.Identifier Pos{Line: 147-147 Pos: 3111-3113} map[Value:one] + | "Insteadof": + | *name.Name Pos{Line: 147-147 Pos: 3125-3127} + | "Parts": + | *name.NamePart Pos{Line: 147-147 Pos: 3125-3127} map[Value:Baz] + | *name.Name Pos{Line: 147-147 Pos: 3130-3133} + | "Parts": + | *name.NamePart Pos{Line: 147-147 Pos: 3130-3133} map[Value:Quux] + | *stmt.TraitUseAlias Pos{Line: 147-147 Pos: 3136-3150} + | "Ref": + | *stmt.TraitMethodRef Pos{Line: 147-147 Pos: 3136-3143} + | "Trait": + | *name.Name Pos{Line: 147-147 Pos: 3136-3138} + | "Parts": + | *name.NamePart Pos{Line: 147-147 Pos: 3136-3138} map[Value:Baz] + | "Method": + | *node.Identifier Pos{Line: 147-147 Pos: 3141-3143} map[Value:one] + | "Alias": + | *node.Identifier Pos{Line: 147-147 Pos: 3148-3150} map[Value:two] + | *stmt.Try Pos{Line: 149--1 Pos: 3160--1} | "Stmts": | "Catches": - | *stmt.Try Pos{Line: 160-160 Pos: 3128-3157} + | *stmt.Try Pos{Line: 150-150 Pos: 3169-3198} | "Stmts": | "Catches": - | *stmt.Catch Pos{Line: 160-160 Pos: 3135-3157} + | *stmt.Catch Pos{Line: 150-150 Pos: 3176-3198} | "Types": - | *name.Name Pos{Line: 160-160 Pos: 3142-3150} + | *name.Name Pos{Line: 150-150 Pos: 3183-3191} | "Parts": - | *name.NamePart Pos{Line: 160-160 Pos: 3142-3150} map[Value:Exception] + | *name.NamePart Pos{Line: 150-150 Pos: 3183-3191} map[Value:Exception] | "Variable": - | *expr.Variable Pos{Line: 160-160 Pos: 3152-3153} + | *expr.Variable Pos{Line: 150-150 Pos: 3193-3194} | "VarName": - | *node.Identifier Pos{Line: 160-160 Pos: 3152-3153} map[Value:$e] + | *node.Identifier Pos{Line: 150-150 Pos: 3193-3194} map[Value:$e] | "Stmts": - | *stmt.Try Pos{Line: 161-161 Pos: 3161-3221} + | *stmt.Try Pos{Line: 151-151 Pos: 3202-3262} | "Stmts": | "Catches": - | *stmt.Catch Pos{Line: 161-161 Pos: 3168-3190} + | *stmt.Catch Pos{Line: 151-151 Pos: 3209-3231} | "Types": - | *name.Name Pos{Line: 161-161 Pos: 3175-3183} + | *name.Name Pos{Line: 151-151 Pos: 3216-3224} | "Parts": - | *name.NamePart Pos{Line: 161-161 Pos: 3175-3183} map[Value:Exception] + | *name.NamePart Pos{Line: 151-151 Pos: 3216-3224} map[Value:Exception] | "Variable": - | *expr.Variable Pos{Line: 161-161 Pos: 3185-3186} + | *expr.Variable Pos{Line: 151-151 Pos: 3226-3227} | "VarName": - | *node.Identifier Pos{Line: 161-161 Pos: 3185-3186} map[Value:$e] + | *node.Identifier Pos{Line: 151-151 Pos: 3226-3227} map[Value:$e] | "Stmts": - | *stmt.Catch Pos{Line: 161-161 Pos: 3192-3221} + | *stmt.Catch Pos{Line: 151-151 Pos: 3233-3262} | "Types": - | *name.Name Pos{Line: 161-161 Pos: 3199-3214} + | *name.Name Pos{Line: 151-151 Pos: 3240-3255} | "Parts": - | *name.NamePart Pos{Line: 161-161 Pos: 3199-3214} map[Value:RuntimeException] + | *name.NamePart Pos{Line: 151-151 Pos: 3240-3255} map[Value:RuntimeException] | "Variable": - | *expr.Variable Pos{Line: 161-161 Pos: 3216-3217} + | *expr.Variable Pos{Line: 151-151 Pos: 3257-3258} | "VarName": - | *node.Identifier Pos{Line: 161-161 Pos: 3216-3217} map[Value:$e] + | *node.Identifier Pos{Line: 151-151 Pos: 3257-3258} map[Value:$e] | "Stmts": - | *stmt.Try Pos{Line: 162-162 Pos: 3225-3317} + | *stmt.Try Pos{Line: 152-152 Pos: 3266-3358} | "Stmts": | "Catches": - | *stmt.Catch Pos{Line: 162-162 Pos: 3232-3254} + | *stmt.Catch Pos{Line: 152-152 Pos: 3273-3295} | "Types": - | *name.Name Pos{Line: 162-162 Pos: 3239-3247} + | *name.Name Pos{Line: 152-152 Pos: 3280-3288} | "Parts": - | *name.NamePart Pos{Line: 162-162 Pos: 3239-3247} map[Value:Exception] + | *name.NamePart Pos{Line: 152-152 Pos: 3280-3288} map[Value:Exception] | "Variable": - | *expr.Variable Pos{Line: 162-162 Pos: 3249-3250} + | *expr.Variable Pos{Line: 152-152 Pos: 3290-3291} | "VarName": - | *node.Identifier Pos{Line: 162-162 Pos: 3249-3250} map[Value:$e] + | *node.Identifier Pos{Line: 152-152 Pos: 3290-3291} map[Value:$e] | "Stmts": - | *stmt.Catch Pos{Line: 162-162 Pos: 3256-3285} + | *stmt.Catch Pos{Line: 152-152 Pos: 3297-3326} | "Types": - | *name.Name Pos{Line: 162-162 Pos: 3263-3278} + | *name.Name Pos{Line: 152-152 Pos: 3304-3319} | "Parts": - | *name.NamePart Pos{Line: 162-162 Pos: 3263-3278} map[Value:RuntimeException] + | *name.NamePart Pos{Line: 152-152 Pos: 3304-3319} map[Value:RuntimeException] | "Variable": - | *expr.Variable Pos{Line: 162-162 Pos: 3280-3281} + | *expr.Variable Pos{Line: 152-152 Pos: 3321-3322} | "VarName": - | *node.Identifier Pos{Line: 162-162 Pos: 3280-3281} map[Value:$e] + | *node.Identifier Pos{Line: 152-152 Pos: 3321-3322} map[Value:$e] | "Stmts": - | *stmt.Catch Pos{Line: 162-162 Pos: 3287-3317} + | *stmt.Catch Pos{Line: 152-152 Pos: 3328-3358} | "Types": - | *name.Name Pos{Line: 162-162 Pos: 3294-3310} + | *name.Name Pos{Line: 152-152 Pos: 3335-3351} | "Parts": - | *name.NamePart Pos{Line: 162-162 Pos: 3294-3310} map[Value:AdditionException] + | *name.NamePart Pos{Line: 152-152 Pos: 3335-3351} map[Value:AdditionException] | "Variable": - | *expr.Variable Pos{Line: 162-162 Pos: 3312-3313} + | *expr.Variable Pos{Line: 152-152 Pos: 3353-3354} | "VarName": - | *node.Identifier Pos{Line: 162-162 Pos: 3312-3313} map[Value:$e] + | *node.Identifier Pos{Line: 152-152 Pos: 3353-3354} map[Value:$e] | "Stmts": - | *stmt.Try Pos{Line: 163-163 Pos: 3321-3361} + | *stmt.Try Pos{Line: 153-153 Pos: 3362-3402} | "Stmts": | "Catches": - | *stmt.Catch Pos{Line: 163-163 Pos: 3328-3350} + | *stmt.Catch Pos{Line: 153-153 Pos: 3369-3391} | "Types": - | *name.Name Pos{Line: 163-163 Pos: 3335-3343} + | *name.Name Pos{Line: 153-153 Pos: 3376-3384} | "Parts": - | *name.NamePart Pos{Line: 163-163 Pos: 3335-3343} map[Value:Exception] + | *name.NamePart Pos{Line: 153-153 Pos: 3376-3384} map[Value:Exception] | "Variable": - | *expr.Variable Pos{Line: 163-163 Pos: 3345-3346} + | *expr.Variable Pos{Line: 153-153 Pos: 3386-3387} | "VarName": - | *node.Identifier Pos{Line: 163-163 Pos: 3345-3346} map[Value:$e] + | *node.Identifier Pos{Line: 153-153 Pos: 3386-3387} map[Value:$e] | "Stmts": | "Finally": - | *stmt.Finally Pos{Line: 163-163 Pos: 3352-3361} + | *stmt.Finally Pos{Line: 153-153 Pos: 3393-3402} | "Stmts": - | *stmt.Unset Pos{Line: 165-165 Pos: 3366-3379} + | *stmt.Unset Pos{Line: 155-155 Pos: 3407-3420} | "Vars": - | *expr.Variable Pos{Line: 165-165 Pos: 3372-3373} + | *expr.Variable Pos{Line: 155-155 Pos: 3413-3414} | "VarName": - | *node.Identifier Pos{Line: 165-165 Pos: 3372-3373} map[Value:$a] - | *expr.Variable Pos{Line: 165-165 Pos: 3376-3377} + | *node.Identifier Pos{Line: 155-155 Pos: 3413-3414} map[Value:$a] + | *expr.Variable Pos{Line: 155-155 Pos: 3417-3418} | "VarName": - | *node.Identifier Pos{Line: 165-165 Pos: 3376-3377} map[Value:$b] - | *stmt.UseList Pos{Line: 167-167 Pos: 3384-3391} + | *node.Identifier Pos{Line: 155-155 Pos: 3417-3418} map[Value:$b] + | *stmt.UseList Pos{Line: 157-157 Pos: 3425-3432} | "Uses": - | *stmt.Use Pos{Line: 167-167 Pos: 3388-3390} + | *stmt.Use Pos{Line: 157-157 Pos: 3429-3431} | "Use": - | *name.Name Pos{Line: 167-167 Pos: 3388-3390} + | *name.Name Pos{Line: 157-157 Pos: 3429-3431} | "Parts": - | *name.NamePart Pos{Line: 167-167 Pos: 3388-3390} map[Value:Foo] - | *stmt.UseList Pos{Line: 168-168 Pos: 3395-3403} + | *name.NamePart Pos{Line: 157-157 Pos: 3429-3431} map[Value:Foo] + | *stmt.UseList Pos{Line: 158-158 Pos: 3436-3444} | "Uses": - | *stmt.Use Pos{Line: 168-168 Pos: 3400-3402} + | *stmt.Use Pos{Line: 158-158 Pos: 3441-3443} | "Use": - | *name.Name Pos{Line: 168-168 Pos: 3400-3402} + | *name.Name Pos{Line: 158-158 Pos: 3441-3443} | "Parts": - | *name.NamePart Pos{Line: 168-168 Pos: 3400-3402} map[Value:Foo] - | *stmt.UseList Pos{Line: 169-169 Pos: 3407-3422} + | *name.NamePart Pos{Line: 158-158 Pos: 3441-3443} map[Value:Foo] + | *stmt.UseList Pos{Line: 159-159 Pos: 3448-3463} | "Uses": - | *stmt.Use Pos{Line: 169-169 Pos: 3412-3421} + | *stmt.Use Pos{Line: 159-159 Pos: 3453-3462} | "Use": - | *name.Name Pos{Line: 169-169 Pos: 3412-3414} + | *name.Name Pos{Line: 159-159 Pos: 3453-3455} | "Parts": - | *name.NamePart Pos{Line: 169-169 Pos: 3412-3414} map[Value:Foo] + | *name.NamePart Pos{Line: 159-159 Pos: 3453-3455} map[Value:Foo] | "Alias": - | *node.Identifier Pos{Line: 169-169 Pos: 3419-3421} map[Value:Bar] - | *stmt.UseList Pos{Line: 170-170 Pos: 3426-3438} + | *node.Identifier Pos{Line: 159-159 Pos: 3460-3462} map[Value:Bar] + | *stmt.UseList Pos{Line: 160-160 Pos: 3467-3479} | "Uses": - | *stmt.Use Pos{Line: 170-170 Pos: 3430-3432} + | *stmt.Use Pos{Line: 160-160 Pos: 3471-3473} | "Use": - | *name.Name Pos{Line: 170-170 Pos: 3430-3432} + | *name.Name Pos{Line: 160-160 Pos: 3471-3473} | "Parts": - | *name.NamePart Pos{Line: 170-170 Pos: 3430-3432} map[Value:Foo] - | *stmt.Use Pos{Line: 170-170 Pos: 3435-3437} + | *name.NamePart Pos{Line: 160-160 Pos: 3471-3473} map[Value:Foo] + | *stmt.Use Pos{Line: 160-160 Pos: 3476-3478} | "Use": - | *name.Name Pos{Line: 170-170 Pos: 3435-3437} + | *name.Name Pos{Line: 160-160 Pos: 3476-3478} | "Parts": - | *name.NamePart Pos{Line: 170-170 Pos: 3435-3437} map[Value:Bar] - | *stmt.UseList Pos{Line: 171-171 Pos: 3442-3461} + | *name.NamePart Pos{Line: 160-160 Pos: 3476-3478} map[Value:Bar] + | *stmt.UseList Pos{Line: 161-161 Pos: 3483-3502} | "Uses": - | *stmt.Use Pos{Line: 171-171 Pos: 3446-3448} + | *stmt.Use Pos{Line: 161-161 Pos: 3487-3489} | "Use": - | *name.Name Pos{Line: 171-171 Pos: 3446-3448} + | *name.Name Pos{Line: 161-161 Pos: 3487-3489} | "Parts": - | *name.NamePart Pos{Line: 171-171 Pos: 3446-3448} map[Value:Foo] - | *stmt.Use Pos{Line: 171-171 Pos: 3451-3460} + | *name.NamePart Pos{Line: 161-161 Pos: 3487-3489} map[Value:Foo] + | *stmt.Use Pos{Line: 161-161 Pos: 3492-3501} | "Use": - | *name.Name Pos{Line: 171-171 Pos: 3451-3453} + | *name.Name Pos{Line: 161-161 Pos: 3492-3494} | "Parts": - | *name.NamePart Pos{Line: 171-171 Pos: 3451-3453} map[Value:Bar] + | *name.NamePart Pos{Line: 161-161 Pos: 3492-3494} map[Value:Bar] | "Alias": - | *node.Identifier Pos{Line: 171-171 Pos: 3458-3460} map[Value:Baz] - | *stmt.UseList Pos{Line: 172-172 Pos: 3465-3487} + | *node.Identifier Pos{Line: 161-161 Pos: 3499-3501} map[Value:Baz] + | *stmt.UseList Pos{Line: 162-162 Pos: 3506-3528} | "UseType": | *node.Identifier map[Value:function] | "Uses": - | *stmt.Use Pos{Line: 172-172 Pos: 3478-3480} + | *stmt.Use Pos{Line: 162-162 Pos: 3519-3521} | "Use": - | *name.Name Pos{Line: 172-172 Pos: 3478-3480} + | *name.Name Pos{Line: 162-162 Pos: 3519-3521} | "Parts": - | *name.NamePart Pos{Line: 172-172 Pos: 3478-3480} map[Value:Foo] - | *stmt.Use Pos{Line: 172-172 Pos: 3484-3486} + | *name.NamePart Pos{Line: 162-162 Pos: 3519-3521} map[Value:Foo] + | *stmt.Use Pos{Line: 162-162 Pos: 3525-3527} | "Use": - | *name.Name Pos{Line: 172-172 Pos: 3484-3486} + | *name.Name Pos{Line: 162-162 Pos: 3525-3527} | "Parts": - | *name.NamePart Pos{Line: 172-172 Pos: 3484-3486} map[Value:Bar] - | *stmt.UseList Pos{Line: 173-173 Pos: 3491-3527} + | *name.NamePart Pos{Line: 162-162 Pos: 3525-3527} map[Value:Bar] + | *stmt.UseList Pos{Line: 163-163 Pos: 3532-3568} | "UseType": | *node.Identifier map[Value:function] | "Uses": - | *stmt.Use Pos{Line: 173-173 Pos: 3504-3513} + | *stmt.Use Pos{Line: 163-163 Pos: 3545-3554} | "Use": - | *name.Name Pos{Line: 173-173 Pos: 3504-3506} + | *name.Name Pos{Line: 163-163 Pos: 3545-3547} | "Parts": - | *name.NamePart Pos{Line: 173-173 Pos: 3504-3506} map[Value:Foo] + | *name.NamePart Pos{Line: 163-163 Pos: 3545-3547} map[Value:Foo] | "Alias": - | *node.Identifier Pos{Line: 173-173 Pos: 3511-3513} map[Value:foo] - | *stmt.Use Pos{Line: 173-173 Pos: 3517-3526} + | *node.Identifier Pos{Line: 163-163 Pos: 3552-3554} map[Value:foo] + | *stmt.Use Pos{Line: 163-163 Pos: 3558-3567} | "Use": - | *name.Name Pos{Line: 173-173 Pos: 3517-3519} + | *name.Name Pos{Line: 163-163 Pos: 3558-3560} | "Parts": - | *name.NamePart Pos{Line: 173-173 Pos: 3517-3519} map[Value:Bar] + | *name.NamePart Pos{Line: 163-163 Pos: 3558-3560} map[Value:Bar] | "Alias": - | *node.Identifier Pos{Line: 173-173 Pos: 3524-3526} map[Value:bar] - | *stmt.UseList Pos{Line: 174-174 Pos: 3531-3550} + | *node.Identifier Pos{Line: 163-163 Pos: 3565-3567} map[Value:bar] + | *stmt.UseList Pos{Line: 164-164 Pos: 3572-3591} | "UseType": | *node.Identifier map[Value:const] | "Uses": - | *stmt.Use Pos{Line: 174-174 Pos: 3541-3543} + | *stmt.Use Pos{Line: 164-164 Pos: 3582-3584} | "Use": - | *name.Name Pos{Line: 174-174 Pos: 3541-3543} + | *name.Name Pos{Line: 164-164 Pos: 3582-3584} | "Parts": - | *name.NamePart Pos{Line: 174-174 Pos: 3541-3543} map[Value:Foo] - | *stmt.Use Pos{Line: 174-174 Pos: 3547-3549} + | *name.NamePart Pos{Line: 164-164 Pos: 3582-3584} map[Value:Foo] + | *stmt.Use Pos{Line: 164-164 Pos: 3588-3590} | "Use": - | *name.Name Pos{Line: 174-174 Pos: 3547-3549} + | *name.Name Pos{Line: 164-164 Pos: 3588-3590} | "Parts": - | *name.NamePart Pos{Line: 174-174 Pos: 3547-3549} map[Value:Bar] - | *stmt.UseList Pos{Line: 175-175 Pos: 3554-3587} + | *name.NamePart Pos{Line: 164-164 Pos: 3588-3590} map[Value:Bar] + | *stmt.UseList Pos{Line: 165-165 Pos: 3595-3628} | "UseType": | *node.Identifier map[Value:const] | "Uses": - | *stmt.Use Pos{Line: 175-175 Pos: 3564-3573} + | *stmt.Use Pos{Line: 165-165 Pos: 3605-3614} | "Use": - | *name.Name Pos{Line: 175-175 Pos: 3564-3566} + | *name.Name Pos{Line: 165-165 Pos: 3605-3607} | "Parts": - | *name.NamePart Pos{Line: 175-175 Pos: 3564-3566} map[Value:Foo] + | *name.NamePart Pos{Line: 165-165 Pos: 3605-3607} map[Value:Foo] | "Alias": - | *node.Identifier Pos{Line: 175-175 Pos: 3571-3573} map[Value:foo] - | *stmt.Use Pos{Line: 175-175 Pos: 3577-3586} + | *node.Identifier Pos{Line: 165-165 Pos: 3612-3614} map[Value:foo] + | *stmt.Use Pos{Line: 165-165 Pos: 3618-3627} | "Use": - | *name.Name Pos{Line: 175-175 Pos: 3577-3579} + | *name.Name Pos{Line: 165-165 Pos: 3618-3620} | "Parts": - | *name.NamePart Pos{Line: 175-175 Pos: 3577-3579} map[Value:Bar] + | *name.NamePart Pos{Line: 165-165 Pos: 3618-3620} map[Value:Bar] | "Alias": - | *node.Identifier Pos{Line: 175-175 Pos: 3584-3586} map[Value:bar] - | *stmt.Expression Pos{Line: 177-177 Pos: 3592-3597} + | *node.Identifier Pos{Line: 165-165 Pos: 3625-3627} map[Value:bar] + | *stmt.Expression Pos{Line: 167-167 Pos: 3633-3638} | "Expr": - | *expr.ArrayDimFetch Pos{Line: 177-177 Pos: 3592-3596} + | *expr.ArrayDimFetch Pos{Line: 167-167 Pos: 3633-3637} | "Variable": - | *expr.Variable Pos{Line: 177-177 Pos: 3592-3593} + | *expr.Variable Pos{Line: 167-167 Pos: 3633-3634} | "VarName": - | *node.Identifier Pos{Line: 177-177 Pos: 3592-3593} map[Value:$a] + | *node.Identifier Pos{Line: 167-167 Pos: 3633-3634} map[Value:$a] | "Dim": - | *scalar.Lnumber Pos{Line: 177-177 Pos: 3595-3595} map[Value:1] - | *stmt.Expression Pos{Line: 178-178 Pos: 3601-3609} + | *scalar.Lnumber Pos{Line: 167-167 Pos: 3636-3636} map[Value:1] + | *stmt.Expression Pos{Line: 168-168 Pos: 3642-3650} | "Expr": - | *expr.ArrayDimFetch Pos{Line: 178-178 Pos: 3601-3608} + | *expr.ArrayDimFetch Pos{Line: 168-168 Pos: 3642-3649} | "Variable": - | *expr.ArrayDimFetch Pos{Line: 178-178 Pos: 3601-3605} + | *expr.ArrayDimFetch Pos{Line: 168-168 Pos: 3642-3646} | "Variable": - | *expr.Variable Pos{Line: 178-178 Pos: 3601-3602} + | *expr.Variable Pos{Line: 168-168 Pos: 3642-3643} | "VarName": - | *node.Identifier Pos{Line: 178-178 Pos: 3601-3602} map[Value:$a] + | *node.Identifier Pos{Line: 168-168 Pos: 3642-3643} map[Value:$a] | "Dim": - | *scalar.Lnumber Pos{Line: 178-178 Pos: 3604-3604} map[Value:1] + | *scalar.Lnumber Pos{Line: 168-168 Pos: 3645-3645} map[Value:1] | "Dim": - | *scalar.Lnumber Pos{Line: 178-178 Pos: 3607-3607} map[Value:2] - | *stmt.Expression Pos{Line: 179-179 Pos: 3613-3620} + | *scalar.Lnumber Pos{Line: 168-168 Pos: 3648-3648} map[Value:2] + | *stmt.Expression Pos{Line: 169-169 Pos: 3654-3661} | "Expr": - | *expr.Array Pos{Line: 179-179 Pos: 3613-3619} + | *expr.Array Pos{Line: 169-169 Pos: 3654-3660} | "Items": - | *stmt.Expression Pos{Line: 180-180 Pos: 3624-3632} + | *stmt.Expression Pos{Line: 170-170 Pos: 3665-3673} | "Expr": - | *expr.Array Pos{Line: 180-180 Pos: 3624-3631} + | *expr.Array Pos{Line: 170-170 Pos: 3665-3672} | "Items": - | *expr.ArrayItem Pos{Line: 180-180 Pos: 3630-3630} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 170-170 Pos: 3671-3671} map[ByRef:false] | "Val": - | *scalar.Lnumber Pos{Line: 180-180 Pos: 3630-3630} map[Value:1] - | *stmt.Expression Pos{Line: 181-181 Pos: 3636-3653} + | *scalar.Lnumber Pos{Line: 170-170 Pos: 3671-3671} map[Value:1] + | *stmt.Expression Pos{Line: 171-171 Pos: 3677-3694} | "Expr": - | *expr.Array Pos{Line: 181-181 Pos: 3636-3652} + | *expr.Array Pos{Line: 171-171 Pos: 3677-3693} | "Items": - | *expr.ArrayItem Pos{Line: 181-181 Pos: 3642-3645} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 171-171 Pos: 3683-3686} map[ByRef:false] | "Key": - | *scalar.Lnumber Pos{Line: 181-181 Pos: 3642-3642} map[Value:1] + | *scalar.Lnumber Pos{Line: 171-171 Pos: 3683-3683} map[Value:1] | "Val": - | *scalar.Lnumber Pos{Line: 181-181 Pos: 3645-3645} map[Value:1] - | *expr.ArrayItem Pos{Line: 181-181 Pos: 3648-3650} map[ByRef:true] + | *scalar.Lnumber Pos{Line: 171-171 Pos: 3686-3686} map[Value:1] + | *expr.ArrayItem Pos{Line: 171-171 Pos: 3689-3691} map[ByRef:true] | "Val": - | *expr.Variable Pos{Line: 181-181 Pos: 3649-3650} + | *expr.Variable Pos{Line: 171-171 Pos: 3690-3691} | "VarName": - | *node.Identifier Pos{Line: 181-181 Pos: 3649-3650} map[Value:$b] - | *stmt.Expression Pos{Line: 182-182 Pos: 3657-3660} + | *node.Identifier Pos{Line: 171-171 Pos: 3690-3691} map[Value:$b] + | *stmt.Expression Pos{Line: 172-172 Pos: 3698-3701} | "Expr": - | *expr.BitwiseNot Pos{Line: 182-182 Pos: 3657-3659} + | *expr.BitwiseNot Pos{Line: 172-172 Pos: 3698-3700} | "Expr": - | *expr.Variable Pos{Line: 182-182 Pos: 3658-3659} + | *expr.Variable Pos{Line: 172-172 Pos: 3699-3700} | "VarName": - | *node.Identifier Pos{Line: 182-182 Pos: 3658-3659} map[Value:$a] - | *stmt.Expression Pos{Line: 183-183 Pos: 3664-3667} + | *node.Identifier Pos{Line: 172-172 Pos: 3699-3700} map[Value:$a] + | *stmt.Expression Pos{Line: 173-173 Pos: 3705-3708} | "Expr": - | *expr.BooleanNot Pos{Line: 183-183 Pos: 3664-3666} + | *expr.BooleanNot Pos{Line: 173-173 Pos: 3705-3707} | "Expr": - | *expr.Variable Pos{Line: 183-183 Pos: 3665-3666} + | *expr.Variable Pos{Line: 173-173 Pos: 3706-3707} | "VarName": - | *node.Identifier Pos{Line: 183-183 Pos: 3665-3666} map[Value:$a] - | *stmt.Expression Pos{Line: 185-185 Pos: 3672-3680} + | *node.Identifier Pos{Line: 173-173 Pos: 3706-3707} map[Value:$a] + | *stmt.Expression Pos{Line: 175-175 Pos: 3713-3721} | "Expr": - | *expr.ClassConstFetch Pos{Line: 185-185 Pos: 3672-3679} + | *expr.ClassConstFetch Pos{Line: 175-175 Pos: 3713-3720} | "Class": - | *name.Name Pos{Line: 185-185 Pos: 3672-3674} + | *name.Name Pos{Line: 175-175 Pos: 3713-3715} | "Parts": - | *name.NamePart Pos{Line: 185-185 Pos: 3672-3674} map[Value:Foo] + | *name.NamePart Pos{Line: 175-175 Pos: 3713-3715} map[Value:Foo] | "ConstantName": - | *node.Identifier Pos{Line: 185-185 Pos: 3677-3679} map[Value:Bar] - | *stmt.Expression Pos{Line: 186-186 Pos: 3684-3693} + | *node.Identifier Pos{Line: 175-175 Pos: 3718-3720} map[Value:Bar] + | *stmt.Expression Pos{Line: 176-176 Pos: 3725-3734} | "Expr": - | *expr.Clone Pos{Line: 186-186 Pos: 3684-3691} + | *expr.Clone Pos{Line: 176-176 Pos: 3725-3732} | "Expr": - | *expr.Variable Pos{Line: 186-186 Pos: 3690-3691} + | *expr.Variable Pos{Line: 176-176 Pos: 3731-3732} | "VarName": - | *node.Identifier Pos{Line: 186-186 Pos: 3690-3691} map[Value:$a] - | *stmt.Expression Pos{Line: 187-187 Pos: 3697-3705} + | *node.Identifier Pos{Line: 176-176 Pos: 3731-3732} map[Value:$a] + | *stmt.Expression Pos{Line: 177-177 Pos: 3738-3746} | "Expr": - | *expr.Clone Pos{Line: 187-187 Pos: 3697-3704} + | *expr.Clone Pos{Line: 177-177 Pos: 3738-3745} | "Expr": - | *expr.Variable Pos{Line: 187-187 Pos: 3703-3704} + | *expr.Variable Pos{Line: 177-177 Pos: 3744-3745} | "VarName": - | *node.Identifier Pos{Line: 187-187 Pos: 3703-3704} map[Value:$a] - | *stmt.Expression Pos{Line: 188-188 Pos: 3709-3721} + | *node.Identifier Pos{Line: 177-177 Pos: 3744-3745} map[Value:$a] + | *stmt.Expression Pos{Line: 178-178 Pos: 3750-3762} | "Expr": - | *expr.Closure Pos{Line: 188-188 Pos: 3709-3720} map[Static:false PhpDocComment: ReturnsRef:false] + | *expr.Closure Pos{Line: 178-178 Pos: 3750-3761} map[ReturnsRef:false Static:false PhpDocComment:] | "Uses": | "Stmts": - | *stmt.Expression Pos{Line: 189-189 Pos: 3725-3758} + | *stmt.Expression Pos{Line: 179-179 Pos: 3766-3799} | "Expr": - | *expr.Closure Pos{Line: 189-189 Pos: 3725-3757} map[ReturnsRef:false Static:false PhpDocComment:] + | *expr.Closure Pos{Line: 179-179 Pos: 3766-3798} map[ReturnsRef:false Static:false PhpDocComment:] | "Params": - | *node.Parameter Pos{Line: 189-189 Pos: 3734-3735} map[ByRef:false Variadic:false] + | *node.Parameter Pos{Line: 179-179 Pos: 3775-3776} map[ByRef:false Variadic:false] | "Variable": - | *expr.Variable Pos{Line: 189-189 Pos: 3734-3735} + | *expr.Variable Pos{Line: 179-179 Pos: 3775-3776} | "VarName": - | *node.Identifier Pos{Line: 189-189 Pos: 3734-3735} map[Value:$a] - | *node.Parameter Pos{Line: 189-189 Pos: 3738-3739} map[ByRef:false Variadic:false] + | *node.Identifier Pos{Line: 179-179 Pos: 3775-3776} map[Value:$a] + | *node.Parameter Pos{Line: 179-179 Pos: 3779-3780} map[ByRef:false Variadic:false] | "Variable": - | *expr.Variable Pos{Line: 189-189 Pos: 3738-3739} + | *expr.Variable Pos{Line: 179-179 Pos: 3779-3780} | "VarName": - | *node.Identifier Pos{Line: 189-189 Pos: 3738-3739} map[Value:$b] + | *node.Identifier Pos{Line: 179-179 Pos: 3779-3780} map[Value:$b] | "Uses": - | *expr.ClosureUse Pos{Line: 189-189 Pos: 3747-3748} map[ByRef:false] + | *expr.ClosureUse Pos{Line: 179-179 Pos: 3788-3789} map[ByRef:false] | "Variable": - | *expr.Variable Pos{Line: 189-189 Pos: 3747-3748} + | *expr.Variable Pos{Line: 179-179 Pos: 3788-3789} | "VarName": - | *node.Identifier Pos{Line: 189-189 Pos: 3747-3748} map[Value:$c] - | *expr.ClosureUse Pos{Line: 189-189 Pos: 3751-3753} map[ByRef:true] + | *node.Identifier Pos{Line: 179-179 Pos: 3788-3789} map[Value:$c] + | *expr.ClosureUse Pos{Line: 179-179 Pos: 3792-3794} map[ByRef:true] | "Variable": - | *expr.Variable Pos{Line: 189-189 Pos: 3752-3753} + | *expr.Variable Pos{Line: 179-179 Pos: 3793-3794} | "VarName": - | *node.Identifier Pos{Line: 189-189 Pos: 3752-3753} map[Value:$d] + | *node.Identifier Pos{Line: 179-179 Pos: 3793-3794} map[Value:$d] | "Stmts": - | *stmt.Expression Pos{Line: 190-190 Pos: 3762-3775} + | *stmt.Expression Pos{Line: 180-180 Pos: 3803-3816} | "Expr": - | *expr.Closure Pos{Line: 190-190 Pos: 3762-3774} map[ReturnsRef:false Static:false PhpDocComment:] + | *expr.Closure Pos{Line: 180-180 Pos: 3803-3815} map[ReturnsRef:false Static:false PhpDocComment:] | "Uses": | "Stmts": - | *stmt.Expression Pos{Line: 191-191 Pos: 3779-3782} + | *stmt.Expression Pos{Line: 181-181 Pos: 3820-3823} | "Expr": - | *expr.ConstFetch Pos{Line: 191-191 Pos: 3779-3781} + | *expr.ConstFetch Pos{Line: 181-181 Pos: 3820-3822} | "Constant": - | *name.Name Pos{Line: 191-191 Pos: 3779-3781} + | *name.Name Pos{Line: 181-181 Pos: 3820-3822} | "Parts": - | *name.NamePart Pos{Line: 191-191 Pos: 3779-3781} map[Value:foo] - | *stmt.Expression Pos{Line: 192-192 Pos: 3786-3799} + | *name.NamePart Pos{Line: 181-181 Pos: 3820-3822} map[Value:foo] + | *stmt.Expression Pos{Line: 182-182 Pos: 3827-3840} | "Expr": - | *expr.ConstFetch Pos{Line: 192-192 Pos: 3786-3798} + | *expr.ConstFetch Pos{Line: 182-182 Pos: 3827-3839} | "Constant": - | *name.Relative Pos{Line: 192-192 Pos: 3786-3798} + | *name.Relative Pos{Line: 182-182 Pos: 3827-3839} | "Parts": - | *name.NamePart Pos{Line: 192-192 Pos: 3796-3798} map[Value:foo] - | *stmt.Expression Pos{Line: 193-193 Pos: 3803-3807} + | *name.NamePart Pos{Line: 182-182 Pos: 3837-3839} map[Value:foo] + | *stmt.Expression Pos{Line: 183-183 Pos: 3844-3848} | "Expr": - | *expr.ConstFetch Pos{Line: 193-193 Pos: 3803-3806} + | *expr.ConstFetch Pos{Line: 183-183 Pos: 3844-3847} | "Constant": - | *name.FullyQualified Pos{Line: 193-193 Pos: 3803-3806} + | *name.FullyQualified Pos{Line: 183-183 Pos: 3844-3847} | "Parts": - | *name.NamePart Pos{Line: 193-193 Pos: 3804-3806} map[Value:foo] - | *stmt.Expression Pos{Line: 195-195 Pos: 3812-3821} + | *name.NamePart Pos{Line: 183-183 Pos: 3845-3847} map[Value:foo] + | *stmt.Expression Pos{Line: 185-185 Pos: 3853-3862} | "Expr": - | *expr.Empty Pos{Line: 195-195 Pos: 3812-3820} + | *expr.Empty Pos{Line: 185-185 Pos: 3853-3861} | "Expr": - | *expr.Variable Pos{Line: 195-195 Pos: 3818-3819} + | *expr.Variable Pos{Line: 185-185 Pos: 3859-3860} | "VarName": - | *node.Identifier Pos{Line: 195-195 Pos: 3818-3819} map[Value:$a] - | *stmt.Expression Pos{Line: 196-196 Pos: 3825-3828} + | *node.Identifier Pos{Line: 185-185 Pos: 3859-3860} map[Value:$a] + | *stmt.Expression Pos{Line: 186-186 Pos: 3866-3869} | "Expr": - | *expr.ErrorSuppress Pos{Line: 196-196 Pos: 3825-3827} + | *expr.ErrorSuppress Pos{Line: 186-186 Pos: 3866-3868} | "Expr": - | *expr.Variable Pos{Line: 196-196 Pos: 3826-3827} + | *expr.Variable Pos{Line: 186-186 Pos: 3867-3868} | "VarName": - | *node.Identifier Pos{Line: 196-196 Pos: 3826-3827} map[Value:$a] - | *stmt.Expression Pos{Line: 197-197 Pos: 3832-3840} + | *node.Identifier Pos{Line: 186-186 Pos: 3867-3868} map[Value:$a] + | *stmt.Expression Pos{Line: 187-187 Pos: 3873-3881} | "Expr": - | *expr.Eval Pos{Line: 197-197 Pos: 3832-3839} + | *expr.Eval Pos{Line: 187-187 Pos: 3873-3880} | "Expr": - | *expr.Variable Pos{Line: 197-197 Pos: 3837-3838} + | *expr.Variable Pos{Line: 187-187 Pos: 3878-3879} | "VarName": - | *node.Identifier Pos{Line: 197-197 Pos: 3837-3838} map[Value:$a] - | *stmt.Expression Pos{Line: 198-198 Pos: 3844-3848} + | *node.Identifier Pos{Line: 187-187 Pos: 3878-3879} map[Value:$a] + | *stmt.Expression Pos{Line: 188-188 Pos: 3885-3889} | "Expr": - | *expr.Exit Pos{Line: 198--1 Pos: 3844--1} map[IsDie:false] - | *stmt.Expression Pos{Line: 199-199 Pos: 3852-3860} + | *expr.Exit Pos{Line: 188--1 Pos: 3885--1} map[IsDie:false] + | *stmt.Expression Pos{Line: 189-189 Pos: 3893-3901} | "Expr": - | *expr.Exit Pos{Line: 199-199 Pos: 3852-3858} map[IsDie:false] + | *expr.Exit Pos{Line: 189-189 Pos: 3893-3899} map[IsDie:false] | "Expr": - | *expr.Variable Pos{Line: 199-199 Pos: 3857-3858} + | *expr.Variable Pos{Line: 189-189 Pos: 3898-3899} | "VarName": - | *node.Identifier Pos{Line: 199-199 Pos: 3857-3858} map[Value:$a] - | *stmt.Expression Pos{Line: 200-200 Pos: 3864-3867} + | *node.Identifier Pos{Line: 189-189 Pos: 3898-3899} map[Value:$a] + | *stmt.Expression Pos{Line: 190-190 Pos: 3905-3908} | "Expr": - | *expr.Exit Pos{Line: 200--1 Pos: 3864--1} map[IsDie:true] - | *stmt.Expression Pos{Line: 201-201 Pos: 3871-3878} + | *expr.Exit Pos{Line: 190--1 Pos: 3905--1} map[IsDie:true] + | *stmt.Expression Pos{Line: 191-191 Pos: 3912-3919} | "Expr": - | *expr.Exit Pos{Line: 201-201 Pos: 3871-3876} map[IsDie:true] + | *expr.Exit Pos{Line: 191-191 Pos: 3912-3917} map[IsDie:true] | "Expr": - | *expr.Variable Pos{Line: 201-201 Pos: 3875-3876} + | *expr.Variable Pos{Line: 191-191 Pos: 3916-3917} | "VarName": - | *node.Identifier Pos{Line: 201-201 Pos: 3875-3876} map[Value:$a] - | *stmt.Expression Pos{Line: 202-202 Pos: 3882-3887} + | *node.Identifier Pos{Line: 191-191 Pos: 3916-3917} map[Value:$a] + | *stmt.Expression Pos{Line: 192-192 Pos: 3923-3928} | "Expr": - | *expr.FunctionCall Pos{Line: 202-202 Pos: 3882-3886} + | *expr.FunctionCall Pos{Line: 192-192 Pos: 3923-3927} | "Function": - | *name.Name Pos{Line: 202-202 Pos: 3882-3884} + | *name.Name Pos{Line: 192-192 Pos: 3923-3925} | "Parts": - | *name.NamePart Pos{Line: 202-202 Pos: 3882-3884} map[Value:foo] + | *name.NamePart Pos{Line: 192-192 Pos: 3923-3925} map[Value:foo] | "Arguments": - | *stmt.Expression Pos{Line: 203-203 Pos: 3891-3909} + | *stmt.Expression Pos{Line: 193-193 Pos: 3932-3947} | "Expr": - | *expr.FunctionCall Pos{Line: 203-203 Pos: 3891-3908} + | *expr.FunctionCall Pos{Line: 193-193 Pos: 3932-3946} | "Function": - | *name.Relative Pos{Line: 203-203 Pos: 3891-3903} + | *name.Relative Pos{Line: 193-193 Pos: 3932-3944} | "Parts": - | *name.NamePart Pos{Line: 203-203 Pos: 3901-3903} map[Value:foo] + | *name.NamePart Pos{Line: 193-193 Pos: 3942-3944} map[Value:foo] | "Arguments": - | *node.Argument Pos{Line: 203-203 Pos: 3906-3907} map[Variadic:false IsReference:true] - | "Expr": - | *expr.Variable Pos{Line: 203-203 Pos: 3906-3907} - | "VarName": - | *node.Identifier Pos{Line: 203-203 Pos: 3906-3907} map[Value:$a] - | *stmt.Expression Pos{Line: 204-204 Pos: 3913-3921} + | *stmt.Expression Pos{Line: 194-194 Pos: 3951-3957} | "Expr": - | *expr.FunctionCall Pos{Line: 204-204 Pos: 3913-3920} + | *expr.FunctionCall Pos{Line: 194-194 Pos: 3951-3956} | "Function": - | *name.FullyQualified Pos{Line: 204-204 Pos: 3913-3916} + | *name.FullyQualified Pos{Line: 194-194 Pos: 3951-3954} | "Parts": - | *name.NamePart Pos{Line: 204-204 Pos: 3914-3916} map[Value:foo] + | *name.NamePart Pos{Line: 194-194 Pos: 3952-3954} map[Value:foo] | "Arguments": - | *node.Argument Pos{Line: 204-204 Pos: 3918-3919} map[Variadic:false IsReference:false] - | "Expr": - | *expr.ShortArray Pos{Line: 204-204 Pos: 3918-3919} - | "Items": - | *stmt.Expression Pos{Line: 205-205 Pos: 3925-3939} + | *stmt.Expression Pos{Line: 195-195 Pos: 3961-3967} | "Expr": - | *expr.FunctionCall Pos{Line: 205-205 Pos: 3925-3938} + | *expr.FunctionCall Pos{Line: 195-195 Pos: 3961-3966} | "Function": - | *expr.Variable Pos{Line: 205-205 Pos: 3925-3928} + | *expr.Variable Pos{Line: 195-195 Pos: 3961-3964} | "VarName": - | *node.Identifier Pos{Line: 205-205 Pos: 3925-3928} map[Value:$foo] + | *node.Identifier Pos{Line: 195-195 Pos: 3961-3964} map[Value:$foo] | "Arguments": - | *node.Argument Pos{Line: 205-205 Pos: 3930-3937} map[Variadic:false IsReference:false] - | "Expr": - | *expr.Yield Pos{Line: 205-205 Pos: 3930-3937} - | "Value": - | *expr.Variable Pos{Line: 205-205 Pos: 3936-3937} - | "VarName": - | *node.Identifier Pos{Line: 205-205 Pos: 3936-3937} map[Value:$a] - | *stmt.Expression Pos{Line: 207-207 Pos: 3944-3948} + | *stmt.Expression Pos{Line: 197-197 Pos: 3972-3976} | "Expr": - | *expr.PostDec Pos{Line: 207-207 Pos: 3944-3947} + | *expr.PostDec Pos{Line: 197-197 Pos: 3972-3975} | "Variable": - | *expr.Variable Pos{Line: 207-207 Pos: 3944-3945} + | *expr.Variable Pos{Line: 197-197 Pos: 3972-3973} | "VarName": - | *node.Identifier Pos{Line: 207-207 Pos: 3944-3945} map[Value:$a] - | *stmt.Expression Pos{Line: 208-208 Pos: 3952-3956} + | *node.Identifier Pos{Line: 197-197 Pos: 3972-3973} map[Value:$a] + | *stmt.Expression Pos{Line: 198-198 Pos: 3980-3984} | "Expr": - | *expr.PostInc Pos{Line: 208-208 Pos: 3952-3955} + | *expr.PostInc Pos{Line: 198-198 Pos: 3980-3983} | "Variable": - | *expr.Variable Pos{Line: 208-208 Pos: 3952-3953} + | *expr.Variable Pos{Line: 198-198 Pos: 3980-3981} | "VarName": - | *node.Identifier Pos{Line: 208-208 Pos: 3952-3953} map[Value:$a] - | *stmt.Expression Pos{Line: 209-209 Pos: 3960-3964} + | *node.Identifier Pos{Line: 198-198 Pos: 3980-3981} map[Value:$a] + | *stmt.Expression Pos{Line: 199-199 Pos: 3988-3992} | "Expr": - | *expr.PreDec Pos{Line: 209-209 Pos: 3960-3963} + | *expr.PreDec Pos{Line: 199-199 Pos: 3988-3991} | "Variable": - | *expr.Variable Pos{Line: 209-209 Pos: 3962-3963} + | *expr.Variable Pos{Line: 199-199 Pos: 3990-3991} | "VarName": - | *node.Identifier Pos{Line: 209-209 Pos: 3962-3963} map[Value:$a] - | *stmt.Expression Pos{Line: 210-210 Pos: 3968-3972} + | *node.Identifier Pos{Line: 199-199 Pos: 3990-3991} map[Value:$a] + | *stmt.Expression Pos{Line: 200-200 Pos: 3996-4000} | "Expr": - | *expr.PreInc Pos{Line: 210-210 Pos: 3968-3971} + | *expr.PreInc Pos{Line: 200-200 Pos: 3996-3999} | "Variable": - | *expr.Variable Pos{Line: 210-210 Pos: 3970-3971} + | *expr.Variable Pos{Line: 200-200 Pos: 3998-3999} | "VarName": - | *node.Identifier Pos{Line: 210-210 Pos: 3970-3971} map[Value:$a] - | *stmt.Expression Pos{Line: 212-212 Pos: 3977-3987} + | *node.Identifier Pos{Line: 200-200 Pos: 3998-3999} map[Value:$a] + | *stmt.Expression Pos{Line: 202-202 Pos: 4005-4015} | "Expr": - | *expr.Include Pos{Line: 212-212 Pos: 3977-3986} + | *expr.Include Pos{Line: 202-202 Pos: 4005-4014} | "Expr": - | *expr.Variable Pos{Line: 212-212 Pos: 3985-3986} + | *expr.Variable Pos{Line: 202-202 Pos: 4013-4014} | "VarName": - | *node.Identifier Pos{Line: 212-212 Pos: 3985-3986} map[Value:$a] - | *stmt.Expression Pos{Line: 213-213 Pos: 3991-4006} + | *node.Identifier Pos{Line: 202-202 Pos: 4013-4014} map[Value:$a] + | *stmt.Expression Pos{Line: 203-203 Pos: 4019-4034} | "Expr": - | *expr.IncludeOnce Pos{Line: 213-213 Pos: 3991-4005} + | *expr.IncludeOnce Pos{Line: 203-203 Pos: 4019-4033} | "Expr": - | *expr.Variable Pos{Line: 213-213 Pos: 4004-4005} + | *expr.Variable Pos{Line: 203-203 Pos: 4032-4033} | "VarName": - | *node.Identifier Pos{Line: 213-213 Pos: 4004-4005} map[Value:$a] - | *stmt.Expression Pos{Line: 214-214 Pos: 4010-4020} + | *node.Identifier Pos{Line: 203-203 Pos: 4032-4033} map[Value:$a] + | *stmt.Expression Pos{Line: 204-204 Pos: 4038-4048} | "Expr": - | *expr.Require Pos{Line: 214-214 Pos: 4010-4019} + | *expr.Require Pos{Line: 204-204 Pos: 4038-4047} | "Expr": - | *expr.Variable Pos{Line: 214-214 Pos: 4018-4019} + | *expr.Variable Pos{Line: 204-204 Pos: 4046-4047} | "VarName": - | *node.Identifier Pos{Line: 214-214 Pos: 4018-4019} map[Value:$a] - | *stmt.Expression Pos{Line: 215-215 Pos: 4024-4039} + | *node.Identifier Pos{Line: 204-204 Pos: 4046-4047} map[Value:$a] + | *stmt.Expression Pos{Line: 205-205 Pos: 4052-4067} | "Expr": - | *expr.RequireOnce Pos{Line: 215-215 Pos: 4024-4038} + | *expr.RequireOnce Pos{Line: 205-205 Pos: 4052-4066} | "Expr": - | *expr.Variable Pos{Line: 215-215 Pos: 4037-4038} + | *expr.Variable Pos{Line: 205-205 Pos: 4065-4066} | "VarName": - | *node.Identifier Pos{Line: 215-215 Pos: 4037-4038} map[Value:$a] - | *stmt.Expression Pos{Line: 217-217 Pos: 4044-4061} + | *node.Identifier Pos{Line: 205-205 Pos: 4065-4066} map[Value:$a] + | *stmt.Expression Pos{Line: 207-207 Pos: 4072-4089} | "Expr": - | *expr.InstanceOf Pos{Line: 217-217 Pos: 4044-4060} + | *expr.InstanceOf Pos{Line: 207-207 Pos: 4072-4088} | "Expr": - | *expr.Variable Pos{Line: 217-217 Pos: 4044-4045} + | *expr.Variable Pos{Line: 207-207 Pos: 4072-4073} | "VarName": - | *node.Identifier Pos{Line: 217-217 Pos: 4044-4045} map[Value:$a] + | *node.Identifier Pos{Line: 207-207 Pos: 4072-4073} map[Value:$a] | "Class": - | *name.Name Pos{Line: 217-217 Pos: 4058-4060} + | *name.Name Pos{Line: 207-207 Pos: 4086-4088} | "Parts": - | *name.NamePart Pos{Line: 217-217 Pos: 4058-4060} map[Value:Foo] - | *stmt.Expression Pos{Line: 218-218 Pos: 4065-4092} + | *name.NamePart Pos{Line: 207-207 Pos: 4086-4088} map[Value:Foo] + | *stmt.Expression Pos{Line: 208-208 Pos: 4093-4120} | "Expr": - | *expr.InstanceOf Pos{Line: 218-218 Pos: 4065-4091} + | *expr.InstanceOf Pos{Line: 208-208 Pos: 4093-4119} | "Expr": - | *expr.Variable Pos{Line: 218-218 Pos: 4065-4066} + | *expr.Variable Pos{Line: 208-208 Pos: 4093-4094} | "VarName": - | *node.Identifier Pos{Line: 218-218 Pos: 4065-4066} map[Value:$a] + | *node.Identifier Pos{Line: 208-208 Pos: 4093-4094} map[Value:$a] | "Class": - | *name.Relative Pos{Line: 218-218 Pos: 4079-4091} + | *name.Relative Pos{Line: 208-208 Pos: 4107-4119} | "Parts": - | *name.NamePart Pos{Line: 218-218 Pos: 4089-4091} map[Value:Foo] - | *stmt.Expression Pos{Line: 219-219 Pos: 4096-4114} + | *name.NamePart Pos{Line: 208-208 Pos: 4117-4119} map[Value:Foo] + | *stmt.Expression Pos{Line: 209-209 Pos: 4124-4142} | "Expr": - | *expr.InstanceOf Pos{Line: 219-219 Pos: 4096-4113} + | *expr.InstanceOf Pos{Line: 209-209 Pos: 4124-4141} | "Expr": - | *expr.Variable Pos{Line: 219-219 Pos: 4096-4097} + | *expr.Variable Pos{Line: 209-209 Pos: 4124-4125} | "VarName": - | *node.Identifier Pos{Line: 219-219 Pos: 4096-4097} map[Value:$a] + | *node.Identifier Pos{Line: 209-209 Pos: 4124-4125} map[Value:$a] | "Class": - | *name.FullyQualified Pos{Line: 219-219 Pos: 4110-4113} + | *name.FullyQualified Pos{Line: 209-209 Pos: 4138-4141} | "Parts": - | *name.NamePart Pos{Line: 219-219 Pos: 4111-4113} map[Value:Foo] - | *stmt.Expression Pos{Line: 221-221 Pos: 4119-4132} + | *name.NamePart Pos{Line: 209-209 Pos: 4139-4141} map[Value:Foo] + | *stmt.Expression Pos{Line: 211-211 Pos: 4147-4160} | "Expr": - | *expr.Isset Pos{Line: 221-221 Pos: 4119-4131} + | *expr.Isset Pos{Line: 211-211 Pos: 4147-4159} | "Variables": - | *expr.Variable Pos{Line: 221-221 Pos: 4125-4126} + | *expr.Variable Pos{Line: 211-211 Pos: 4153-4154} | "VarName": - | *node.Identifier Pos{Line: 221-221 Pos: 4125-4126} map[Value:$a] - | *expr.Variable Pos{Line: 221-221 Pos: 4129-4130} + | *node.Identifier Pos{Line: 211-211 Pos: 4153-4154} map[Value:$a] + | *expr.Variable Pos{Line: 211-211 Pos: 4157-4158} | "VarName": - | *node.Identifier Pos{Line: 221-221 Pos: 4129-4130} map[Value:$b] - | *stmt.Expression Pos{Line: 222-222 Pos: 4136-4149} + | *node.Identifier Pos{Line: 211-211 Pos: 4157-4158} map[Value:$b] + | *stmt.Expression Pos{Line: 212-212 Pos: 4164-4177} | "Expr": - | *assign_op.Assign Pos{Line: 222-222 Pos: 4136-4148} + | *assign_op.Assign Pos{Line: 212-212 Pos: 4164-4176} | "Variable": - | *expr.List Pos{Line: 222-222 Pos: 4136-4143} + | *expr.List Pos{Line: 212-212 Pos: 4164-4171} | "Items": - | *expr.ArrayItem Pos{Line: 222-222 Pos: 4141-4142} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 212-212 Pos: 4169-4170} map[ByRef:false] | "Val": - | *expr.Variable Pos{Line: 222-222 Pos: 4141-4142} + | *expr.Variable Pos{Line: 212-212 Pos: 4169-4170} | "VarName": - | *node.Identifier Pos{Line: 222-222 Pos: 4141-4142} map[Value:$a] + | *node.Identifier Pos{Line: 212-212 Pos: 4169-4170} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 222-222 Pos: 4147-4148} + | *expr.Variable Pos{Line: 212-212 Pos: 4175-4176} | "VarName": - | *node.Identifier Pos{Line: 222-222 Pos: 4147-4148} map[Value:$b] - | *stmt.Expression Pos{Line: 223-223 Pos: 4153-4168} + | *node.Identifier Pos{Line: 212-212 Pos: 4175-4176} map[Value:$b] + | *stmt.Expression Pos{Line: 213-213 Pos: 4181-4196} | "Expr": - | *assign_op.Assign Pos{Line: 223-223 Pos: 4153-4167} + | *assign_op.Assign Pos{Line: 213-213 Pos: 4181-4195} | "Variable": - | *expr.List Pos{Line: 223-223 Pos: 4153-4162} + | *expr.List Pos{Line: 213-213 Pos: 4181-4190} | "Items": - | *expr.ArrayItem Pos{Line: 223-223 Pos: 4158-4161} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 213-213 Pos: 4186-4189} map[ByRef:false] | "Val": - | *expr.ArrayDimFetch Pos{Line: 223-223 Pos: 4158-4161} + | *expr.ArrayDimFetch Pos{Line: 213-213 Pos: 4186-4189} | "Variable": - | *expr.Variable Pos{Line: 223-223 Pos: 4158-4159} + | *expr.Variable Pos{Line: 213-213 Pos: 4186-4187} | "VarName": - | *node.Identifier Pos{Line: 223-223 Pos: 4158-4159} map[Value:$a] + | *node.Identifier Pos{Line: 213-213 Pos: 4186-4187} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 223-223 Pos: 4166-4167} + | *expr.Variable Pos{Line: 213-213 Pos: 4194-4195} | "VarName": - | *node.Identifier Pos{Line: 223-223 Pos: 4166-4167} map[Value:$b] - | *stmt.Expression Pos{Line: 224-224 Pos: 4172-4191} + | *node.Identifier Pos{Line: 213-213 Pos: 4194-4195} map[Value:$b] + | *stmt.Expression Pos{Line: 214-214 Pos: 4200-4219} | "Expr": - | *assign_op.Assign Pos{Line: 224-224 Pos: 4172-4190} + | *assign_op.Assign Pos{Line: 214-214 Pos: 4200-4218} | "Variable": - | *expr.List Pos{Line: 224-224 Pos: 4172-4185} + | *expr.List Pos{Line: 214-214 Pos: 4200-4213} | "Items": - | *expr.ArrayItem Pos{Line: 224-224 Pos: 4177-4184} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 214-214 Pos: 4205-4212} map[ByRef:false] | "Val": - | *expr.List Pos{Line: 224-224 Pos: 4177-4184} + | *expr.List Pos{Line: 214-214 Pos: 4205-4212} | "Items": - | *expr.ArrayItem Pos{Line: 224-224 Pos: 4182-4183} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 214-214 Pos: 4210-4211} map[ByRef:false] | "Val": - | *expr.Variable Pos{Line: 224-224 Pos: 4182-4183} + | *expr.Variable Pos{Line: 214-214 Pos: 4210-4211} | "VarName": - | *node.Identifier Pos{Line: 224-224 Pos: 4182-4183} map[Value:$a] + | *node.Identifier Pos{Line: 214-214 Pos: 4210-4211} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 224-224 Pos: 4189-4190} + | *expr.Variable Pos{Line: 214-214 Pos: 4217-4218} | "VarName": - | *node.Identifier Pos{Line: 224-224 Pos: 4189-4190} map[Value:$b] - | *stmt.Expression Pos{Line: -1-226 Pos: -1-4205} + | *node.Identifier Pos{Line: 214-214 Pos: 4217-4218} map[Value:$b] + | *stmt.Expression Pos{Line: -1-216 Pos: -1-4233} | "Expr": - | *expr.MethodCall Pos{Line: -1-226 Pos: -1-4204} + | *expr.MethodCall Pos{Line: -1-216 Pos: -1-4232} | "Variable": - | *expr.Variable Pos{Line: 226-226 Pos: 4196-4204} + | *expr.Variable Pos{Line: 216-216 Pos: 4224-4232} | "VarName": - | *node.Identifier Pos{Line: 226-226 Pos: 4196-4197} map[Value:$a] + | *node.Identifier Pos{Line: 216-216 Pos: 4224-4225} map[Value:$a] | "Method": - | *node.Identifier Pos{Line: 226-226 Pos: 4200-4202} map[Value:foo] + | *node.Identifier Pos{Line: 216-216 Pos: 4228-4230} map[Value:foo] | "Arguments": - | *stmt.Expression Pos{Line: 227-227 Pos: 4209-4218} + | *stmt.Expression Pos{Line: 217-217 Pos: 4237-4246} | "Expr": - | *expr.New Pos{Line: 227-227 Pos: 4209-4217} + | *expr.New Pos{Line: 217-217 Pos: 4237-4245} | "Class": - | *name.Name Pos{Line: 227-227 Pos: 4213-4215} + | *name.Name Pos{Line: 217-217 Pos: 4241-4243} | "Parts": - | *name.NamePart Pos{Line: 227-227 Pos: 4213-4215} map[Value:Foo] + | *name.NamePart Pos{Line: 217-217 Pos: 4241-4243} map[Value:Foo] | "Arguments": - | *stmt.Expression Pos{Line: 228-228 Pos: 4222-4241} + | *stmt.Expression Pos{Line: 218-218 Pos: 4250-4269} | "Expr": - | *expr.New Pos{Line: 228-228 Pos: 4222-4240} + | *expr.New Pos{Line: 218-218 Pos: 4250-4268} | "Class": - | *name.Relative Pos{Line: 228-228 Pos: 4226-4238} + | *name.Relative Pos{Line: 218-218 Pos: 4254-4266} | "Parts": - | *name.NamePart Pos{Line: 228-228 Pos: 4236-4238} map[Value:Foo] + | *name.NamePart Pos{Line: 218-218 Pos: 4264-4266} map[Value:Foo] | "Arguments": - | *stmt.Expression Pos{Line: 229-229 Pos: 4245-4255} + | *stmt.Expression Pos{Line: 219-219 Pos: 4273-4283} | "Expr": - | *expr.New Pos{Line: 229-229 Pos: 4245-4254} + | *expr.New Pos{Line: 219-219 Pos: 4273-4282} | "Class": - | *name.FullyQualified Pos{Line: 229-229 Pos: 4249-4252} + | *name.FullyQualified Pos{Line: 219-219 Pos: 4277-4280} | "Parts": - | *name.NamePart Pos{Line: 229-229 Pos: 4250-4252} map[Value:Foo] + | *name.NamePart Pos{Line: 219-219 Pos: 4278-4280} map[Value:Foo] | "Arguments": - | *stmt.Expression Pos{Line: 230-230 Pos: 4259-4268} + | *stmt.Expression Pos{Line: 220-220 Pos: 4287-4296} | "Expr": - | *expr.Print Pos{Line: 230-230 Pos: 4259-4266} + | *expr.Print Pos{Line: 220-220 Pos: 4287-4294} | "Expr": - | *expr.Variable Pos{Line: 230-230 Pos: 4265-4266} + | *expr.Variable Pos{Line: 220-220 Pos: 4293-4294} | "VarName": - | *node.Identifier Pos{Line: 230-230 Pos: 4265-4266} map[Value:$a] - | *stmt.Expression Pos{Line: 231-231 Pos: 4276-4279} + | *node.Identifier Pos{Line: 220-220 Pos: 4293-4294} map[Value:$a] + | *stmt.Expression Pos{Line: 221-221 Pos: 4304-4307} | "Expr": - | *expr.PropertyFetch Pos{Line: 231-231 Pos: 4276-4278} + | *expr.PropertyFetch Pos{Line: 221-221 Pos: 4304-4306} | "Variable": - | *expr.Variable Pos{Line: 231-231 Pos: 4272-4278} + | *expr.Variable Pos{Line: 221-221 Pos: 4300-4306} | "VarName": - | *node.Identifier Pos{Line: 231-231 Pos: 4272-4273} map[Value:$a] + | *node.Identifier Pos{Line: 221-221 Pos: 4300-4301} map[Value:$a] | "Property": - | *node.Identifier Pos{Line: 231-231 Pos: 4276-4278} map[Value:foo] - | *stmt.Expression Pos{Line: 232-232 Pos: 4282-4290} + | *node.Identifier Pos{Line: 221-221 Pos: 4304-4306} map[Value:foo] + | *stmt.Expression Pos{Line: 222-222 Pos: 4310-4318} | "Expr": - | *expr.ShellExec Pos{Line: 232-232 Pos: 4282-4289} + | *expr.ShellExec Pos{Line: 222-222 Pos: 4310-4317} | "Parts": - | *scalar.EncapsedStringPart Pos{Line: 232-232 Pos: 4283-4286} map[Value:cmd ] - | *expr.Variable Pos{Line: 232-232 Pos: 4287-4288} + | *scalar.EncapsedStringPart Pos{Line: 222-222 Pos: 4311-4314} map[Value:cmd ] + | *expr.Variable Pos{Line: 222-222 Pos: 4315-4316} | "VarName": - | *node.Identifier Pos{Line: 232-232 Pos: 4287-4288} map[Value:$a] - | *stmt.Expression Pos{Line: 233-233 Pos: 4294-4296} + | *node.Identifier Pos{Line: 222-222 Pos: 4315-4316} map[Value:$a] + | *stmt.Expression Pos{Line: 223-223 Pos: 4322-4324} | "Expr": - | *expr.ShortArray Pos{Line: 233-233 Pos: 4294-4295} + | *expr.ShortArray Pos{Line: 223-223 Pos: 4322-4323} | "Items": - | *stmt.Expression Pos{Line: 234-234 Pos: 4300-4303} + | *stmt.Expression Pos{Line: 224-224 Pos: 4328-4331} | "Expr": - | *expr.ShortArray Pos{Line: 234-234 Pos: 4300-4302} + | *expr.ShortArray Pos{Line: 224-224 Pos: 4328-4330} | "Items": - | *expr.ArrayItem Pos{Line: 234-234 Pos: 4301-4301} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 224-224 Pos: 4329-4329} map[ByRef:false] | "Val": - | *scalar.Lnumber Pos{Line: 234-234 Pos: 4301-4301} map[Value:1] - | *stmt.Expression Pos{Line: 235-235 Pos: 4307-4319} + | *scalar.Lnumber Pos{Line: 224-224 Pos: 4329-4329} map[Value:1] + | *stmt.Expression Pos{Line: 225-225 Pos: 4335-4347} | "Expr": - | *expr.ShortArray Pos{Line: 235-235 Pos: 4307-4318} + | *expr.ShortArray Pos{Line: 225-225 Pos: 4335-4346} | "Items": - | *expr.ArrayItem Pos{Line: 235-235 Pos: 4308-4311} map[ByRef:false] + | *expr.ArrayItem Pos{Line: 225-225 Pos: 4336-4339} map[ByRef:false] | "Key": - | *scalar.Lnumber Pos{Line: 235-235 Pos: 4308-4308} map[Value:1] + | *scalar.Lnumber Pos{Line: 225-225 Pos: 4336-4336} map[Value:1] | "Val": - | *scalar.Lnumber Pos{Line: 235-235 Pos: 4311-4311} map[Value:1] - | *expr.ArrayItem Pos{Line: 235-235 Pos: 4314-4316} map[ByRef:true] + | *scalar.Lnumber Pos{Line: 225-225 Pos: 4339-4339} map[Value:1] + | *expr.ArrayItem Pos{Line: 225-225 Pos: 4342-4344} map[ByRef:true] | "Val": - | *expr.Variable Pos{Line: 235-235 Pos: 4315-4316} + | *expr.Variable Pos{Line: 225-225 Pos: 4343-4344} | "VarName": - | *node.Identifier Pos{Line: 235-235 Pos: 4315-4316} map[Value:$b] - | *stmt.Expression Pos{Line: 237-237 Pos: 4324-4334} + | *node.Identifier Pos{Line: 225-225 Pos: 4343-4344} map[Value:$b] + | *stmt.Expression Pos{Line: 227-227 Pos: 4352-4362} | "Expr": - | *expr.StaticCall Pos{Line: 237-237 Pos: 4324-4333} + | *expr.StaticCall Pos{Line: 227-227 Pos: 4352-4361} | "Class": - | *name.Name Pos{Line: 237-237 Pos: 4324-4326} + | *name.Name Pos{Line: 227-227 Pos: 4352-4354} | "Parts": - | *name.NamePart Pos{Line: 237-237 Pos: 4324-4326} map[Value:Foo] + | *name.NamePart Pos{Line: 227-227 Pos: 4352-4354} map[Value:Foo] | "Call": - | *node.Identifier Pos{Line: 237-237 Pos: 4329-4331} map[Value:bar] + | *node.Identifier Pos{Line: 227-227 Pos: 4357-4359} map[Value:bar] | "Arguments": - | *stmt.Expression Pos{Line: 238-238 Pos: 4338-4358} + | *stmt.Expression Pos{Line: 228-228 Pos: 4366-4386} | "Expr": - | *expr.StaticCall Pos{Line: 238-238 Pos: 4338-4357} + | *expr.StaticCall Pos{Line: 228-228 Pos: 4366-4385} | "Class": - | *name.Relative Pos{Line: 238-238 Pos: 4338-4350} + | *name.Relative Pos{Line: 228-228 Pos: 4366-4378} | "Parts": - | *name.NamePart Pos{Line: 238-238 Pos: 4348-4350} map[Value:Foo] + | *name.NamePart Pos{Line: 228-228 Pos: 4376-4378} map[Value:Foo] | "Call": - | *node.Identifier Pos{Line: 238-238 Pos: 4353-4355} map[Value:bar] + | *node.Identifier Pos{Line: 228-228 Pos: 4381-4383} map[Value:bar] | "Arguments": - | *stmt.Expression Pos{Line: 239-239 Pos: 4362-4373} + | *stmt.Expression Pos{Line: 229-229 Pos: 4390-4401} | "Expr": - | *expr.StaticCall Pos{Line: 239-239 Pos: 4362-4372} + | *expr.StaticCall Pos{Line: 229-229 Pos: 4390-4400} | "Class": - | *name.FullyQualified Pos{Line: 239-239 Pos: 4362-4365} + | *name.FullyQualified Pos{Line: 229-229 Pos: 4390-4393} | "Parts": - | *name.NamePart Pos{Line: 239-239 Pos: 4363-4365} map[Value:Foo] + | *name.NamePart Pos{Line: 229-229 Pos: 4391-4393} map[Value:Foo] | "Call": - | *node.Identifier Pos{Line: 239-239 Pos: 4368-4370} map[Value:bar] + | *node.Identifier Pos{Line: 229-229 Pos: 4396-4398} map[Value:bar] | "Arguments": - | *stmt.Expression Pos{Line: 240-240 Pos: 4377-4386} + | *stmt.Expression Pos{Line: 230-230 Pos: 4405-4414} | "Expr": - | *expr.StaticPropertyFetch Pos{Line: 240-240 Pos: 4377-4385} + | *expr.StaticPropertyFetch Pos{Line: 230-230 Pos: 4405-4413} | "Class": - | *name.Name Pos{Line: 240-240 Pos: 4377-4379} + | *name.Name Pos{Line: 230-230 Pos: 4405-4407} | "Parts": - | *name.NamePart Pos{Line: 240-240 Pos: 4377-4379} map[Value:Foo] + | *name.NamePart Pos{Line: 230-230 Pos: 4405-4407} map[Value:Foo] | "Property": - | *expr.Variable Pos{Line: 240-240 Pos: 4382-4385} + | *expr.Variable Pos{Line: 230-230 Pos: 4410-4413} | "VarName": - | *node.Identifier Pos{Line: 240-240 Pos: 4382-4385} map[Value:$bar] - | *stmt.Expression Pos{Line: 241-241 Pos: 4390-4409} + | *node.Identifier Pos{Line: 230-230 Pos: 4410-4413} map[Value:$bar] + | *stmt.Expression Pos{Line: 231-231 Pos: 4418-4437} | "Expr": - | *expr.StaticPropertyFetch Pos{Line: 241-241 Pos: 4390-4408} + | *expr.StaticPropertyFetch Pos{Line: 231-231 Pos: 4418-4436} | "Class": - | *name.Relative Pos{Line: 241-241 Pos: 4390-4402} + | *name.Relative Pos{Line: 231-231 Pos: 4418-4430} | "Parts": - | *name.NamePart Pos{Line: 241-241 Pos: 4400-4402} map[Value:Foo] + | *name.NamePart Pos{Line: 231-231 Pos: 4428-4430} map[Value:Foo] | "Property": - | *expr.Variable Pos{Line: 241-241 Pos: 4405-4408} + | *expr.Variable Pos{Line: 231-231 Pos: 4433-4436} | "VarName": - | *node.Identifier Pos{Line: 241-241 Pos: 4405-4408} map[Value:$bar] - | *stmt.Expression Pos{Line: 242-242 Pos: 4413-4423} + | *node.Identifier Pos{Line: 231-231 Pos: 4433-4436} map[Value:$bar] + | *stmt.Expression Pos{Line: 232-232 Pos: 4441-4451} | "Expr": - | *expr.StaticPropertyFetch Pos{Line: 242-242 Pos: 4413-4422} + | *expr.StaticPropertyFetch Pos{Line: 232-232 Pos: 4441-4450} | "Class": - | *name.FullyQualified Pos{Line: 242-242 Pos: 4413-4416} + | *name.FullyQualified Pos{Line: 232-232 Pos: 4441-4444} | "Parts": - | *name.NamePart Pos{Line: 242-242 Pos: 4414-4416} map[Value:Foo] + | *name.NamePart Pos{Line: 232-232 Pos: 4442-4444} map[Value:Foo] | "Property": - | *expr.Variable Pos{Line: 242-242 Pos: 4419-4422} + | *expr.Variable Pos{Line: 232-232 Pos: 4447-4450} | "VarName": - | *node.Identifier Pos{Line: 242-242 Pos: 4419-4422} map[Value:$bar] - | *stmt.Expression Pos{Line: 243-243 Pos: 4427-4439} + | *node.Identifier Pos{Line: 232-232 Pos: 4447-4450} map[Value:$bar] + | *stmt.Expression Pos{Line: 233-233 Pos: 4455-4467} | "Expr": - | *expr.Ternary Pos{Line: 243-243 Pos: 4427-4438} + | *expr.Ternary Pos{Line: 233-233 Pos: 4455-4466} | "Condition": - | *expr.Variable Pos{Line: 243-243 Pos: 4427-4428} + | *expr.Variable Pos{Line: 233-233 Pos: 4455-4456} | "VarName": - | *node.Identifier Pos{Line: 243-243 Pos: 4427-4428} map[Value:$a] + | *node.Identifier Pos{Line: 233-233 Pos: 4455-4456} map[Value:$a] | "IfTrue": - | *expr.Variable Pos{Line: 243-243 Pos: 4432-4433} + | *expr.Variable Pos{Line: 233-233 Pos: 4460-4461} | "VarName": - | *node.Identifier Pos{Line: 243-243 Pos: 4432-4433} map[Value:$b] + | *node.Identifier Pos{Line: 233-233 Pos: 4460-4461} map[Value:$b] | "IfFalse": - | *expr.Variable Pos{Line: 243-243 Pos: 4437-4438} + | *expr.Variable Pos{Line: 233-233 Pos: 4465-4466} | "VarName": - | *node.Identifier Pos{Line: 243-243 Pos: 4437-4438} map[Value:$c] - | *stmt.Expression Pos{Line: 244-244 Pos: 4443-4452} + | *node.Identifier Pos{Line: 233-233 Pos: 4465-4466} map[Value:$c] + | *stmt.Expression Pos{Line: 234-234 Pos: 4471-4480} | "Expr": - | *expr.Ternary Pos{Line: 244-244 Pos: 4443-4451} + | *expr.Ternary Pos{Line: 234-234 Pos: 4471-4479} | "Condition": - | *expr.Variable Pos{Line: 244-244 Pos: 4443-4444} + | *expr.Variable Pos{Line: 234-234 Pos: 4471-4472} | "VarName": - | *node.Identifier Pos{Line: 244-244 Pos: 4443-4444} map[Value:$a] + | *node.Identifier Pos{Line: 234-234 Pos: 4471-4472} map[Value:$a] | "IfFalse": - | *expr.Variable Pos{Line: 244-244 Pos: 4450-4451} + | *expr.Variable Pos{Line: 234-234 Pos: 4478-4479} | "VarName": - | *node.Identifier Pos{Line: 244-244 Pos: 4450-4451} map[Value:$c] - | *stmt.Expression Pos{Line: 245-245 Pos: 4456-4478} + | *node.Identifier Pos{Line: 234-234 Pos: 4478-4479} map[Value:$c] + | *stmt.Expression Pos{Line: 235-235 Pos: 4484-4506} | "Expr": - | *expr.Ternary Pos{Line: 245-245 Pos: 4456-4477} + | *expr.Ternary Pos{Line: 235-235 Pos: 4484-4505} | "Condition": - | *expr.Variable Pos{Line: 245-245 Pos: 4456-4457} + | *expr.Variable Pos{Line: 235-235 Pos: 4484-4485} | "VarName": - | *node.Identifier Pos{Line: 245-245 Pos: 4456-4457} map[Value:$a] + | *node.Identifier Pos{Line: 235-235 Pos: 4484-4485} map[Value:$a] | "IfTrue": - | *expr.Ternary Pos{Line: 245-245 Pos: 4461-4472} + | *expr.Ternary Pos{Line: 235-235 Pos: 4489-4500} | "Condition": - | *expr.Variable Pos{Line: 245-245 Pos: 4461-4462} + | *expr.Variable Pos{Line: 235-235 Pos: 4489-4490} | "VarName": - | *node.Identifier Pos{Line: 245-245 Pos: 4461-4462} map[Value:$b] + | *node.Identifier Pos{Line: 235-235 Pos: 4489-4490} map[Value:$b] | "IfTrue": - | *expr.Variable Pos{Line: 245-245 Pos: 4466-4467} + | *expr.Variable Pos{Line: 235-235 Pos: 4494-4495} | "VarName": - | *node.Identifier Pos{Line: 245-245 Pos: 4466-4467} map[Value:$c] + | *node.Identifier Pos{Line: 235-235 Pos: 4494-4495} map[Value:$c] | "IfFalse": - | *expr.Variable Pos{Line: 245-245 Pos: 4471-4472} + | *expr.Variable Pos{Line: 235-235 Pos: 4499-4500} | "VarName": - | *node.Identifier Pos{Line: 245-245 Pos: 4471-4472} map[Value:$d] + | *node.Identifier Pos{Line: 235-235 Pos: 4499-4500} map[Value:$d] | "IfFalse": - | *expr.Variable Pos{Line: 245-245 Pos: 4476-4477} + | *expr.Variable Pos{Line: 235-235 Pos: 4504-4505} | "VarName": - | *node.Identifier Pos{Line: 245-245 Pos: 4476-4477} map[Value:$e] - | *stmt.Expression Pos{Line: 246-246 Pos: 4482-4504} + | *node.Identifier Pos{Line: 235-235 Pos: 4504-4505} map[Value:$e] + | *stmt.Expression Pos{Line: 236-236 Pos: 4510-4532} | "Expr": - | *expr.Ternary Pos{Line: 246-246 Pos: 4482-4503} + | *expr.Ternary Pos{Line: 236-236 Pos: 4510-4531} | "Condition": - | *expr.Ternary Pos{Line: 246-246 Pos: 4482-4493} + | *expr.Ternary Pos{Line: 236-236 Pos: 4510-4521} | "Condition": - | *expr.Variable Pos{Line: 246-246 Pos: 4482-4483} + | *expr.Variable Pos{Line: 236-236 Pos: 4510-4511} | "VarName": - | *node.Identifier Pos{Line: 246-246 Pos: 4482-4483} map[Value:$a] + | *node.Identifier Pos{Line: 236-236 Pos: 4510-4511} map[Value:$a] | "IfTrue": - | *expr.Variable Pos{Line: 246-246 Pos: 4487-4488} + | *expr.Variable Pos{Line: 236-236 Pos: 4515-4516} | "VarName": - | *node.Identifier Pos{Line: 246-246 Pos: 4487-4488} map[Value:$b] + | *node.Identifier Pos{Line: 236-236 Pos: 4515-4516} map[Value:$b] | "IfFalse": - | *expr.Variable Pos{Line: 246-246 Pos: 4492-4493} + | *expr.Variable Pos{Line: 236-236 Pos: 4520-4521} | "VarName": - | *node.Identifier Pos{Line: 246-246 Pos: 4492-4493} map[Value:$c] + | *node.Identifier Pos{Line: 236-236 Pos: 4520-4521} map[Value:$c] | "IfTrue": - | *expr.Variable Pos{Line: 246-246 Pos: 4497-4498} + | *expr.Variable Pos{Line: 236-236 Pos: 4525-4526} | "VarName": - | *node.Identifier Pos{Line: 246-246 Pos: 4497-4498} map[Value:$d] + | *node.Identifier Pos{Line: 236-236 Pos: 4525-4526} map[Value:$d] | "IfFalse": - | *expr.Variable Pos{Line: 246-246 Pos: 4502-4503} + | *expr.Variable Pos{Line: 236-236 Pos: 4530-4531} | "VarName": - | *node.Identifier Pos{Line: 246-246 Pos: 4502-4503} map[Value:$e] - | *stmt.Expression Pos{Line: 247-247 Pos: 4508-4511} + | *node.Identifier Pos{Line: 236-236 Pos: 4530-4531} map[Value:$e] + | *stmt.Expression Pos{Line: 237-237 Pos: 4536-4539} | "Expr": - | *expr.UnaryMinus Pos{Line: 247-247 Pos: 4508-4510} + | *expr.UnaryMinus Pos{Line: 237-237 Pos: 4536-4538} | "Expr": - | *expr.Variable Pos{Line: 247-247 Pos: 4509-4510} + | *expr.Variable Pos{Line: 237-237 Pos: 4537-4538} | "VarName": - | *node.Identifier Pos{Line: 247-247 Pos: 4509-4510} map[Value:$a] - | *stmt.Expression Pos{Line: 248-248 Pos: 4515-4518} + | *node.Identifier Pos{Line: 237-237 Pos: 4537-4538} map[Value:$a] + | *stmt.Expression Pos{Line: 238-238 Pos: 4543-4546} | "Expr": - | *expr.UnaryPlus Pos{Line: 248-248 Pos: 4515-4517} + | *expr.UnaryPlus Pos{Line: 238-238 Pos: 4543-4545} | "Expr": - | *expr.Variable Pos{Line: 248-248 Pos: 4516-4517} + | *expr.Variable Pos{Line: 238-238 Pos: 4544-4545} | "VarName": - | *node.Identifier Pos{Line: 248-248 Pos: 4516-4517} map[Value:$a] - | *stmt.Expression Pos{Line: 249-249 Pos: 4522-4525} + | *node.Identifier Pos{Line: 238-238 Pos: 4544-4545} map[Value:$a] + | *stmt.Expression Pos{Line: 239-239 Pos: 4550-4553} | "Expr": - | *expr.Variable Pos{Line: 249-249 Pos: 4522-4524} + | *expr.Variable Pos{Line: 239-239 Pos: 4550-4552} | "VarName": - | *expr.Variable Pos{Line: 249-249 Pos: 4523-4524} + | *expr.Variable Pos{Line: 239-239 Pos: 4551-4552} | "VarName": - | *node.Identifier Pos{Line: 249-249 Pos: 4523-4524} map[Value:$a] - | *stmt.Expression Pos{Line: 250-250 Pos: 4529-4534} + | *node.Identifier Pos{Line: 239-239 Pos: 4551-4552} map[Value:$a] + | *stmt.Expression Pos{Line: 240-240 Pos: 4557-4562} | "Expr": - | *expr.Yield Pos{Line: 250-250 Pos: 4529-4533} - | *stmt.Expression Pos{Line: 251-251 Pos: 4538-4546} + | *expr.Yield Pos{Line: 240-240 Pos: 4557-4561} + | *stmt.Expression Pos{Line: 241-241 Pos: 4566-4574} | "Expr": - | *expr.Yield Pos{Line: 251-251 Pos: 4538-4545} + | *expr.Yield Pos{Line: 241-241 Pos: 4566-4573} | "Value": - | *expr.Variable Pos{Line: 251-251 Pos: 4544-4545} + | *expr.Variable Pos{Line: 241-241 Pos: 4572-4573} | "VarName": - | *node.Identifier Pos{Line: 251-251 Pos: 4544-4545} map[Value:$a] - | *stmt.Expression Pos{Line: 252-252 Pos: 4550-4564} + | *node.Identifier Pos{Line: 241-241 Pos: 4572-4573} map[Value:$a] + | *stmt.Expression Pos{Line: 242-242 Pos: 4578-4592} | "Expr": - | *expr.Yield Pos{Line: 252-252 Pos: 4550-4563} + | *expr.Yield Pos{Line: 242-242 Pos: 4578-4591} | "Key": - | *expr.Variable Pos{Line: 252-252 Pos: 4556-4557} + | *expr.Variable Pos{Line: 242-242 Pos: 4584-4585} | "VarName": - | *node.Identifier Pos{Line: 252-252 Pos: 4556-4557} map[Value:$a] + | *node.Identifier Pos{Line: 242-242 Pos: 4584-4585} map[Value:$a] | "Value": - | *expr.Variable Pos{Line: 252-252 Pos: 4562-4563} + | *expr.Variable Pos{Line: 242-242 Pos: 4590-4591} | "VarName": - | *node.Identifier Pos{Line: 252-252 Pos: 4562-4563} map[Value:$b] - | *stmt.Expression Pos{Line: 254-254 Pos: 4571-4580} + | *node.Identifier Pos{Line: 242-242 Pos: 4590-4591} map[Value:$b] + | *stmt.Expression Pos{Line: 244-244 Pos: 4599-4608} | "Expr": - | *cast.CastArray Pos{Line: 254-254 Pos: 4571-4579} + | *cast.CastArray Pos{Line: 244-244 Pos: 4599-4607} | "Expr": - | *expr.Variable Pos{Line: 254-254 Pos: 4578-4579} + | *expr.Variable Pos{Line: 244-244 Pos: 4606-4607} | "VarName": - | *node.Identifier Pos{Line: 254-254 Pos: 4578-4579} map[Value:$a] - | *stmt.Expression Pos{Line: 255-255 Pos: 4584-4595} + | *node.Identifier Pos{Line: 244-244 Pos: 4606-4607} map[Value:$a] + | *stmt.Expression Pos{Line: 245-245 Pos: 4612-4623} | "Expr": - | *cast.CastBool Pos{Line: 255-255 Pos: 4584-4594} + | *cast.CastBool Pos{Line: 245-245 Pos: 4612-4622} | "Expr": - | *expr.Variable Pos{Line: 255-255 Pos: 4593-4594} + | *expr.Variable Pos{Line: 245-245 Pos: 4621-4622} | "VarName": - | *node.Identifier Pos{Line: 255-255 Pos: 4593-4594} map[Value:$a] - | *stmt.Expression Pos{Line: 256-256 Pos: 4599-4607} + | *node.Identifier Pos{Line: 245-245 Pos: 4621-4622} map[Value:$a] + | *stmt.Expression Pos{Line: 246-246 Pos: 4627-4635} | "Expr": - | *cast.CastBool Pos{Line: 256-256 Pos: 4599-4606} + | *cast.CastBool Pos{Line: 246-246 Pos: 4627-4634} | "Expr": - | *expr.Variable Pos{Line: 256-256 Pos: 4605-4606} + | *expr.Variable Pos{Line: 246-246 Pos: 4633-4634} | "VarName": - | *node.Identifier Pos{Line: 256-256 Pos: 4605-4606} map[Value:$a] - | *stmt.Expression Pos{Line: 257-257 Pos: 4611-4621} + | *node.Identifier Pos{Line: 246-246 Pos: 4633-4634} map[Value:$a] + | *stmt.Expression Pos{Line: 247-247 Pos: 4639-4649} | "Expr": - | *cast.CastDouble Pos{Line: 257-257 Pos: 4611-4620} + | *cast.CastDouble Pos{Line: 247-247 Pos: 4639-4648} | "Expr": - | *expr.Variable Pos{Line: 257-257 Pos: 4619-4620} + | *expr.Variable Pos{Line: 247-247 Pos: 4647-4648} | "VarName": - | *node.Identifier Pos{Line: 257-257 Pos: 4619-4620} map[Value:$a] - | *stmt.Expression Pos{Line: 258-258 Pos: 4625-4634} + | *node.Identifier Pos{Line: 247-247 Pos: 4647-4648} map[Value:$a] + | *stmt.Expression Pos{Line: 248-248 Pos: 4653-4662} | "Expr": - | *cast.CastDouble Pos{Line: 258-258 Pos: 4625-4633} + | *cast.CastDouble Pos{Line: 248-248 Pos: 4653-4661} | "Expr": - | *expr.Variable Pos{Line: 258-258 Pos: 4632-4633} + | *expr.Variable Pos{Line: 248-248 Pos: 4660-4661} | "VarName": - | *node.Identifier Pos{Line: 258-258 Pos: 4632-4633} map[Value:$a] - | *stmt.Expression Pos{Line: 259-259 Pos: 4638-4649} + | *node.Identifier Pos{Line: 248-248 Pos: 4660-4661} map[Value:$a] + | *stmt.Expression Pos{Line: 249-249 Pos: 4666-4677} | "Expr": - | *cast.CastInt Pos{Line: 259-259 Pos: 4638-4648} + | *cast.CastInt Pos{Line: 249-249 Pos: 4666-4676} | "Expr": - | *expr.Variable Pos{Line: 259-259 Pos: 4647-4648} + | *expr.Variable Pos{Line: 249-249 Pos: 4675-4676} | "VarName": - | *node.Identifier Pos{Line: 259-259 Pos: 4647-4648} map[Value:$a] - | *stmt.Expression Pos{Line: 260-260 Pos: 4653-4660} + | *node.Identifier Pos{Line: 249-249 Pos: 4675-4676} map[Value:$a] + | *stmt.Expression Pos{Line: 250-250 Pos: 4681-4688} | "Expr": - | *cast.CastInt Pos{Line: 260-260 Pos: 4653-4659} + | *cast.CastInt Pos{Line: 250-250 Pos: 4681-4687} | "Expr": - | *expr.Variable Pos{Line: 260-260 Pos: 4658-4659} + | *expr.Variable Pos{Line: 250-250 Pos: 4686-4687} | "VarName": - | *node.Identifier Pos{Line: 260-260 Pos: 4658-4659} map[Value:$a] - | *stmt.Expression Pos{Line: 261-261 Pos: 4664-4674} + | *node.Identifier Pos{Line: 250-250 Pos: 4686-4687} map[Value:$a] + | *stmt.Expression Pos{Line: 251-251 Pos: 4692-4702} | "Expr": - | *cast.CastObject Pos{Line: 261-261 Pos: 4664-4673} + | *cast.CastObject Pos{Line: 251-251 Pos: 4692-4701} | "Expr": - | *expr.Variable Pos{Line: 261-261 Pos: 4672-4673} + | *expr.Variable Pos{Line: 251-251 Pos: 4700-4701} | "VarName": - | *node.Identifier Pos{Line: 261-261 Pos: 4672-4673} map[Value:$a] - | *stmt.Expression Pos{Line: 262-262 Pos: 4678-4688} + | *node.Identifier Pos{Line: 251-251 Pos: 4700-4701} map[Value:$a] + | *stmt.Expression Pos{Line: 252-252 Pos: 4706-4716} | "Expr": - | *cast.CastString Pos{Line: 262-262 Pos: 4678-4687} + | *cast.CastString Pos{Line: 252-252 Pos: 4706-4715} | "Expr": - | *expr.Variable Pos{Line: 262-262 Pos: 4686-4687} + | *expr.Variable Pos{Line: 252-252 Pos: 4714-4715} | "VarName": - | *node.Identifier Pos{Line: 262-262 Pos: 4686-4687} map[Value:$a] - | *stmt.Expression Pos{Line: 263-263 Pos: 4692-4701} + | *node.Identifier Pos{Line: 252-252 Pos: 4714-4715} map[Value:$a] + | *stmt.Expression Pos{Line: 253-253 Pos: 4720-4729} | "Expr": - | *cast.CastUnset Pos{Line: 263-263 Pos: 4692-4700} + | *cast.CastUnset Pos{Line: 253-253 Pos: 4720-4728} | "Expr": - | *expr.Variable Pos{Line: 263-263 Pos: 4699-4700} + | *expr.Variable Pos{Line: 253-253 Pos: 4727-4728} | "VarName": - | *node.Identifier Pos{Line: 263-263 Pos: 4699-4700} map[Value:$a] - | *stmt.Expression Pos{Line: 265-265 Pos: 4706-4713} + | *node.Identifier Pos{Line: 253-253 Pos: 4727-4728} map[Value:$a] + | *stmt.Expression Pos{Line: 255-255 Pos: 4734-4741} | "Expr": - | *binary_op.BitwiseAnd Pos{Line: 265-265 Pos: 4706-4712} + | *binary_op.BitwiseAnd Pos{Line: 255-255 Pos: 4734-4740} | "Left": - | *expr.Variable Pos{Line: 265-265 Pos: 4706-4707} + | *expr.Variable Pos{Line: 255-255 Pos: 4734-4735} | "VarName": - | *node.Identifier Pos{Line: 265-265 Pos: 4706-4707} map[Value:$a] + | *node.Identifier Pos{Line: 255-255 Pos: 4734-4735} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 265-265 Pos: 4711-4712} + | *expr.Variable Pos{Line: 255-255 Pos: 4739-4740} | "VarName": - | *node.Identifier Pos{Line: 265-265 Pos: 4711-4712} map[Value:$b] - | *stmt.Expression Pos{Line: 266-266 Pos: 4717-4724} + | *node.Identifier Pos{Line: 255-255 Pos: 4739-4740} map[Value:$b] + | *stmt.Expression Pos{Line: 256-256 Pos: 4745-4752} | "Expr": - | *binary_op.BitwiseOr Pos{Line: 266-266 Pos: 4717-4723} + | *binary_op.BitwiseOr Pos{Line: 256-256 Pos: 4745-4751} | "Left": - | *expr.Variable Pos{Line: 266-266 Pos: 4717-4718} + | *expr.Variable Pos{Line: 256-256 Pos: 4745-4746} | "VarName": - | *node.Identifier Pos{Line: 266-266 Pos: 4717-4718} map[Value:$a] + | *node.Identifier Pos{Line: 256-256 Pos: 4745-4746} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 266-266 Pos: 4722-4723} + | *expr.Variable Pos{Line: 256-256 Pos: 4750-4751} | "VarName": - | *node.Identifier Pos{Line: 266-266 Pos: 4722-4723} map[Value:$b] - | *stmt.Expression Pos{Line: 267-267 Pos: 4728-4735} + | *node.Identifier Pos{Line: 256-256 Pos: 4750-4751} map[Value:$b] + | *stmt.Expression Pos{Line: 257-257 Pos: 4756-4763} | "Expr": - | *binary_op.BitwiseXor Pos{Line: 267-267 Pos: 4728-4734} + | *binary_op.BitwiseXor Pos{Line: 257-257 Pos: 4756-4762} | "Left": - | *expr.Variable Pos{Line: 267-267 Pos: 4728-4729} + | *expr.Variable Pos{Line: 257-257 Pos: 4756-4757} | "VarName": - | *node.Identifier Pos{Line: 267-267 Pos: 4728-4729} map[Value:$a] + | *node.Identifier Pos{Line: 257-257 Pos: 4756-4757} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 267-267 Pos: 4733-4734} + | *expr.Variable Pos{Line: 257-257 Pos: 4761-4762} | "VarName": - | *node.Identifier Pos{Line: 267-267 Pos: 4733-4734} map[Value:$b] - | *stmt.Expression Pos{Line: 268-268 Pos: 4739-4747} + | *node.Identifier Pos{Line: 257-257 Pos: 4761-4762} map[Value:$b] + | *stmt.Expression Pos{Line: 258-258 Pos: 4767-4775} | "Expr": - | *binary_op.BooleanAnd Pos{Line: 268-268 Pos: 4739-4746} + | *binary_op.BooleanAnd Pos{Line: 258-258 Pos: 4767-4774} | "Left": - | *expr.Variable Pos{Line: 268-268 Pos: 4739-4740} + | *expr.Variable Pos{Line: 258-258 Pos: 4767-4768} | "VarName": - | *node.Identifier Pos{Line: 268-268 Pos: 4739-4740} map[Value:$a] + | *node.Identifier Pos{Line: 258-258 Pos: 4767-4768} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 268-268 Pos: 4745-4746} + | *expr.Variable Pos{Line: 258-258 Pos: 4773-4774} | "VarName": - | *node.Identifier Pos{Line: 268-268 Pos: 4745-4746} map[Value:$b] - | *stmt.Expression Pos{Line: 269-269 Pos: 4751-4759} + | *node.Identifier Pos{Line: 258-258 Pos: 4773-4774} map[Value:$b] + | *stmt.Expression Pos{Line: 259-259 Pos: 4779-4787} | "Expr": - | *binary_op.BooleanOr Pos{Line: 269-269 Pos: 4751-4758} + | *binary_op.BooleanOr Pos{Line: 259-259 Pos: 4779-4786} | "Left": - | *expr.Variable Pos{Line: 269-269 Pos: 4751-4752} + | *expr.Variable Pos{Line: 259-259 Pos: 4779-4780} | "VarName": - | *node.Identifier Pos{Line: 269-269 Pos: 4751-4752} map[Value:$a] + | *node.Identifier Pos{Line: 259-259 Pos: 4779-4780} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 269-269 Pos: 4757-4758} + | *expr.Variable Pos{Line: 259-259 Pos: 4785-4786} | "VarName": - | *node.Identifier Pos{Line: 269-269 Pos: 4757-4758} map[Value:$b] - | *stmt.Expression Pos{Line: 270-270 Pos: 4763-4770} + | *node.Identifier Pos{Line: 259-259 Pos: 4785-4786} map[Value:$b] + | *stmt.Expression Pos{Line: 260-260 Pos: 4791-4798} | "Expr": - | *binary_op.Concat Pos{Line: 270-270 Pos: 4763-4769} + | *binary_op.Concat Pos{Line: 260-260 Pos: 4791-4797} | "Left": - | *expr.Variable Pos{Line: 270-270 Pos: 4763-4764} + | *expr.Variable Pos{Line: 260-260 Pos: 4791-4792} | "VarName": - | *node.Identifier Pos{Line: 270-270 Pos: 4763-4764} map[Value:$a] + | *node.Identifier Pos{Line: 260-260 Pos: 4791-4792} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 270-270 Pos: 4768-4769} + | *expr.Variable Pos{Line: 260-260 Pos: 4796-4797} | "VarName": - | *node.Identifier Pos{Line: 270-270 Pos: 4768-4769} map[Value:$b] - | *stmt.Expression Pos{Line: 271-271 Pos: 4774-4781} + | *node.Identifier Pos{Line: 260-260 Pos: 4796-4797} map[Value:$b] + | *stmt.Expression Pos{Line: 261-261 Pos: 4802-4809} | "Expr": - | *binary_op.Div Pos{Line: 271-271 Pos: 4774-4780} + | *binary_op.Div Pos{Line: 261-261 Pos: 4802-4808} | "Left": - | *expr.Variable Pos{Line: 271-271 Pos: 4774-4775} + | *expr.Variable Pos{Line: 261-261 Pos: 4802-4803} | "VarName": - | *node.Identifier Pos{Line: 271-271 Pos: 4774-4775} map[Value:$a] + | *node.Identifier Pos{Line: 261-261 Pos: 4802-4803} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 271-271 Pos: 4779-4780} + | *expr.Variable Pos{Line: 261-261 Pos: 4807-4808} | "VarName": - | *node.Identifier Pos{Line: 271-271 Pos: 4779-4780} map[Value:$b] - | *stmt.Expression Pos{Line: 272-272 Pos: 4785-4793} + | *node.Identifier Pos{Line: 261-261 Pos: 4807-4808} map[Value:$b] + | *stmt.Expression Pos{Line: 262-262 Pos: 4813-4821} | "Expr": - | *binary_op.Equal Pos{Line: 272-272 Pos: 4785-4792} + | *binary_op.Equal Pos{Line: 262-262 Pos: 4813-4820} | "Left": - | *expr.Variable Pos{Line: 272-272 Pos: 4785-4786} + | *expr.Variable Pos{Line: 262-262 Pos: 4813-4814} | "VarName": - | *node.Identifier Pos{Line: 272-272 Pos: 4785-4786} map[Value:$a] + | *node.Identifier Pos{Line: 262-262 Pos: 4813-4814} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 272-272 Pos: 4791-4792} + | *expr.Variable Pos{Line: 262-262 Pos: 4819-4820} | "VarName": - | *node.Identifier Pos{Line: 272-272 Pos: 4791-4792} map[Value:$b] - | *stmt.Expression Pos{Line: 273-273 Pos: 4797-4805} + | *node.Identifier Pos{Line: 262-262 Pos: 4819-4820} map[Value:$b] + | *stmt.Expression Pos{Line: 263-263 Pos: 4825-4833} | "Expr": - | *binary_op.GreaterOrEqual Pos{Line: 273-273 Pos: 4797-4804} + | *binary_op.GreaterOrEqual Pos{Line: 263-263 Pos: 4825-4832} | "Left": - | *expr.Variable Pos{Line: 273-273 Pos: 4797-4798} + | *expr.Variable Pos{Line: 263-263 Pos: 4825-4826} | "VarName": - | *node.Identifier Pos{Line: 273-273 Pos: 4797-4798} map[Value:$a] + | *node.Identifier Pos{Line: 263-263 Pos: 4825-4826} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 273-273 Pos: 4803-4804} + | *expr.Variable Pos{Line: 263-263 Pos: 4831-4832} | "VarName": - | *node.Identifier Pos{Line: 273-273 Pos: 4803-4804} map[Value:$b] - | *stmt.Expression Pos{Line: 274-274 Pos: 4809-4816} + | *node.Identifier Pos{Line: 263-263 Pos: 4831-4832} map[Value:$b] + | *stmt.Expression Pos{Line: 264-264 Pos: 4837-4844} | "Expr": - | *binary_op.Greater Pos{Line: 274-274 Pos: 4809-4815} + | *binary_op.Greater Pos{Line: 264-264 Pos: 4837-4843} | "Left": - | *expr.Variable Pos{Line: 274-274 Pos: 4809-4810} + | *expr.Variable Pos{Line: 264-264 Pos: 4837-4838} | "VarName": - | *node.Identifier Pos{Line: 274-274 Pos: 4809-4810} map[Value:$a] + | *node.Identifier Pos{Line: 264-264 Pos: 4837-4838} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 274-274 Pos: 4814-4815} + | *expr.Variable Pos{Line: 264-264 Pos: 4842-4843} | "VarName": - | *node.Identifier Pos{Line: 274-274 Pos: 4814-4815} map[Value:$b] - | *stmt.Expression Pos{Line: 275-275 Pos: 4820-4829} + | *node.Identifier Pos{Line: 264-264 Pos: 4842-4843} map[Value:$b] + | *stmt.Expression Pos{Line: 265-265 Pos: 4848-4857} | "Expr": - | *binary_op.Identical Pos{Line: 275-275 Pos: 4820-4828} + | *binary_op.Identical Pos{Line: 265-265 Pos: 4848-4856} | "Left": - | *expr.Variable Pos{Line: 275-275 Pos: 4820-4821} + | *expr.Variable Pos{Line: 265-265 Pos: 4848-4849} | "VarName": - | *node.Identifier Pos{Line: 275-275 Pos: 4820-4821} map[Value:$a] + | *node.Identifier Pos{Line: 265-265 Pos: 4848-4849} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 275-275 Pos: 4827-4828} + | *expr.Variable Pos{Line: 265-265 Pos: 4855-4856} | "VarName": - | *node.Identifier Pos{Line: 275-275 Pos: 4827-4828} map[Value:$b] - | *stmt.Expression Pos{Line: 276-276 Pos: 4833-4842} + | *node.Identifier Pos{Line: 265-265 Pos: 4855-4856} map[Value:$b] + | *stmt.Expression Pos{Line: 266-266 Pos: 4861-4870} | "Expr": - | *binary_op.LogicalAnd Pos{Line: 276-276 Pos: 4833-4841} + | *binary_op.LogicalAnd Pos{Line: 266-266 Pos: 4861-4869} | "Left": - | *expr.Variable Pos{Line: 276-276 Pos: 4833-4834} + | *expr.Variable Pos{Line: 266-266 Pos: 4861-4862} | "VarName": - | *node.Identifier Pos{Line: 276-276 Pos: 4833-4834} map[Value:$a] + | *node.Identifier Pos{Line: 266-266 Pos: 4861-4862} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 276-276 Pos: 4840-4841} + | *expr.Variable Pos{Line: 266-266 Pos: 4868-4869} | "VarName": - | *node.Identifier Pos{Line: 276-276 Pos: 4840-4841} map[Value:$b] - | *stmt.Expression Pos{Line: 277-277 Pos: 4846-4854} + | *node.Identifier Pos{Line: 266-266 Pos: 4868-4869} map[Value:$b] + | *stmt.Expression Pos{Line: 267-267 Pos: 4874-4882} | "Expr": - | *binary_op.LogicalOr Pos{Line: 277-277 Pos: 4846-4853} + | *binary_op.LogicalOr Pos{Line: 267-267 Pos: 4874-4881} | "Left": - | *expr.Variable Pos{Line: 277-277 Pos: 4846-4847} + | *expr.Variable Pos{Line: 267-267 Pos: 4874-4875} | "VarName": - | *node.Identifier Pos{Line: 277-277 Pos: 4846-4847} map[Value:$a] + | *node.Identifier Pos{Line: 267-267 Pos: 4874-4875} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 277-277 Pos: 4852-4853} + | *expr.Variable Pos{Line: 267-267 Pos: 4880-4881} | "VarName": - | *node.Identifier Pos{Line: 277-277 Pos: 4852-4853} map[Value:$b] - | *stmt.Expression Pos{Line: 278-278 Pos: 4858-4867} + | *node.Identifier Pos{Line: 267-267 Pos: 4880-4881} map[Value:$b] + | *stmt.Expression Pos{Line: 268-268 Pos: 4886-4895} | "Expr": - | *binary_op.LogicalXor Pos{Line: 278-278 Pos: 4858-4866} + | *binary_op.LogicalXor Pos{Line: 268-268 Pos: 4886-4894} | "Left": - | *expr.Variable Pos{Line: 278-278 Pos: 4858-4859} + | *expr.Variable Pos{Line: 268-268 Pos: 4886-4887} | "VarName": - | *node.Identifier Pos{Line: 278-278 Pos: 4858-4859} map[Value:$a] + | *node.Identifier Pos{Line: 268-268 Pos: 4886-4887} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 278-278 Pos: 4865-4866} + | *expr.Variable Pos{Line: 268-268 Pos: 4893-4894} | "VarName": - | *node.Identifier Pos{Line: 278-278 Pos: 4865-4866} map[Value:$b] - | *stmt.Expression Pos{Line: 279-279 Pos: 4871-4878} + | *node.Identifier Pos{Line: 268-268 Pos: 4893-4894} map[Value:$b] + | *stmt.Expression Pos{Line: 269-269 Pos: 4899-4906} | "Expr": - | *binary_op.Minus Pos{Line: 279-279 Pos: 4871-4877} + | *binary_op.Minus Pos{Line: 269-269 Pos: 4899-4905} | "Left": - | *expr.Variable Pos{Line: 279-279 Pos: 4871-4872} + | *expr.Variable Pos{Line: 269-269 Pos: 4899-4900} | "VarName": - | *node.Identifier Pos{Line: 279-279 Pos: 4871-4872} map[Value:$a] + | *node.Identifier Pos{Line: 269-269 Pos: 4899-4900} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 279-279 Pos: 4876-4877} + | *expr.Variable Pos{Line: 269-269 Pos: 4904-4905} | "VarName": - | *node.Identifier Pos{Line: 279-279 Pos: 4876-4877} map[Value:$b] - | *stmt.Expression Pos{Line: 280-280 Pos: 4882-4889} + | *node.Identifier Pos{Line: 269-269 Pos: 4904-4905} map[Value:$b] + | *stmt.Expression Pos{Line: 270-270 Pos: 4910-4917} | "Expr": - | *binary_op.Mod Pos{Line: 280-280 Pos: 4882-4888} + | *binary_op.Mod Pos{Line: 270-270 Pos: 4910-4916} | "Left": - | *expr.Variable Pos{Line: 280-280 Pos: 4882-4883} + | *expr.Variable Pos{Line: 270-270 Pos: 4910-4911} | "VarName": - | *node.Identifier Pos{Line: 280-280 Pos: 4882-4883} map[Value:$a] + | *node.Identifier Pos{Line: 270-270 Pos: 4910-4911} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 280-280 Pos: 4887-4888} + | *expr.Variable Pos{Line: 270-270 Pos: 4915-4916} | "VarName": - | *node.Identifier Pos{Line: 280-280 Pos: 4887-4888} map[Value:$b] - | *stmt.Expression Pos{Line: 281-281 Pos: 4893-4900} + | *node.Identifier Pos{Line: 270-270 Pos: 4915-4916} map[Value:$b] + | *stmt.Expression Pos{Line: 271-271 Pos: 4921-4928} | "Expr": - | *binary_op.Mul Pos{Line: 281-281 Pos: 4893-4899} + | *binary_op.Mul Pos{Line: 271-271 Pos: 4921-4927} | "Left": - | *expr.Variable Pos{Line: 281-281 Pos: 4893-4894} + | *expr.Variable Pos{Line: 271-271 Pos: 4921-4922} | "VarName": - | *node.Identifier Pos{Line: 281-281 Pos: 4893-4894} map[Value:$a] + | *node.Identifier Pos{Line: 271-271 Pos: 4921-4922} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 281-281 Pos: 4898-4899} + | *expr.Variable Pos{Line: 271-271 Pos: 4926-4927} | "VarName": - | *node.Identifier Pos{Line: 281-281 Pos: 4898-4899} map[Value:$b] - | *stmt.Expression Pos{Line: 282-282 Pos: 4904-4912} + | *node.Identifier Pos{Line: 271-271 Pos: 4926-4927} map[Value:$b] + | *stmt.Expression Pos{Line: 272-272 Pos: 4932-4940} | "Expr": - | *binary_op.NotEqual Pos{Line: 282-282 Pos: 4904-4911} + | *binary_op.NotEqual Pos{Line: 272-272 Pos: 4932-4939} | "Left": - | *expr.Variable Pos{Line: 282-282 Pos: 4904-4905} + | *expr.Variable Pos{Line: 272-272 Pos: 4932-4933} | "VarName": - | *node.Identifier Pos{Line: 282-282 Pos: 4904-4905} map[Value:$a] + | *node.Identifier Pos{Line: 272-272 Pos: 4932-4933} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 282-282 Pos: 4910-4911} + | *expr.Variable Pos{Line: 272-272 Pos: 4938-4939} | "VarName": - | *node.Identifier Pos{Line: 282-282 Pos: 4910-4911} map[Value:$b] - | *stmt.Expression Pos{Line: 283-283 Pos: 4916-4925} + | *node.Identifier Pos{Line: 272-272 Pos: 4938-4939} map[Value:$b] + | *stmt.Expression Pos{Line: 273-273 Pos: 4944-4953} | "Expr": - | *binary_op.NotIdentical Pos{Line: 283-283 Pos: 4916-4924} + | *binary_op.NotIdentical Pos{Line: 273-273 Pos: 4944-4952} | "Left": - | *expr.Variable Pos{Line: 283-283 Pos: 4916-4917} + | *expr.Variable Pos{Line: 273-273 Pos: 4944-4945} | "VarName": - | *node.Identifier Pos{Line: 283-283 Pos: 4916-4917} map[Value:$a] + | *node.Identifier Pos{Line: 273-273 Pos: 4944-4945} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 283-283 Pos: 4923-4924} + | *expr.Variable Pos{Line: 273-273 Pos: 4951-4952} | "VarName": - | *node.Identifier Pos{Line: 283-283 Pos: 4923-4924} map[Value:$b] - | *stmt.Expression Pos{Line: 284-284 Pos: 4929-4936} + | *node.Identifier Pos{Line: 273-273 Pos: 4951-4952} map[Value:$b] + | *stmt.Expression Pos{Line: 274-274 Pos: 4957-4964} | "Expr": - | *binary_op.Plus Pos{Line: 284-284 Pos: 4929-4935} + | *binary_op.Plus Pos{Line: 274-274 Pos: 4957-4963} | "Left": - | *expr.Variable Pos{Line: 284-284 Pos: 4929-4930} + | *expr.Variable Pos{Line: 274-274 Pos: 4957-4958} | "VarName": - | *node.Identifier Pos{Line: 284-284 Pos: 4929-4930} map[Value:$a] + | *node.Identifier Pos{Line: 274-274 Pos: 4957-4958} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 284-284 Pos: 4934-4935} + | *expr.Variable Pos{Line: 274-274 Pos: 4962-4963} | "VarName": - | *node.Identifier Pos{Line: 284-284 Pos: 4934-4935} map[Value:$b] - | *stmt.Expression Pos{Line: 285-285 Pos: 4940-4948} + | *node.Identifier Pos{Line: 274-274 Pos: 4962-4963} map[Value:$b] + | *stmt.Expression Pos{Line: 275-275 Pos: 4968-4976} | "Expr": - | *binary_op.Pow Pos{Line: 285-285 Pos: 4940-4947} + | *binary_op.Pow Pos{Line: 275-275 Pos: 4968-4975} | "Left": - | *expr.Variable Pos{Line: 285-285 Pos: 4940-4941} + | *expr.Variable Pos{Line: 275-275 Pos: 4968-4969} | "VarName": - | *node.Identifier Pos{Line: 285-285 Pos: 4940-4941} map[Value:$a] + | *node.Identifier Pos{Line: 275-275 Pos: 4968-4969} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 285-285 Pos: 4946-4947} + | *expr.Variable Pos{Line: 275-275 Pos: 4974-4975} | "VarName": - | *node.Identifier Pos{Line: 285-285 Pos: 4946-4947} map[Value:$b] - | *stmt.Expression Pos{Line: 286-286 Pos: 4952-4960} + | *node.Identifier Pos{Line: 275-275 Pos: 4974-4975} map[Value:$b] + | *stmt.Expression Pos{Line: 276-276 Pos: 4980-4988} | "Expr": - | *binary_op.ShiftLeft Pos{Line: 286-286 Pos: 4952-4959} + | *binary_op.ShiftLeft Pos{Line: 276-276 Pos: 4980-4987} | "Left": - | *expr.Variable Pos{Line: 286-286 Pos: 4952-4953} + | *expr.Variable Pos{Line: 276-276 Pos: 4980-4981} | "VarName": - | *node.Identifier Pos{Line: 286-286 Pos: 4952-4953} map[Value:$a] + | *node.Identifier Pos{Line: 276-276 Pos: 4980-4981} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 286-286 Pos: 4958-4959} + | *expr.Variable Pos{Line: 276-276 Pos: 4986-4987} | "VarName": - | *node.Identifier Pos{Line: 286-286 Pos: 4958-4959} map[Value:$b] - | *stmt.Expression Pos{Line: 287-287 Pos: 4964-4972} + | *node.Identifier Pos{Line: 276-276 Pos: 4986-4987} map[Value:$b] + | *stmt.Expression Pos{Line: 277-277 Pos: 4992-5000} | "Expr": - | *binary_op.ShiftRight Pos{Line: 287-287 Pos: 4964-4971} + | *binary_op.ShiftRight Pos{Line: 277-277 Pos: 4992-4999} | "Left": - | *expr.Variable Pos{Line: 287-287 Pos: 4964-4965} + | *expr.Variable Pos{Line: 277-277 Pos: 4992-4993} | "VarName": - | *node.Identifier Pos{Line: 287-287 Pos: 4964-4965} map[Value:$a] + | *node.Identifier Pos{Line: 277-277 Pos: 4992-4993} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 287-287 Pos: 4970-4971} + | *expr.Variable Pos{Line: 277-277 Pos: 4998-4999} | "VarName": - | *node.Identifier Pos{Line: 287-287 Pos: 4970-4971} map[Value:$b] - | *stmt.Expression Pos{Line: 288-288 Pos: 4976-4984} + | *node.Identifier Pos{Line: 277-277 Pos: 4998-4999} map[Value:$b] + | *stmt.Expression Pos{Line: 278-278 Pos: 5004-5012} | "Expr": - | *binary_op.SmallerOrEqual Pos{Line: 288-288 Pos: 4976-4983} + | *binary_op.SmallerOrEqual Pos{Line: 278-278 Pos: 5004-5011} | "Left": - | *expr.Variable Pos{Line: 288-288 Pos: 4976-4977} + | *expr.Variable Pos{Line: 278-278 Pos: 5004-5005} | "VarName": - | *node.Identifier Pos{Line: 288-288 Pos: 4976-4977} map[Value:$a] + | *node.Identifier Pos{Line: 278-278 Pos: 5004-5005} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 288-288 Pos: 4982-4983} + | *expr.Variable Pos{Line: 278-278 Pos: 5010-5011} | "VarName": - | *node.Identifier Pos{Line: 288-288 Pos: 4982-4983} map[Value:$b] - | *stmt.Expression Pos{Line: 289-289 Pos: 4988-4995} + | *node.Identifier Pos{Line: 278-278 Pos: 5010-5011} map[Value:$b] + | *stmt.Expression Pos{Line: 279-279 Pos: 5016-5023} | "Expr": - | *binary_op.Smaller Pos{Line: 289-289 Pos: 4988-4994} + | *binary_op.Smaller Pos{Line: 279-279 Pos: 5016-5022} | "Left": - | *expr.Variable Pos{Line: 289-289 Pos: 4988-4989} + | *expr.Variable Pos{Line: 279-279 Pos: 5016-5017} | "VarName": - | *node.Identifier Pos{Line: 289-289 Pos: 4988-4989} map[Value:$a] + | *node.Identifier Pos{Line: 279-279 Pos: 5016-5017} map[Value:$a] | "Right": - | *expr.Variable Pos{Line: 289-289 Pos: 4993-4994} + | *expr.Variable Pos{Line: 279-279 Pos: 5021-5022} | "VarName": - | *node.Identifier Pos{Line: 289-289 Pos: 4993-4994} map[Value:$b] - | *stmt.Expression Pos{Line: 291-291 Pos: 5000-5008} + | *node.Identifier Pos{Line: 279-279 Pos: 5021-5022} map[Value:$b] + | *stmt.Expression Pos{Line: 281-281 Pos: 5028-5036} | "Expr": - | *assign_op.AssignRef Pos{Line: 291-291 Pos: 5000-5007} + | *assign_op.AssignRef Pos{Line: 281-281 Pos: 5028-5035} | "Variable": - | *expr.Variable Pos{Line: 291-291 Pos: 5000-5001} + | *expr.Variable Pos{Line: 281-281 Pos: 5028-5029} | "VarName": - | *node.Identifier Pos{Line: 291-291 Pos: 5000-5001} map[Value:$a] + | *node.Identifier Pos{Line: 281-281 Pos: 5028-5029} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 291-291 Pos: 5006-5007} + | *expr.Variable Pos{Line: 281-281 Pos: 5034-5035} | "VarName": - | *node.Identifier Pos{Line: 291-291 Pos: 5006-5007} map[Value:$b] - | *stmt.Expression Pos{Line: 292-292 Pos: 5012-5019} + | *node.Identifier Pos{Line: 281-281 Pos: 5034-5035} map[Value:$b] + | *stmt.Expression Pos{Line: 282-282 Pos: 5040-5047} | "Expr": - | *assign_op.Assign Pos{Line: 292-292 Pos: 5012-5018} + | *assign_op.Assign Pos{Line: 282-282 Pos: 5040-5046} | "Variable": - | *expr.Variable Pos{Line: 292-292 Pos: 5012-5013} + | *expr.Variable Pos{Line: 282-282 Pos: 5040-5041} | "VarName": - | *node.Identifier Pos{Line: 292-292 Pos: 5012-5013} map[Value:$a] + | *node.Identifier Pos{Line: 282-282 Pos: 5040-5041} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 292-292 Pos: 5017-5018} + | *expr.Variable Pos{Line: 282-282 Pos: 5045-5046} | "VarName": - | *node.Identifier Pos{Line: 292-292 Pos: 5017-5018} map[Value:$b] - | *stmt.Expression Pos{Line: 293-293 Pos: 5023-5031} + | *node.Identifier Pos{Line: 282-282 Pos: 5045-5046} map[Value:$b] + | *stmt.Expression Pos{Line: 283-283 Pos: 5051-5059} | "Expr": - | *assign_op.BitwiseAnd Pos{Line: 293-293 Pos: 5023-5030} + | *assign_op.BitwiseAnd Pos{Line: 283-283 Pos: 5051-5058} | "Variable": - | *expr.Variable Pos{Line: 293-293 Pos: 5023-5024} + | *expr.Variable Pos{Line: 283-283 Pos: 5051-5052} | "VarName": - | *node.Identifier Pos{Line: 293-293 Pos: 5023-5024} map[Value:$a] + | *node.Identifier Pos{Line: 283-283 Pos: 5051-5052} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 293-293 Pos: 5029-5030} + | *expr.Variable Pos{Line: 283-283 Pos: 5057-5058} | "VarName": - | *node.Identifier Pos{Line: 293-293 Pos: 5029-5030} map[Value:$b] - | *stmt.Expression Pos{Line: 294-294 Pos: 5035-5043} + | *node.Identifier Pos{Line: 283-283 Pos: 5057-5058} map[Value:$b] + | *stmt.Expression Pos{Line: 284-284 Pos: 5063-5071} | "Expr": - | *assign_op.BitwiseOr Pos{Line: 294-294 Pos: 5035-5042} + | *assign_op.BitwiseOr Pos{Line: 284-284 Pos: 5063-5070} | "Variable": - | *expr.Variable Pos{Line: 294-294 Pos: 5035-5036} + | *expr.Variable Pos{Line: 284-284 Pos: 5063-5064} | "VarName": - | *node.Identifier Pos{Line: 294-294 Pos: 5035-5036} map[Value:$a] + | *node.Identifier Pos{Line: 284-284 Pos: 5063-5064} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 294-294 Pos: 5041-5042} + | *expr.Variable Pos{Line: 284-284 Pos: 5069-5070} | "VarName": - | *node.Identifier Pos{Line: 294-294 Pos: 5041-5042} map[Value:$b] - | *stmt.Expression Pos{Line: 295-295 Pos: 5047-5055} + | *node.Identifier Pos{Line: 284-284 Pos: 5069-5070} map[Value:$b] + | *stmt.Expression Pos{Line: 285-285 Pos: 5075-5083} | "Expr": - | *assign_op.BitwiseXor Pos{Line: 295-295 Pos: 5047-5054} + | *assign_op.BitwiseXor Pos{Line: 285-285 Pos: 5075-5082} | "Variable": - | *expr.Variable Pos{Line: 295-295 Pos: 5047-5048} + | *expr.Variable Pos{Line: 285-285 Pos: 5075-5076} | "VarName": - | *node.Identifier Pos{Line: 295-295 Pos: 5047-5048} map[Value:$a] + | *node.Identifier Pos{Line: 285-285 Pos: 5075-5076} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 295-295 Pos: 5053-5054} + | *expr.Variable Pos{Line: 285-285 Pos: 5081-5082} | "VarName": - | *node.Identifier Pos{Line: 295-295 Pos: 5053-5054} map[Value:$b] - | *stmt.Expression Pos{Line: 296-296 Pos: 5059-5067} + | *node.Identifier Pos{Line: 285-285 Pos: 5081-5082} map[Value:$b] + | *stmt.Expression Pos{Line: 286-286 Pos: 5087-5095} | "Expr": - | *assign_op.Concat Pos{Line: 296-296 Pos: 5059-5066} + | *assign_op.Concat Pos{Line: 286-286 Pos: 5087-5094} | "Variable": - | *expr.Variable Pos{Line: 296-296 Pos: 5059-5060} + | *expr.Variable Pos{Line: 286-286 Pos: 5087-5088} | "VarName": - | *node.Identifier Pos{Line: 296-296 Pos: 5059-5060} map[Value:$a] + | *node.Identifier Pos{Line: 286-286 Pos: 5087-5088} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 296-296 Pos: 5065-5066} + | *expr.Variable Pos{Line: 286-286 Pos: 5093-5094} | "VarName": - | *node.Identifier Pos{Line: 296-296 Pos: 5065-5066} map[Value:$b] - | *stmt.Expression Pos{Line: 297-297 Pos: 5071-5079} + | *node.Identifier Pos{Line: 286-286 Pos: 5093-5094} map[Value:$b] + | *stmt.Expression Pos{Line: 287-287 Pos: 5099-5107} | "Expr": - | *assign_op.Div Pos{Line: 297-297 Pos: 5071-5078} + | *assign_op.Div Pos{Line: 287-287 Pos: 5099-5106} | "Variable": - | *expr.Variable Pos{Line: 297-297 Pos: 5071-5072} + | *expr.Variable Pos{Line: 287-287 Pos: 5099-5100} | "VarName": - | *node.Identifier Pos{Line: 297-297 Pos: 5071-5072} map[Value:$a] + | *node.Identifier Pos{Line: 287-287 Pos: 5099-5100} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 297-297 Pos: 5077-5078} + | *expr.Variable Pos{Line: 287-287 Pos: 5105-5106} | "VarName": - | *node.Identifier Pos{Line: 297-297 Pos: 5077-5078} map[Value:$b] - | *stmt.Expression Pos{Line: 298-298 Pos: 5083-5091} + | *node.Identifier Pos{Line: 287-287 Pos: 5105-5106} map[Value:$b] + | *stmt.Expression Pos{Line: 288-288 Pos: 5111-5119} | "Expr": - | *assign_op.Minus Pos{Line: 298-298 Pos: 5083-5090} + | *assign_op.Minus Pos{Line: 288-288 Pos: 5111-5118} | "Variable": - | *expr.Variable Pos{Line: 298-298 Pos: 5083-5084} + | *expr.Variable Pos{Line: 288-288 Pos: 5111-5112} | "VarName": - | *node.Identifier Pos{Line: 298-298 Pos: 5083-5084} map[Value:$a] + | *node.Identifier Pos{Line: 288-288 Pos: 5111-5112} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 298-298 Pos: 5089-5090} + | *expr.Variable Pos{Line: 288-288 Pos: 5117-5118} | "VarName": - | *node.Identifier Pos{Line: 298-298 Pos: 5089-5090} map[Value:$b] - | *stmt.Expression Pos{Line: 299-299 Pos: 5095-5103} + | *node.Identifier Pos{Line: 288-288 Pos: 5117-5118} map[Value:$b] + | *stmt.Expression Pos{Line: 289-289 Pos: 5123-5131} | "Expr": - | *assign_op.Mod Pos{Line: 299-299 Pos: 5095-5102} + | *assign_op.Mod Pos{Line: 289-289 Pos: 5123-5130} | "Variable": - | *expr.Variable Pos{Line: 299-299 Pos: 5095-5096} + | *expr.Variable Pos{Line: 289-289 Pos: 5123-5124} | "VarName": - | *node.Identifier Pos{Line: 299-299 Pos: 5095-5096} map[Value:$a] + | *node.Identifier Pos{Line: 289-289 Pos: 5123-5124} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 299-299 Pos: 5101-5102} + | *expr.Variable Pos{Line: 289-289 Pos: 5129-5130} | "VarName": - | *node.Identifier Pos{Line: 299-299 Pos: 5101-5102} map[Value:$b] - | *stmt.Expression Pos{Line: 300-300 Pos: 5107-5115} + | *node.Identifier Pos{Line: 289-289 Pos: 5129-5130} map[Value:$b] + | *stmt.Expression Pos{Line: 290-290 Pos: 5135-5143} | "Expr": - | *assign_op.Mul Pos{Line: 300-300 Pos: 5107-5114} + | *assign_op.Mul Pos{Line: 290-290 Pos: 5135-5142} | "Variable": - | *expr.Variable Pos{Line: 300-300 Pos: 5107-5108} + | *expr.Variable Pos{Line: 290-290 Pos: 5135-5136} | "VarName": - | *node.Identifier Pos{Line: 300-300 Pos: 5107-5108} map[Value:$a] + | *node.Identifier Pos{Line: 290-290 Pos: 5135-5136} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 300-300 Pos: 5113-5114} + | *expr.Variable Pos{Line: 290-290 Pos: 5141-5142} | "VarName": - | *node.Identifier Pos{Line: 300-300 Pos: 5113-5114} map[Value:$b] - | *stmt.Expression Pos{Line: 301-301 Pos: 5119-5127} + | *node.Identifier Pos{Line: 290-290 Pos: 5141-5142} map[Value:$b] + | *stmt.Expression Pos{Line: 291-291 Pos: 5147-5155} | "Expr": - | *assign_op.Plus Pos{Line: 301-301 Pos: 5119-5126} + | *assign_op.Plus Pos{Line: 291-291 Pos: 5147-5154} | "Variable": - | *expr.Variable Pos{Line: 301-301 Pos: 5119-5120} + | *expr.Variable Pos{Line: 291-291 Pos: 5147-5148} | "VarName": - | *node.Identifier Pos{Line: 301-301 Pos: 5119-5120} map[Value:$a] + | *node.Identifier Pos{Line: 291-291 Pos: 5147-5148} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 301-301 Pos: 5125-5126} + | *expr.Variable Pos{Line: 291-291 Pos: 5153-5154} | "VarName": - | *node.Identifier Pos{Line: 301-301 Pos: 5125-5126} map[Value:$b] - | *stmt.Expression Pos{Line: 302-302 Pos: 5131-5140} + | *node.Identifier Pos{Line: 291-291 Pos: 5153-5154} map[Value:$b] + | *stmt.Expression Pos{Line: 292-292 Pos: 5159-5168} | "Expr": - | *assign_op.Pow Pos{Line: 302-302 Pos: 5131-5139} + | *assign_op.Pow Pos{Line: 292-292 Pos: 5159-5167} | "Variable": - | *expr.Variable Pos{Line: 302-302 Pos: 5131-5132} + | *expr.Variable Pos{Line: 292-292 Pos: 5159-5160} | "VarName": - | *node.Identifier Pos{Line: 302-302 Pos: 5131-5132} map[Value:$a] + | *node.Identifier Pos{Line: 292-292 Pos: 5159-5160} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 302-302 Pos: 5138-5139} + | *expr.Variable Pos{Line: 292-292 Pos: 5166-5167} | "VarName": - | *node.Identifier Pos{Line: 302-302 Pos: 5138-5139} map[Value:$b] - | *stmt.Expression Pos{Line: 303-303 Pos: 5144-5153} + | *node.Identifier Pos{Line: 292-292 Pos: 5166-5167} map[Value:$b] + | *stmt.Expression Pos{Line: 293-293 Pos: 5172-5181} | "Expr": - | *assign_op.ShiftLeft Pos{Line: 303-303 Pos: 5144-5152} + | *assign_op.ShiftLeft Pos{Line: 293-293 Pos: 5172-5180} | "Variable": - | *expr.Variable Pos{Line: 303-303 Pos: 5144-5145} + | *expr.Variable Pos{Line: 293-293 Pos: 5172-5173} | "VarName": - | *node.Identifier Pos{Line: 303-303 Pos: 5144-5145} map[Value:$a] + | *node.Identifier Pos{Line: 293-293 Pos: 5172-5173} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 303-303 Pos: 5151-5152} + | *expr.Variable Pos{Line: 293-293 Pos: 5179-5180} | "VarName": - | *node.Identifier Pos{Line: 303-303 Pos: 5151-5152} map[Value:$b] - | *stmt.Expression Pos{Line: 304-304 Pos: 5157-5166} + | *node.Identifier Pos{Line: 293-293 Pos: 5179-5180} map[Value:$b] + | *stmt.Expression Pos{Line: 294-294 Pos: 5185-5194} | "Expr": - | *assign_op.ShiftRight Pos{Line: 304-304 Pos: 5157-5165} + | *assign_op.ShiftRight Pos{Line: 294-294 Pos: 5185-5193} | "Variable": - | *expr.Variable Pos{Line: 304-304 Pos: 5157-5158} + | *expr.Variable Pos{Line: 294-294 Pos: 5185-5186} | "VarName": - | *node.Identifier Pos{Line: 304-304 Pos: 5157-5158} map[Value:$a] + | *node.Identifier Pos{Line: 294-294 Pos: 5185-5186} map[Value:$a] | "Expression": - | *expr.Variable Pos{Line: 304-304 Pos: 5164-5165} + | *expr.Variable Pos{Line: 294-294 Pos: 5192-5193} | "VarName": - | *node.Identifier Pos{Line: 304-304 Pos: 5164-5165} map[Value:$b] + | *node.Identifier Pos{Line: 294-294 Pos: 5192-5193} map[Value:$b] diff --git a/node/stmt/t_class_method_test.go b/node/stmt/t_class_method_test.go index 3b53a3f..5846f5d 100644 --- a/node/stmt/t_class_method_test.go +++ b/node/stmt/t_class_method_test.go @@ -36,6 +36,45 @@ func TestSimpleClassMethod(t *testing.T) { assertEqual(t, expected, actual) } +func TestPrivateProtectedClassMethod(t *testing.T) { + src := ` class foo{ final private function bar() {} protected function baz() {} }` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Class{ + ClassName: &node.Identifier{Value: "foo"}, + Stmts: []node.Node{ + &stmt.ClassMethod{ + PhpDocComment: "", + ReturnsRef: false, + MethodName: &node.Identifier{Value: "bar"}, + Modifiers: []node.Node{ + &node.Identifier{Value: "final"}, + &node.Identifier{Value: "private"}, + }, + Stmts: []node.Node{}, + }, + &stmt.ClassMethod{ + PhpDocComment: "", + ReturnsRef: false, + MethodName: &node.Identifier{Value: "baz"}, + Modifiers: []node.Node{ + &node.Identifier{Value: "protected"}, + }, + Stmts: []node.Node{}, + }, + }, + }, + }, + } + + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) + + actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +} + func TestPhp5ClassMethod(t *testing.T) { src := ` class foo{ public static function &bar() {} }` @@ -91,6 +130,67 @@ func TestPhp7ClassMethod(t *testing.T) { }, } + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +} + +func TestAbstractClassMethod(t *testing.T) { + src := ` abstract class Foo{ abstract public function bar(); }` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Class{ + Modifiers: []node.Node{&node.Identifier{Value: "abstract"}}, + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.ClassMethod{ + PhpDocComment: "", + ReturnsRef: false, + MethodName: &node.Identifier{Value: "bar"}, + Modifiers: []node.Node{ + &node.Identifier{Value: "abstract"}, + &node.Identifier{Value: "public"}, + }, + }, + }, + }, + }, + } + + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) + + actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +} + +func TestPhp7AbstractClassMethod(t *testing.T) { + src := ` abstract class Foo{ public function bar(): void; }` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Class{ + Modifiers: []node.Node{&node.Identifier{Value: "abstract"}}, + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.ClassMethod{ + PhpDocComment: "", + ReturnsRef: false, + MethodName: &node.Identifier{Value: "bar"}, + Modifiers: []node.Node{ + &node.Identifier{Value: "public"}, + }, + ReturnType: &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "void"}, + }, + }, + }, + }, + }, + }, + } + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") assertEqual(t, expected, actual) } \ No newline at end of file diff --git a/node/stmt/t_trait_use_test.go b/node/stmt/t_trait_use_test.go index 0db8e92..9f13634 100644 --- a/node/stmt/t_trait_use_test.go +++ b/node/stmt/t_trait_use_test.go @@ -76,6 +76,128 @@ func TestTraitsUse(t *testing.T) { assertEqual(t, expected, actual) } +func TestTraitsUseEmptyAdaptations(t *testing.T) { + src := ` class Foo { use Bar, Baz {} }` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Class{ + PhpDocComment: "", + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.TraitUse{ + Traits: []node.Node{ + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Baz"}, + }, + }, + }, + }, + }, + }, + }, + } + + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) + + actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +} + +func TestTraitsUseModifier(t *testing.T) { + src := ` class Foo { use Bar, Baz { one as public; } }` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Class{ + PhpDocComment: "", + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.TraitUse{ + Traits: []node.Node{ + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Baz"}, + }, + }, + }, + Adaptations: []node.Node{ + &stmt.TraitUseAlias{ + Ref: &stmt.TraitMethodRef{ + Method: &node.Identifier{Value: "one"}, + }, + Modifier: &node.Identifier{Value: "public"}, + }, + }, + }, + }, + }, + }, + } + + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) + + actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +} + +func TestTraitsUseAliasModifier(t *testing.T) { + src := ` class Foo { use Bar, Baz { one as public two; } }` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Class{ + PhpDocComment: "", + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.TraitUse{ + Traits: []node.Node{ + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Baz"}, + }, + }, + }, + Adaptations: []node.Node{ + &stmt.TraitUseAlias{ + Ref: &stmt.TraitMethodRef{ + Method: &node.Identifier{Value: "one"}, + }, + Modifier: &node.Identifier{Value: "public"}, + Alias: &node.Identifier{Value: "two"}, + }, + }, + }, + }, + }, + }, + } + + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) + + actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +} + func TestTraitsUseAdaptions(t *testing.T) { src := ` class Foo { use Bar, Baz { Bar::one insteadof Baz, Quux; Baz::one as two; } }` diff --git a/php5/php5_test.go b/php5/php5_test.go index 7742bc5..914bb76 100644 --- a/php5/php5_test.go +++ b/php5/php5_test.go @@ -106,8 +106,8 @@ CAD; class foo{ const FOO = 1, BAR = 2; } class foo{ function bar() {} } class foo{ public static function &bar() {} } - class foo{ public static function &bar() {} } - abstract class foo{ } + class foo{ final private function bar() {} protected function baz() {} } + abstract class foo{ abstract public function bar(); } final class foo extends bar { } final class foo implements bar { } final class foo implements bar, baz { } @@ -187,7 +187,9 @@ CAD; throw $e; trait Foo {} class Foo { use Bar; } - class Foo { use Bar, Baz; } + class Foo { use Bar, Baz {} } + class Foo { use Bar, Baz { one as public; } } + class Foo { use Bar, Baz { one as public two; } } class Foo { use Bar, Baz { Bar::one insteadof Baz, Quux; Baz::one as two; } } try {} @@ -684,11 +686,20 @@ CAD; Stmts: []node.Node{ &stmt.ClassMethod{ PhpDocComment: "", - ReturnsRef: true, + ReturnsRef: false, MethodName: &node.Identifier{Value: "bar"}, Modifiers: []node.Node{ - &node.Identifier{Value: "public"}, - &node.Identifier{Value: "static"}, + &node.Identifier{Value: "final"}, + &node.Identifier{Value: "private"}, + }, + Stmts: []node.Node{}, + }, + &stmt.ClassMethod{ + PhpDocComment: "", + ReturnsRef: false, + MethodName: &node.Identifier{Value: "baz"}, + Modifiers: []node.Node{ + &node.Identifier{Value: "protected"}, }, Stmts: []node.Node{}, }, @@ -699,7 +710,17 @@ CAD; Modifiers: []node.Node{ &node.Identifier{Value: "abstract"}, }, - Stmts: []node.Node{}, + Stmts: []node.Node{ + &stmt.ClassMethod{ + PhpDocComment: "", + ReturnsRef: false, + MethodName: &node.Identifier{Value: "bar"}, + Modifiers: []node.Node{ + &node.Identifier{Value: "abstract"}, + &node.Identifier{Value: "public"}, + }, + }, + }, }, &stmt.Class{ ClassName: &node.Identifier{Value: "foo"}, @@ -1310,6 +1331,63 @@ CAD; }, }, }, + &stmt.Class{ + PhpDocComment: "", + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.TraitUse{ + Traits: []node.Node{ + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Baz"}, + }, + }, + }, + Adaptations: []node.Node{ + &stmt.TraitUseAlias{ + Ref: &stmt.TraitMethodRef{ + Method: &node.Identifier{Value: "one"}, + }, + Modifier: &node.Identifier{Value: "public"}, + }, + }, + }, + }, + }, + &stmt.Class{ + PhpDocComment: "", + ClassName: &node.Identifier{Value: "Foo"}, + Stmts: []node.Node{ + &stmt.TraitUse{ + Traits: []node.Node{ + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Bar"}, + }, + }, + &name.Name{ + Parts: []node.Node{ + &name.NamePart{Value: "Baz"}, + }, + }, + }, + Adaptations: []node.Node{ + &stmt.TraitUseAlias{ + Ref: &stmt.TraitMethodRef{ + Method: &node.Identifier{Value: "one"}, + }, + Modifier: &node.Identifier{Value: "public"}, + Alias: &node.Identifier{Value: "two"}, + }, + }, + }, + }, + }, &stmt.Class{ PhpDocComment: "", ClassName: &node.Identifier{Value: "Foo"},