prism 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -1
- data/README.md +1 -0
- data/config.yml +257 -20
- data/docs/parsing_rules.md +4 -1
- data/ext/prism/extension.c +63 -26
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +559 -327
- data/include/prism/defines.h +27 -0
- data/include/prism/diagnostic.h +5 -1
- data/include/prism/options.h +39 -2
- data/include/prism/parser.h +7 -0
- data/include/prism/util/pm_string.h +27 -4
- data/include/prism/version.h +2 -2
- data/lib/prism/dot_visitor.rb +2 -0
- data/lib/prism/dsl.rb +10 -8
- data/lib/prism/ffi.rb +37 -3
- data/lib/prism/inspect_visitor.rb +1 -1
- data/lib/prism/lex_compat.rb +1 -1
- data/lib/prism/node.rb +132 -89
- data/lib/prism/parse_result.rb +1 -1
- data/lib/prism/reflection.rb +1 -1
- data/lib/prism/serialize.rb +6 -2
- data/lib/prism/translation/parser/lexer.rb +25 -3
- data/lib/prism/translation/ruby_parser.rb +7 -1
- data/prism.gemspec +1 -2
- data/rbi/prism/dsl.rbi +32 -32
- data/rbi/prism/node.rbi +69 -59
- data/rbi/prism.rbi +34 -34
- data/sig/prism/dsl.rbs +24 -24
- data/sig/prism/node.rbs +113 -105
- data/sig/prism.rbs +90 -72
- data/src/diagnostic.c +15 -7
- data/src/node.c +10 -0
- data/src/options.c +58 -27
- data/src/prettyprint.c +10 -0
- data/src/prism.c +588 -385
- data/src/util/pm_string.c +123 -65
- metadata +2 -3
- data/lib/prism/translation/parser/rubocop.rb +0 -73
data/include/prism/ast.h
CHANGED
@@ -1100,7 +1100,7 @@ typedef struct pm_node {
|
|
1100
1100
|
* alias $foo $bar
|
1101
1101
|
* ^^^^^^^^^^^^^^^
|
1102
1102
|
*
|
1103
|
-
* Type: PM_ALIAS_GLOBAL_VARIABLE_NODE
|
1103
|
+
* Type: ::PM_ALIAS_GLOBAL_VARIABLE_NODE
|
1104
1104
|
*
|
1105
1105
|
* @extends pm_node_t
|
1106
1106
|
*/
|
@@ -1108,6 +1108,7 @@ typedef struct pm_alias_global_variable_node {
|
|
1108
1108
|
/** The embedded base node. */
|
1109
1109
|
pm_node_t base;
|
1110
1110
|
|
1111
|
+
|
1111
1112
|
/**
|
1112
1113
|
* AliasGlobalVariableNode#new_name
|
1113
1114
|
*
|
@@ -1147,7 +1148,7 @@ typedef struct pm_alias_global_variable_node {
|
|
1147
1148
|
* alias foo bar
|
1148
1149
|
* ^^^^^^^^^^^^^
|
1149
1150
|
*
|
1150
|
-
* Type: PM_ALIAS_METHOD_NODE
|
1151
|
+
* Type: ::PM_ALIAS_METHOD_NODE
|
1151
1152
|
*
|
1152
1153
|
* @extends pm_node_t
|
1153
1154
|
*/
|
@@ -1155,13 +1156,36 @@ typedef struct pm_alias_method_node {
|
|
1155
1156
|
/** The embedded base node. */
|
1156
1157
|
pm_node_t base;
|
1157
1158
|
|
1159
|
+
|
1158
1160
|
/**
|
1159
1161
|
* AliasMethodNode#new_name
|
1162
|
+
*
|
1163
|
+
* Represents the new name of the method that will be aliased.
|
1164
|
+
*
|
1165
|
+
* alias foo bar
|
1166
|
+
* ^^^
|
1167
|
+
*
|
1168
|
+
* alias :foo :bar
|
1169
|
+
* ^^^^
|
1170
|
+
*
|
1171
|
+
* alias :"#{foo}" :"#{bar}"
|
1172
|
+
* ^^^^^^^^^
|
1160
1173
|
*/
|
1161
1174
|
struct pm_node *new_name;
|
1162
1175
|
|
1163
1176
|
/**
|
1164
1177
|
* AliasMethodNode#old_name
|
1178
|
+
*
|
1179
|
+
* Represents the old name of the method that will be aliased.
|
1180
|
+
*
|
1181
|
+
* alias foo bar
|
1182
|
+
* ^^^
|
1183
|
+
*
|
1184
|
+
* alias :foo :bar
|
1185
|
+
* ^^^^
|
1186
|
+
*
|
1187
|
+
* alias :"#{foo}" :"#{bar}"
|
1188
|
+
* ^^^^^^^^^
|
1165
1189
|
*/
|
1166
1190
|
struct pm_node *old_name;
|
1167
1191
|
|
@@ -1179,7 +1203,7 @@ typedef struct pm_alias_method_node {
|
|
1179
1203
|
* foo => bar | baz
|
1180
1204
|
* ^^^^^^^^^
|
1181
1205
|
*
|
1182
|
-
* Type: PM_ALTERNATION_PATTERN_NODE
|
1206
|
+
* Type: ::PM_ALTERNATION_PATTERN_NODE
|
1183
1207
|
*
|
1184
1208
|
* @extends pm_node_t
|
1185
1209
|
*/
|
@@ -1187,18 +1211,34 @@ typedef struct pm_alternation_pattern_node {
|
|
1187
1211
|
/** The embedded base node. */
|
1188
1212
|
pm_node_t base;
|
1189
1213
|
|
1214
|
+
|
1190
1215
|
/**
|
1191
1216
|
* AlternationPatternNode#left
|
1217
|
+
*
|
1218
|
+
* Represents the left side of the expression.
|
1219
|
+
*
|
1220
|
+
* foo => bar | baz
|
1221
|
+
* ^^^
|
1192
1222
|
*/
|
1193
1223
|
struct pm_node *left;
|
1194
1224
|
|
1195
1225
|
/**
|
1196
1226
|
* AlternationPatternNode#right
|
1227
|
+
*
|
1228
|
+
* Represents the right side of the expression.
|
1229
|
+
*
|
1230
|
+
* foo => bar | baz
|
1231
|
+
* ^^^
|
1197
1232
|
*/
|
1198
1233
|
struct pm_node *right;
|
1199
1234
|
|
1200
1235
|
/**
|
1201
1236
|
* AlternationPatternNode#operator_loc
|
1237
|
+
*
|
1238
|
+
* Represents the alternation operator location.
|
1239
|
+
*
|
1240
|
+
* foo => bar | baz
|
1241
|
+
* ^
|
1202
1242
|
*/
|
1203
1243
|
pm_location_t operator_loc;
|
1204
1244
|
} pm_alternation_pattern_node_t;
|
@@ -1211,7 +1251,7 @@ typedef struct pm_alternation_pattern_node {
|
|
1211
1251
|
* left and right
|
1212
1252
|
* ^^^^^^^^^^^^^^
|
1213
1253
|
*
|
1214
|
-
* Type: PM_AND_NODE
|
1254
|
+
* Type: ::PM_AND_NODE
|
1215
1255
|
*
|
1216
1256
|
* @extends pm_node_t
|
1217
1257
|
*/
|
@@ -1219,6 +1259,7 @@ typedef struct pm_and_node {
|
|
1219
1259
|
/** The embedded base node. */
|
1220
1260
|
pm_node_t base;
|
1221
1261
|
|
1262
|
+
|
1222
1263
|
/**
|
1223
1264
|
* AndNode#left
|
1224
1265
|
*
|
@@ -1235,7 +1276,7 @@ typedef struct pm_and_node {
|
|
1235
1276
|
/**
|
1236
1277
|
* AndNode#right
|
1237
1278
|
*
|
1238
|
-
* Represents the right side of the expression.
|
1279
|
+
* Represents the right side of the expression.
|
1239
1280
|
*
|
1240
1281
|
* left && right
|
1241
1282
|
* ^^^^^
|
@@ -1264,11 +1305,14 @@ typedef struct pm_and_node {
|
|
1264
1305
|
* return foo, bar, baz
|
1265
1306
|
* ^^^^^^^^^^^^^
|
1266
1307
|
*
|
1267
|
-
* Type: PM_ARGUMENTS_NODE
|
1268
|
-
|
1269
|
-
*
|
1270
|
-
*
|
1271
|
-
*
|
1308
|
+
* Type: ::PM_ARGUMENTS_NODE
|
1309
|
+
|
1310
|
+
* Flags (#pm_arguments_node_flags):
|
1311
|
+
* * ::PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING
|
1312
|
+
* * ::PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS
|
1313
|
+
* * ::PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
|
1314
|
+
* * ::PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT
|
1315
|
+
* * ::PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS
|
1272
1316
|
*
|
1273
1317
|
* @extends pm_node_t
|
1274
1318
|
*/
|
@@ -1276,6 +1320,7 @@ typedef struct pm_arguments_node {
|
|
1276
1320
|
/** The embedded base node. */
|
1277
1321
|
pm_node_t base;
|
1278
1322
|
|
1323
|
+
|
1279
1324
|
/**
|
1280
1325
|
* ArgumentsNode#arguments
|
1281
1326
|
*/
|
@@ -1290,9 +1335,10 @@ typedef struct pm_arguments_node {
|
|
1290
1335
|
* [1, 2, 3]
|
1291
1336
|
* ^^^^^^^^^
|
1292
1337
|
*
|
1293
|
-
* Type: PM_ARRAY_NODE
|
1294
|
-
|
1295
|
-
*
|
1338
|
+
* Type: ::PM_ARRAY_NODE
|
1339
|
+
|
1340
|
+
* Flags (#pm_array_node_flags):
|
1341
|
+
* * ::PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
|
1296
1342
|
*
|
1297
1343
|
* @extends pm_node_t
|
1298
1344
|
*/
|
@@ -1300,6 +1346,7 @@ typedef struct pm_array_node {
|
|
1300
1346
|
/** The embedded base node. */
|
1301
1347
|
pm_node_t base;
|
1302
1348
|
|
1349
|
+
|
1303
1350
|
/**
|
1304
1351
|
* ArrayNode#elements
|
1305
1352
|
*
|
@@ -1352,7 +1399,7 @@ typedef struct pm_array_node {
|
|
1352
1399
|
* foo in Bar[1, 2, 3]
|
1353
1400
|
* ^^^^^^^^^^^^^^^^^^^
|
1354
1401
|
*
|
1355
|
-
* Type: PM_ARRAY_PATTERN_NODE
|
1402
|
+
* Type: ::PM_ARRAY_PATTERN_NODE
|
1356
1403
|
*
|
1357
1404
|
* @extends pm_node_t
|
1358
1405
|
*/
|
@@ -1360,6 +1407,7 @@ typedef struct pm_array_pattern_node {
|
|
1360
1407
|
/** The embedded base node. */
|
1361
1408
|
pm_node_t base;
|
1362
1409
|
|
1410
|
+
|
1363
1411
|
/**
|
1364
1412
|
* ArrayPatternNode#constant
|
1365
1413
|
*/
|
@@ -1399,7 +1447,7 @@ typedef struct pm_array_pattern_node {
|
|
1399
1447
|
* { a => b }
|
1400
1448
|
* ^^^^^^
|
1401
1449
|
*
|
1402
|
-
* Type: PM_ASSOC_NODE
|
1450
|
+
* Type: ::PM_ASSOC_NODE
|
1403
1451
|
*
|
1404
1452
|
* @extends pm_node_t
|
1405
1453
|
*/
|
@@ -1407,6 +1455,7 @@ typedef struct pm_assoc_node {
|
|
1407
1455
|
/** The embedded base node. */
|
1408
1456
|
pm_node_t base;
|
1409
1457
|
|
1458
|
+
|
1410
1459
|
/**
|
1411
1460
|
* AssocNode#key
|
1412
1461
|
*
|
@@ -1455,7 +1504,7 @@ typedef struct pm_assoc_node {
|
|
1455
1504
|
* { **foo }
|
1456
1505
|
* ^^^^^
|
1457
1506
|
*
|
1458
|
-
* Type: PM_ASSOC_SPLAT_NODE
|
1507
|
+
* Type: ::PM_ASSOC_SPLAT_NODE
|
1459
1508
|
*
|
1460
1509
|
* @extends pm_node_t
|
1461
1510
|
*/
|
@@ -1463,6 +1512,7 @@ typedef struct pm_assoc_splat_node {
|
|
1463
1512
|
/** The embedded base node. */
|
1464
1513
|
pm_node_t base;
|
1465
1514
|
|
1515
|
+
|
1466
1516
|
/**
|
1467
1517
|
* AssocSplatNode#value
|
1468
1518
|
*
|
@@ -1492,7 +1542,7 @@ typedef struct pm_assoc_splat_node {
|
|
1492
1542
|
* $'
|
1493
1543
|
* ^^
|
1494
1544
|
*
|
1495
|
-
* Type: PM_BACK_REFERENCE_READ_NODE
|
1545
|
+
* Type: ::PM_BACK_REFERENCE_READ_NODE
|
1496
1546
|
*
|
1497
1547
|
* @extends pm_node_t
|
1498
1548
|
*/
|
@@ -1500,6 +1550,7 @@ typedef struct pm_back_reference_read_node {
|
|
1500
1550
|
/** The embedded base node. */
|
1501
1551
|
pm_node_t base;
|
1502
1552
|
|
1553
|
+
|
1503
1554
|
/**
|
1504
1555
|
* BackReferenceReadNode#name
|
1505
1556
|
*
|
@@ -1522,7 +1573,7 @@ typedef struct pm_back_reference_read_node {
|
|
1522
1573
|
* end
|
1523
1574
|
* ^^^^^
|
1524
1575
|
*
|
1525
|
-
* Type: PM_BEGIN_NODE
|
1576
|
+
* Type: ::PM_BEGIN_NODE
|
1526
1577
|
*
|
1527
1578
|
* @extends pm_node_t
|
1528
1579
|
*/
|
@@ -1530,6 +1581,7 @@ typedef struct pm_begin_node {
|
|
1530
1581
|
/** The embedded base node. */
|
1531
1582
|
pm_node_t base;
|
1532
1583
|
|
1584
|
+
|
1533
1585
|
/**
|
1534
1586
|
* BeginNode#begin_keyword_loc
|
1535
1587
|
*/
|
@@ -1569,7 +1621,7 @@ typedef struct pm_begin_node {
|
|
1569
1621
|
* bar(&args)
|
1570
1622
|
* ^^^^^^^^^^
|
1571
1623
|
*
|
1572
|
-
* Type: PM_BLOCK_ARGUMENT_NODE
|
1624
|
+
* Type: ::PM_BLOCK_ARGUMENT_NODE
|
1573
1625
|
*
|
1574
1626
|
* @extends pm_node_t
|
1575
1627
|
*/
|
@@ -1577,6 +1629,7 @@ typedef struct pm_block_argument_node {
|
|
1577
1629
|
/** The embedded base node. */
|
1578
1630
|
pm_node_t base;
|
1579
1631
|
|
1632
|
+
|
1580
1633
|
/**
|
1581
1634
|
* BlockArgumentNode#expression
|
1582
1635
|
*/
|
@@ -1596,9 +1649,10 @@ typedef struct pm_block_argument_node {
|
|
1596
1649
|
* a { |; b| }
|
1597
1650
|
* ^
|
1598
1651
|
*
|
1599
|
-
* Type: PM_BLOCK_LOCAL_VARIABLE_NODE
|
1600
|
-
|
1601
|
-
*
|
1652
|
+
* Type: ::PM_BLOCK_LOCAL_VARIABLE_NODE
|
1653
|
+
|
1654
|
+
* Flags (#pm_parameter_flags):
|
1655
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
1602
1656
|
*
|
1603
1657
|
* @extends pm_node_t
|
1604
1658
|
*/
|
@@ -1606,6 +1660,7 @@ typedef struct pm_block_local_variable_node {
|
|
1606
1660
|
/** The embedded base node. */
|
1607
1661
|
pm_node_t base;
|
1608
1662
|
|
1663
|
+
|
1609
1664
|
/**
|
1610
1665
|
* BlockLocalVariableNode#name
|
1611
1666
|
*/
|
@@ -1620,7 +1675,7 @@ typedef struct pm_block_local_variable_node {
|
|
1620
1675
|
* [1, 2, 3].each { |i| puts x }
|
1621
1676
|
* ^^^^^^^^^^^^^^
|
1622
1677
|
*
|
1623
|
-
* Type: PM_BLOCK_NODE
|
1678
|
+
* Type: ::PM_BLOCK_NODE
|
1624
1679
|
*
|
1625
1680
|
* @extends pm_node_t
|
1626
1681
|
*/
|
@@ -1628,6 +1683,7 @@ typedef struct pm_block_node {
|
|
1628
1683
|
/** The embedded base node. */
|
1629
1684
|
pm_node_t base;
|
1630
1685
|
|
1686
|
+
|
1631
1687
|
/**
|
1632
1688
|
* BlockNode#locals
|
1633
1689
|
*/
|
@@ -1663,9 +1719,10 @@ typedef struct pm_block_node {
|
|
1663
1719
|
* ^^
|
1664
1720
|
* end
|
1665
1721
|
*
|
1666
|
-
* Type: PM_BLOCK_PARAMETER_NODE
|
1667
|
-
|
1668
|
-
*
|
1722
|
+
* Type: ::PM_BLOCK_PARAMETER_NODE
|
1723
|
+
|
1724
|
+
* Flags (#pm_parameter_flags):
|
1725
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
1669
1726
|
*
|
1670
1727
|
* @extends pm_node_t
|
1671
1728
|
*/
|
@@ -1673,6 +1730,7 @@ typedef struct pm_block_parameter_node {
|
|
1673
1730
|
/** The embedded base node. */
|
1674
1731
|
pm_node_t base;
|
1675
1732
|
|
1733
|
+
|
1676
1734
|
/**
|
1677
1735
|
* BlockParameterNode#name
|
1678
1736
|
*/
|
@@ -1701,7 +1759,7 @@ typedef struct pm_block_parameter_node {
|
|
1701
1759
|
* ^^^^^^^^^^^^^^^^^
|
1702
1760
|
* end
|
1703
1761
|
*
|
1704
|
-
* Type: PM_BLOCK_PARAMETERS_NODE
|
1762
|
+
* Type: ::PM_BLOCK_PARAMETERS_NODE
|
1705
1763
|
*
|
1706
1764
|
* @extends pm_node_t
|
1707
1765
|
*/
|
@@ -1709,6 +1767,7 @@ typedef struct pm_block_parameters_node {
|
|
1709
1767
|
/** The embedded base node. */
|
1710
1768
|
pm_node_t base;
|
1711
1769
|
|
1770
|
+
|
1712
1771
|
/**
|
1713
1772
|
* BlockParametersNode#parameters
|
1714
1773
|
*/
|
@@ -1738,7 +1797,7 @@ typedef struct pm_block_parameters_node {
|
|
1738
1797
|
* break foo
|
1739
1798
|
* ^^^^^^^^^
|
1740
1799
|
*
|
1741
|
-
* Type: PM_BREAK_NODE
|
1800
|
+
* Type: ::PM_BREAK_NODE
|
1742
1801
|
*
|
1743
1802
|
* @extends pm_node_t
|
1744
1803
|
*/
|
@@ -1746,6 +1805,7 @@ typedef struct pm_break_node {
|
|
1746
1805
|
/** The embedded base node. */
|
1747
1806
|
pm_node_t base;
|
1748
1807
|
|
1808
|
+
|
1749
1809
|
/**
|
1750
1810
|
* BreakNode#arguments
|
1751
1811
|
*
|
@@ -1775,12 +1835,13 @@ typedef struct pm_break_node {
|
|
1775
1835
|
* foo.bar &&= value
|
1776
1836
|
* ^^^^^^^^^^^^^^^^^
|
1777
1837
|
*
|
1778
|
-
* Type: PM_CALL_AND_WRITE_NODE
|
1779
|
-
|
1780
|
-
*
|
1781
|
-
*
|
1782
|
-
*
|
1783
|
-
*
|
1838
|
+
* Type: ::PM_CALL_AND_WRITE_NODE
|
1839
|
+
|
1840
|
+
* Flags (#pm_call_node_flags):
|
1841
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
1842
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
1843
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
1844
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
1784
1845
|
*
|
1785
1846
|
* @extends pm_node_t
|
1786
1847
|
*/
|
@@ -1788,6 +1849,7 @@ typedef struct pm_call_and_write_node {
|
|
1788
1849
|
/** The embedded base node. */
|
1789
1850
|
pm_node_t base;
|
1790
1851
|
|
1852
|
+
|
1791
1853
|
/**
|
1792
1854
|
* CallAndWriteNode#receiver
|
1793
1855
|
*/
|
@@ -1847,12 +1909,13 @@ typedef struct pm_call_and_write_node {
|
|
1847
1909
|
* foo&.bar
|
1848
1910
|
* ^^^^^^^^
|
1849
1911
|
*
|
1850
|
-
* Type: PM_CALL_NODE
|
1851
|
-
|
1852
|
-
*
|
1853
|
-
*
|
1854
|
-
*
|
1855
|
-
*
|
1912
|
+
* Type: ::PM_CALL_NODE
|
1913
|
+
|
1914
|
+
* Flags (#pm_call_node_flags):
|
1915
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
1916
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
1917
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
1918
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
1856
1919
|
*
|
1857
1920
|
* @extends pm_node_t
|
1858
1921
|
*/
|
@@ -1860,6 +1923,7 @@ typedef struct pm_call_node {
|
|
1860
1923
|
/** The embedded base node. */
|
1861
1924
|
pm_node_t base;
|
1862
1925
|
|
1926
|
+
|
1863
1927
|
/**
|
1864
1928
|
* CallNode#receiver
|
1865
1929
|
*
|
@@ -1920,12 +1984,13 @@ typedef struct pm_call_node {
|
|
1920
1984
|
* foo.bar += baz
|
1921
1985
|
* ^^^^^^^^^^^^^^
|
1922
1986
|
*
|
1923
|
-
* Type: PM_CALL_OPERATOR_WRITE_NODE
|
1924
|
-
|
1925
|
-
*
|
1926
|
-
*
|
1927
|
-
*
|
1928
|
-
*
|
1987
|
+
* Type: ::PM_CALL_OPERATOR_WRITE_NODE
|
1988
|
+
|
1989
|
+
* Flags (#pm_call_node_flags):
|
1990
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
1991
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
1992
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
1993
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
1929
1994
|
*
|
1930
1995
|
* @extends pm_node_t
|
1931
1996
|
*/
|
@@ -1933,6 +1998,7 @@ typedef struct pm_call_operator_write_node {
|
|
1933
1998
|
/** The embedded base node. */
|
1934
1999
|
pm_node_t base;
|
1935
2000
|
|
2001
|
+
|
1936
2002
|
/**
|
1937
2003
|
* CallOperatorWriteNode#receiver
|
1938
2004
|
*/
|
@@ -1982,12 +2048,13 @@ typedef struct pm_call_operator_write_node {
|
|
1982
2048
|
* foo.bar ||= value
|
1983
2049
|
* ^^^^^^^^^^^^^^^^^
|
1984
2050
|
*
|
1985
|
-
* Type: PM_CALL_OR_WRITE_NODE
|
1986
|
-
|
1987
|
-
*
|
1988
|
-
*
|
1989
|
-
*
|
1990
|
-
*
|
2051
|
+
* Type: ::PM_CALL_OR_WRITE_NODE
|
2052
|
+
|
2053
|
+
* Flags (#pm_call_node_flags):
|
2054
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
2055
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
2056
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
2057
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
1991
2058
|
*
|
1992
2059
|
* @extends pm_node_t
|
1993
2060
|
*/
|
@@ -1995,6 +2062,7 @@ typedef struct pm_call_or_write_node {
|
|
1995
2062
|
/** The embedded base node. */
|
1996
2063
|
pm_node_t base;
|
1997
2064
|
|
2065
|
+
|
1998
2066
|
/**
|
1999
2067
|
* CallOrWriteNode#receiver
|
2000
2068
|
*/
|
@@ -2047,12 +2115,13 @@ typedef struct pm_call_or_write_node {
|
|
2047
2115
|
* for foo.bar in baz do end
|
2048
2116
|
* ^^^^^^^
|
2049
2117
|
*
|
2050
|
-
* Type: PM_CALL_TARGET_NODE
|
2051
|
-
|
2052
|
-
*
|
2053
|
-
*
|
2054
|
-
*
|
2055
|
-
*
|
2118
|
+
* Type: ::PM_CALL_TARGET_NODE
|
2119
|
+
|
2120
|
+
* Flags (#pm_call_node_flags):
|
2121
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
2122
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
2123
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
2124
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
2056
2125
|
*
|
2057
2126
|
* @extends pm_node_t
|
2058
2127
|
*/
|
@@ -2060,6 +2129,7 @@ typedef struct pm_call_target_node {
|
|
2060
2129
|
/** The embedded base node. */
|
2061
2130
|
pm_node_t base;
|
2062
2131
|
|
2132
|
+
|
2063
2133
|
/**
|
2064
2134
|
* CallTargetNode#receiver
|
2065
2135
|
*/
|
@@ -2089,7 +2159,7 @@ typedef struct pm_call_target_node {
|
|
2089
2159
|
* foo => [bar => baz]
|
2090
2160
|
* ^^^^^^^^^^^^
|
2091
2161
|
*
|
2092
|
-
* Type: PM_CAPTURE_PATTERN_NODE
|
2162
|
+
* Type: ::PM_CAPTURE_PATTERN_NODE
|
2093
2163
|
*
|
2094
2164
|
* @extends pm_node_t
|
2095
2165
|
*/
|
@@ -2097,6 +2167,7 @@ typedef struct pm_capture_pattern_node {
|
|
2097
2167
|
/** The embedded base node. */
|
2098
2168
|
pm_node_t base;
|
2099
2169
|
|
2170
|
+
|
2100
2171
|
/**
|
2101
2172
|
* CapturePatternNode#value
|
2102
2173
|
*/
|
@@ -2105,7 +2176,7 @@ typedef struct pm_capture_pattern_node {
|
|
2105
2176
|
/**
|
2106
2177
|
* CapturePatternNode#target
|
2107
2178
|
*/
|
2108
|
-
struct
|
2179
|
+
struct pm_local_variable_target_node *target;
|
2109
2180
|
|
2110
2181
|
/**
|
2111
2182
|
* CapturePatternNode#operator_loc
|
@@ -2123,7 +2194,7 @@ typedef struct pm_capture_pattern_node {
|
|
2123
2194
|
* end
|
2124
2195
|
* ^^^^^^^^^
|
2125
2196
|
*
|
2126
|
-
* Type: PM_CASE_MATCH_NODE
|
2197
|
+
* Type: ::PM_CASE_MATCH_NODE
|
2127
2198
|
*
|
2128
2199
|
* @extends pm_node_t
|
2129
2200
|
*/
|
@@ -2131,6 +2202,7 @@ typedef struct pm_case_match_node {
|
|
2131
2202
|
/** The embedded base node. */
|
2132
2203
|
pm_node_t base;
|
2133
2204
|
|
2205
|
+
|
2134
2206
|
/**
|
2135
2207
|
* CaseMatchNode#predicate
|
2136
2208
|
*/
|
@@ -2167,7 +2239,7 @@ typedef struct pm_case_match_node {
|
|
2167
2239
|
* end
|
2168
2240
|
* ^^^^^^^^^^
|
2169
2241
|
*
|
2170
|
-
* Type: PM_CASE_NODE
|
2242
|
+
* Type: ::PM_CASE_NODE
|
2171
2243
|
*
|
2172
2244
|
* @extends pm_node_t
|
2173
2245
|
*/
|
@@ -2175,6 +2247,7 @@ typedef struct pm_case_node {
|
|
2175
2247
|
/** The embedded base node. */
|
2176
2248
|
pm_node_t base;
|
2177
2249
|
|
2250
|
+
|
2178
2251
|
/**
|
2179
2252
|
* CaseNode#predicate
|
2180
2253
|
*/
|
@@ -2209,7 +2282,7 @@ typedef struct pm_case_node {
|
|
2209
2282
|
* class Foo end
|
2210
2283
|
* ^^^^^^^^^^^^^
|
2211
2284
|
*
|
2212
|
-
* Type: PM_CLASS_NODE
|
2285
|
+
* Type: ::PM_CLASS_NODE
|
2213
2286
|
*
|
2214
2287
|
* @extends pm_node_t
|
2215
2288
|
*/
|
@@ -2217,6 +2290,7 @@ typedef struct pm_class_node {
|
|
2217
2290
|
/** The embedded base node. */
|
2218
2291
|
pm_node_t base;
|
2219
2292
|
|
2293
|
+
|
2220
2294
|
/**
|
2221
2295
|
* ClassNode#locals
|
2222
2296
|
*/
|
@@ -2266,7 +2340,7 @@ typedef struct pm_class_node {
|
|
2266
2340
|
* @@target &&= value
|
2267
2341
|
* ^^^^^^^^^^^^^^^^^^
|
2268
2342
|
*
|
2269
|
-
* Type: PM_CLASS_VARIABLE_AND_WRITE_NODE
|
2343
|
+
* Type: ::PM_CLASS_VARIABLE_AND_WRITE_NODE
|
2270
2344
|
*
|
2271
2345
|
* @extends pm_node_t
|
2272
2346
|
*/
|
@@ -2274,6 +2348,7 @@ typedef struct pm_class_variable_and_write_node {
|
|
2274
2348
|
/** The embedded base node. */
|
2275
2349
|
pm_node_t base;
|
2276
2350
|
|
2351
|
+
|
2277
2352
|
/**
|
2278
2353
|
* ClassVariableAndWriteNode#name
|
2279
2354
|
*/
|
@@ -2303,7 +2378,7 @@ typedef struct pm_class_variable_and_write_node {
|
|
2303
2378
|
* @@target += value
|
2304
2379
|
* ^^^^^^^^^^^^^^^^^
|
2305
2380
|
*
|
2306
|
-
* Type: PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
|
2381
|
+
* Type: ::PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE
|
2307
2382
|
*
|
2308
2383
|
* @extends pm_node_t
|
2309
2384
|
*/
|
@@ -2311,6 +2386,7 @@ typedef struct pm_class_variable_operator_write_node {
|
|
2311
2386
|
/** The embedded base node. */
|
2312
2387
|
pm_node_t base;
|
2313
2388
|
|
2389
|
+
|
2314
2390
|
/**
|
2315
2391
|
* ClassVariableOperatorWriteNode#name
|
2316
2392
|
*/
|
@@ -2345,7 +2421,7 @@ typedef struct pm_class_variable_operator_write_node {
|
|
2345
2421
|
* @@target ||= value
|
2346
2422
|
* ^^^^^^^^^^^^^^^^^^
|
2347
2423
|
*
|
2348
|
-
* Type: PM_CLASS_VARIABLE_OR_WRITE_NODE
|
2424
|
+
* Type: ::PM_CLASS_VARIABLE_OR_WRITE_NODE
|
2349
2425
|
*
|
2350
2426
|
* @extends pm_node_t
|
2351
2427
|
*/
|
@@ -2353,6 +2429,7 @@ typedef struct pm_class_variable_or_write_node {
|
|
2353
2429
|
/** The embedded base node. */
|
2354
2430
|
pm_node_t base;
|
2355
2431
|
|
2432
|
+
|
2356
2433
|
/**
|
2357
2434
|
* ClassVariableOrWriteNode#name
|
2358
2435
|
*/
|
@@ -2382,7 +2459,7 @@ typedef struct pm_class_variable_or_write_node {
|
|
2382
2459
|
* @@foo
|
2383
2460
|
* ^^^^^
|
2384
2461
|
*
|
2385
|
-
* Type: PM_CLASS_VARIABLE_READ_NODE
|
2462
|
+
* Type: ::PM_CLASS_VARIABLE_READ_NODE
|
2386
2463
|
*
|
2387
2464
|
* @extends pm_node_t
|
2388
2465
|
*/
|
@@ -2390,6 +2467,7 @@ typedef struct pm_class_variable_read_node {
|
|
2390
2467
|
/** The embedded base node. */
|
2391
2468
|
pm_node_t base;
|
2392
2469
|
|
2470
|
+
|
2393
2471
|
/**
|
2394
2472
|
* ClassVariableReadNode#name
|
2395
2473
|
*
|
@@ -2410,7 +2488,7 @@ typedef struct pm_class_variable_read_node {
|
|
2410
2488
|
* @@foo, @@bar = baz
|
2411
2489
|
* ^^^^^ ^^^^^
|
2412
2490
|
*
|
2413
|
-
* Type: PM_CLASS_VARIABLE_TARGET_NODE
|
2491
|
+
* Type: ::PM_CLASS_VARIABLE_TARGET_NODE
|
2414
2492
|
*
|
2415
2493
|
* @extends pm_node_t
|
2416
2494
|
*/
|
@@ -2418,6 +2496,7 @@ typedef struct pm_class_variable_target_node {
|
|
2418
2496
|
/** The embedded base node. */
|
2419
2497
|
pm_node_t base;
|
2420
2498
|
|
2499
|
+
|
2421
2500
|
/**
|
2422
2501
|
* ClassVariableTargetNode#name
|
2423
2502
|
*/
|
@@ -2432,7 +2511,7 @@ typedef struct pm_class_variable_target_node {
|
|
2432
2511
|
* @@foo = 1
|
2433
2512
|
* ^^^^^^^^^
|
2434
2513
|
*
|
2435
|
-
* Type: PM_CLASS_VARIABLE_WRITE_NODE
|
2514
|
+
* Type: ::PM_CLASS_VARIABLE_WRITE_NODE
|
2436
2515
|
*
|
2437
2516
|
* @extends pm_node_t
|
2438
2517
|
*/
|
@@ -2440,6 +2519,7 @@ typedef struct pm_class_variable_write_node {
|
|
2440
2519
|
/** The embedded base node. */
|
2441
2520
|
pm_node_t base;
|
2442
2521
|
|
2522
|
+
|
2443
2523
|
/**
|
2444
2524
|
* ClassVariableWriteNode#name
|
2445
2525
|
*
|
@@ -2493,7 +2573,7 @@ typedef struct pm_class_variable_write_node {
|
|
2493
2573
|
* Target &&= value
|
2494
2574
|
* ^^^^^^^^^^^^^^^^
|
2495
2575
|
*
|
2496
|
-
* Type: PM_CONSTANT_AND_WRITE_NODE
|
2576
|
+
* Type: ::PM_CONSTANT_AND_WRITE_NODE
|
2497
2577
|
*
|
2498
2578
|
* @extends pm_node_t
|
2499
2579
|
*/
|
@@ -2501,6 +2581,7 @@ typedef struct pm_constant_and_write_node {
|
|
2501
2581
|
/** The embedded base node. */
|
2502
2582
|
pm_node_t base;
|
2503
2583
|
|
2584
|
+
|
2504
2585
|
/**
|
2505
2586
|
* ConstantAndWriteNode#name
|
2506
2587
|
*/
|
@@ -2530,7 +2611,7 @@ typedef struct pm_constant_and_write_node {
|
|
2530
2611
|
* Target += value
|
2531
2612
|
* ^^^^^^^^^^^^^^^
|
2532
2613
|
*
|
2533
|
-
* Type: PM_CONSTANT_OPERATOR_WRITE_NODE
|
2614
|
+
* Type: ::PM_CONSTANT_OPERATOR_WRITE_NODE
|
2534
2615
|
*
|
2535
2616
|
* @extends pm_node_t
|
2536
2617
|
*/
|
@@ -2538,6 +2619,7 @@ typedef struct pm_constant_operator_write_node {
|
|
2538
2619
|
/** The embedded base node. */
|
2539
2620
|
pm_node_t base;
|
2540
2621
|
|
2622
|
+
|
2541
2623
|
/**
|
2542
2624
|
* ConstantOperatorWriteNode#name
|
2543
2625
|
*/
|
@@ -2572,7 +2654,7 @@ typedef struct pm_constant_operator_write_node {
|
|
2572
2654
|
* Target ||= value
|
2573
2655
|
* ^^^^^^^^^^^^^^^^
|
2574
2656
|
*
|
2575
|
-
* Type: PM_CONSTANT_OR_WRITE_NODE
|
2657
|
+
* Type: ::PM_CONSTANT_OR_WRITE_NODE
|
2576
2658
|
*
|
2577
2659
|
* @extends pm_node_t
|
2578
2660
|
*/
|
@@ -2580,6 +2662,7 @@ typedef struct pm_constant_or_write_node {
|
|
2580
2662
|
/** The embedded base node. */
|
2581
2663
|
pm_node_t base;
|
2582
2664
|
|
2665
|
+
|
2583
2666
|
/**
|
2584
2667
|
* ConstantOrWriteNode#name
|
2585
2668
|
*/
|
@@ -2609,7 +2692,7 @@ typedef struct pm_constant_or_write_node {
|
|
2609
2692
|
* Parent::Child &&= value
|
2610
2693
|
* ^^^^^^^^^^^^^^^^^^^^^^^
|
2611
2694
|
*
|
2612
|
-
* Type: PM_CONSTANT_PATH_AND_WRITE_NODE
|
2695
|
+
* Type: ::PM_CONSTANT_PATH_AND_WRITE_NODE
|
2613
2696
|
*
|
2614
2697
|
* @extends pm_node_t
|
2615
2698
|
*/
|
@@ -2617,6 +2700,7 @@ typedef struct pm_constant_path_and_write_node {
|
|
2617
2700
|
/** The embedded base node. */
|
2618
2701
|
pm_node_t base;
|
2619
2702
|
|
2703
|
+
|
2620
2704
|
/**
|
2621
2705
|
* ConstantPathAndWriteNode#target
|
2622
2706
|
*/
|
@@ -2641,7 +2725,7 @@ typedef struct pm_constant_path_and_write_node {
|
|
2641
2725
|
* Foo::Bar
|
2642
2726
|
* ^^^^^^^^
|
2643
2727
|
*
|
2644
|
-
* Type: PM_CONSTANT_PATH_NODE
|
2728
|
+
* Type: ::PM_CONSTANT_PATH_NODE
|
2645
2729
|
*
|
2646
2730
|
* @extends pm_node_t
|
2647
2731
|
*/
|
@@ -2649,6 +2733,7 @@ typedef struct pm_constant_path_node {
|
|
2649
2733
|
/** The embedded base node. */
|
2650
2734
|
pm_node_t base;
|
2651
2735
|
|
2736
|
+
|
2652
2737
|
/**
|
2653
2738
|
* ConstantPathNode#parent
|
2654
2739
|
*
|
@@ -2707,7 +2792,7 @@ typedef struct pm_constant_path_node {
|
|
2707
2792
|
* Parent::Child += value
|
2708
2793
|
* ^^^^^^^^^^^^^^^^^^^^^^
|
2709
2794
|
*
|
2710
|
-
* Type: PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
|
2795
|
+
* Type: ::PM_CONSTANT_PATH_OPERATOR_WRITE_NODE
|
2711
2796
|
*
|
2712
2797
|
* @extends pm_node_t
|
2713
2798
|
*/
|
@@ -2715,6 +2800,7 @@ typedef struct pm_constant_path_operator_write_node {
|
|
2715
2800
|
/** The embedded base node. */
|
2716
2801
|
pm_node_t base;
|
2717
2802
|
|
2803
|
+
|
2718
2804
|
/**
|
2719
2805
|
* ConstantPathOperatorWriteNode#target
|
2720
2806
|
*/
|
@@ -2744,7 +2830,7 @@ typedef struct pm_constant_path_operator_write_node {
|
|
2744
2830
|
* Parent::Child ||= value
|
2745
2831
|
* ^^^^^^^^^^^^^^^^^^^^^^^
|
2746
2832
|
*
|
2747
|
-
* Type: PM_CONSTANT_PATH_OR_WRITE_NODE
|
2833
|
+
* Type: ::PM_CONSTANT_PATH_OR_WRITE_NODE
|
2748
2834
|
*
|
2749
2835
|
* @extends pm_node_t
|
2750
2836
|
*/
|
@@ -2752,6 +2838,7 @@ typedef struct pm_constant_path_or_write_node {
|
|
2752
2838
|
/** The embedded base node. */
|
2753
2839
|
pm_node_t base;
|
2754
2840
|
|
2841
|
+
|
2755
2842
|
/**
|
2756
2843
|
* ConstantPathOrWriteNode#target
|
2757
2844
|
*/
|
@@ -2776,7 +2863,7 @@ typedef struct pm_constant_path_or_write_node {
|
|
2776
2863
|
* Foo::Foo, Bar::Bar = baz
|
2777
2864
|
* ^^^^^^^^ ^^^^^^^^
|
2778
2865
|
*
|
2779
|
-
* Type: PM_CONSTANT_PATH_TARGET_NODE
|
2866
|
+
* Type: ::PM_CONSTANT_PATH_TARGET_NODE
|
2780
2867
|
*
|
2781
2868
|
* @extends pm_node_t
|
2782
2869
|
*/
|
@@ -2784,6 +2871,7 @@ typedef struct pm_constant_path_target_node {
|
|
2784
2871
|
/** The embedded base node. */
|
2785
2872
|
pm_node_t base;
|
2786
2873
|
|
2874
|
+
|
2787
2875
|
/**
|
2788
2876
|
* ConstantPathTargetNode#parent
|
2789
2877
|
*/
|
@@ -2819,7 +2907,7 @@ typedef struct pm_constant_path_target_node {
|
|
2819
2907
|
* ::Foo::Bar = 1
|
2820
2908
|
* ^^^^^^^^^^^^^^
|
2821
2909
|
*
|
2822
|
-
* Type: PM_CONSTANT_PATH_WRITE_NODE
|
2910
|
+
* Type: ::PM_CONSTANT_PATH_WRITE_NODE
|
2823
2911
|
*
|
2824
2912
|
* @extends pm_node_t
|
2825
2913
|
*/
|
@@ -2827,6 +2915,7 @@ typedef struct pm_constant_path_write_node {
|
|
2827
2915
|
/** The embedded base node. */
|
2828
2916
|
pm_node_t base;
|
2829
2917
|
|
2918
|
+
|
2830
2919
|
/**
|
2831
2920
|
* ConstantPathWriteNode#target
|
2832
2921
|
*
|
@@ -2869,7 +2958,7 @@ typedef struct pm_constant_path_write_node {
|
|
2869
2958
|
* Foo
|
2870
2959
|
* ^^^
|
2871
2960
|
*
|
2872
|
-
* Type: PM_CONSTANT_READ_NODE
|
2961
|
+
* Type: ::PM_CONSTANT_READ_NODE
|
2873
2962
|
*
|
2874
2963
|
* @extends pm_node_t
|
2875
2964
|
*/
|
@@ -2877,6 +2966,7 @@ typedef struct pm_constant_read_node {
|
|
2877
2966
|
/** The embedded base node. */
|
2878
2967
|
pm_node_t base;
|
2879
2968
|
|
2969
|
+
|
2880
2970
|
/**
|
2881
2971
|
* ConstantReadNode#name
|
2882
2972
|
*
|
@@ -2897,7 +2987,7 @@ typedef struct pm_constant_read_node {
|
|
2897
2987
|
* Foo, Bar = baz
|
2898
2988
|
* ^^^ ^^^
|
2899
2989
|
*
|
2900
|
-
* Type: PM_CONSTANT_TARGET_NODE
|
2990
|
+
* Type: ::PM_CONSTANT_TARGET_NODE
|
2901
2991
|
*
|
2902
2992
|
* @extends pm_node_t
|
2903
2993
|
*/
|
@@ -2905,6 +2995,7 @@ typedef struct pm_constant_target_node {
|
|
2905
2995
|
/** The embedded base node. */
|
2906
2996
|
pm_node_t base;
|
2907
2997
|
|
2998
|
+
|
2908
2999
|
/**
|
2909
3000
|
* ConstantTargetNode#name
|
2910
3001
|
*/
|
@@ -2919,7 +3010,7 @@ typedef struct pm_constant_target_node {
|
|
2919
3010
|
* Foo = 1
|
2920
3011
|
* ^^^^^^^
|
2921
3012
|
*
|
2922
|
-
* Type: PM_CONSTANT_WRITE_NODE
|
3013
|
+
* Type: ::PM_CONSTANT_WRITE_NODE
|
2923
3014
|
*
|
2924
3015
|
* @extends pm_node_t
|
2925
3016
|
*/
|
@@ -2927,6 +3018,7 @@ typedef struct pm_constant_write_node {
|
|
2927
3018
|
/** The embedded base node. */
|
2928
3019
|
pm_node_t base;
|
2929
3020
|
|
3021
|
+
|
2930
3022
|
/**
|
2931
3023
|
* ConstantWriteNode#name
|
2932
3024
|
*
|
@@ -2981,7 +3073,7 @@ typedef struct pm_constant_write_node {
|
|
2981
3073
|
* end
|
2982
3074
|
* ^^^^^^^^^^
|
2983
3075
|
*
|
2984
|
-
* Type: PM_DEF_NODE
|
3076
|
+
* Type: ::PM_DEF_NODE
|
2985
3077
|
*
|
2986
3078
|
* @extends pm_node_t
|
2987
3079
|
*/
|
@@ -2989,6 +3081,7 @@ typedef struct pm_def_node {
|
|
2989
3081
|
/** The embedded base node. */
|
2990
3082
|
pm_node_t base;
|
2991
3083
|
|
3084
|
+
|
2992
3085
|
/**
|
2993
3086
|
* DefNode#name
|
2994
3087
|
*/
|
@@ -3058,7 +3151,7 @@ typedef struct pm_def_node {
|
|
3058
3151
|
* defined?(a)
|
3059
3152
|
* ^^^^^^^^^^^
|
3060
3153
|
*
|
3061
|
-
* Type: PM_DEFINED_NODE
|
3154
|
+
* Type: ::PM_DEFINED_NODE
|
3062
3155
|
*
|
3063
3156
|
* @extends pm_node_t
|
3064
3157
|
*/
|
@@ -3066,6 +3159,7 @@ typedef struct pm_defined_node {
|
|
3066
3159
|
/** The embedded base node. */
|
3067
3160
|
pm_node_t base;
|
3068
3161
|
|
3162
|
+
|
3069
3163
|
/**
|
3070
3164
|
* DefinedNode#lparen_loc
|
3071
3165
|
*/
|
@@ -3095,7 +3189,7 @@ typedef struct pm_defined_node {
|
|
3095
3189
|
* if a then b else c end
|
3096
3190
|
* ^^^^^^^^^^
|
3097
3191
|
*
|
3098
|
-
* Type: PM_ELSE_NODE
|
3192
|
+
* Type: ::PM_ELSE_NODE
|
3099
3193
|
*
|
3100
3194
|
* @extends pm_node_t
|
3101
3195
|
*/
|
@@ -3103,6 +3197,7 @@ typedef struct pm_else_node {
|
|
3103
3197
|
/** The embedded base node. */
|
3104
3198
|
pm_node_t base;
|
3105
3199
|
|
3200
|
+
|
3106
3201
|
/**
|
3107
3202
|
* ElseNode#else_keyword_loc
|
3108
3203
|
*/
|
@@ -3127,7 +3222,7 @@ typedef struct pm_else_node {
|
|
3127
3222
|
* "foo #{bar}"
|
3128
3223
|
* ^^^^^^
|
3129
3224
|
*
|
3130
|
-
* Type: PM_EMBEDDED_STATEMENTS_NODE
|
3225
|
+
* Type: ::PM_EMBEDDED_STATEMENTS_NODE
|
3131
3226
|
*
|
3132
3227
|
* @extends pm_node_t
|
3133
3228
|
*/
|
@@ -3135,6 +3230,7 @@ typedef struct pm_embedded_statements_node {
|
|
3135
3230
|
/** The embedded base node. */
|
3136
3231
|
pm_node_t base;
|
3137
3232
|
|
3233
|
+
|
3138
3234
|
/**
|
3139
3235
|
* EmbeddedStatementsNode#opening_loc
|
3140
3236
|
*/
|
@@ -3159,7 +3255,7 @@ typedef struct pm_embedded_statements_node {
|
|
3159
3255
|
* "foo #@bar"
|
3160
3256
|
* ^^^^^
|
3161
3257
|
*
|
3162
|
-
* Type: PM_EMBEDDED_VARIABLE_NODE
|
3258
|
+
* Type: ::PM_EMBEDDED_VARIABLE_NODE
|
3163
3259
|
*
|
3164
3260
|
* @extends pm_node_t
|
3165
3261
|
*/
|
@@ -3167,6 +3263,7 @@ typedef struct pm_embedded_variable_node {
|
|
3167
3263
|
/** The embedded base node. */
|
3168
3264
|
pm_node_t base;
|
3169
3265
|
|
3266
|
+
|
3170
3267
|
/**
|
3171
3268
|
* EmbeddedVariableNode#operator_loc
|
3172
3269
|
*/
|
@@ -3190,7 +3287,7 @@ typedef struct pm_embedded_variable_node {
|
|
3190
3287
|
* bar
|
3191
3288
|
* end
|
3192
3289
|
*
|
3193
|
-
* Type: PM_ENSURE_NODE
|
3290
|
+
* Type: ::PM_ENSURE_NODE
|
3194
3291
|
*
|
3195
3292
|
* @extends pm_node_t
|
3196
3293
|
*/
|
@@ -3198,6 +3295,7 @@ typedef struct pm_ensure_node {
|
|
3198
3295
|
/** The embedded base node. */
|
3199
3296
|
pm_node_t base;
|
3200
3297
|
|
3298
|
+
|
3201
3299
|
/**
|
3202
3300
|
* EnsureNode#ensure_keyword_loc
|
3203
3301
|
*/
|
@@ -3222,13 +3320,14 @@ typedef struct pm_ensure_node {
|
|
3222
3320
|
* false
|
3223
3321
|
* ^^^^^
|
3224
3322
|
*
|
3225
|
-
* Type: PM_FALSE_NODE
|
3323
|
+
* Type: ::PM_FALSE_NODE
|
3226
3324
|
*
|
3227
3325
|
* @extends pm_node_t
|
3228
3326
|
*/
|
3229
3327
|
typedef struct pm_false_node {
|
3230
3328
|
/** The embedded base node. */
|
3231
3329
|
pm_node_t base;
|
3330
|
+
|
3232
3331
|
} pm_false_node_t;
|
3233
3332
|
|
3234
3333
|
/**
|
@@ -3245,7 +3344,7 @@ typedef struct pm_false_node {
|
|
3245
3344
|
* foo in Foo(*bar, baz, *qux)
|
3246
3345
|
* ^^^^^^^^^^^^^^^^^^^^
|
3247
3346
|
*
|
3248
|
-
* Type: PM_FIND_PATTERN_NODE
|
3347
|
+
* Type: ::PM_FIND_PATTERN_NODE
|
3249
3348
|
*
|
3250
3349
|
* @extends pm_node_t
|
3251
3350
|
*/
|
@@ -3253,6 +3352,7 @@ typedef struct pm_find_pattern_node {
|
|
3253
3352
|
/** The embedded base node. */
|
3254
3353
|
pm_node_t base;
|
3255
3354
|
|
3355
|
+
|
3256
3356
|
/**
|
3257
3357
|
* FindPatternNode#constant
|
3258
3358
|
*/
|
@@ -3261,7 +3361,7 @@ typedef struct pm_find_pattern_node {
|
|
3261
3361
|
/**
|
3262
3362
|
* FindPatternNode#left
|
3263
3363
|
*/
|
3264
|
-
struct
|
3364
|
+
struct pm_splat_node *left;
|
3265
3365
|
|
3266
3366
|
/**
|
3267
3367
|
* FindPatternNode#requireds
|
@@ -3292,9 +3392,10 @@ typedef struct pm_find_pattern_node {
|
|
3292
3392
|
* baz if foo .. bar
|
3293
3393
|
* ^^^^^^^^^^
|
3294
3394
|
*
|
3295
|
-
* Type: PM_FLIP_FLOP_NODE
|
3296
|
-
|
3297
|
-
*
|
3395
|
+
* Type: ::PM_FLIP_FLOP_NODE
|
3396
|
+
|
3397
|
+
* Flags (#pm_range_flags):
|
3398
|
+
* * ::PM_RANGE_FLAGS_EXCLUDE_END
|
3298
3399
|
*
|
3299
3400
|
* @extends pm_node_t
|
3300
3401
|
*/
|
@@ -3302,6 +3403,7 @@ typedef struct pm_flip_flop_node {
|
|
3302
3403
|
/** The embedded base node. */
|
3303
3404
|
pm_node_t base;
|
3304
3405
|
|
3406
|
+
|
3305
3407
|
/**
|
3306
3408
|
* FlipFlopNode#left
|
3307
3409
|
*/
|
@@ -3326,7 +3428,7 @@ typedef struct pm_flip_flop_node {
|
|
3326
3428
|
* 1.0
|
3327
3429
|
* ^^^
|
3328
3430
|
*
|
3329
|
-
* Type: PM_FLOAT_NODE
|
3431
|
+
* Type: ::PM_FLOAT_NODE
|
3330
3432
|
*
|
3331
3433
|
* @extends pm_node_t
|
3332
3434
|
*/
|
@@ -3334,6 +3436,7 @@ typedef struct pm_float_node {
|
|
3334
3436
|
/** The embedded base node. */
|
3335
3437
|
pm_node_t base;
|
3336
3438
|
|
3439
|
+
|
3337
3440
|
/**
|
3338
3441
|
* FloatNode#value
|
3339
3442
|
*
|
@@ -3350,7 +3453,7 @@ typedef struct pm_float_node {
|
|
3350
3453
|
* for i in a end
|
3351
3454
|
* ^^^^^^^^^^^^^^
|
3352
3455
|
*
|
3353
|
-
* Type: PM_FOR_NODE
|
3456
|
+
* Type: ::PM_FOR_NODE
|
3354
3457
|
*
|
3355
3458
|
* @extends pm_node_t
|
3356
3459
|
*/
|
@@ -3358,6 +3461,7 @@ typedef struct pm_for_node {
|
|
3358
3461
|
/** The embedded base node. */
|
3359
3462
|
pm_node_t base;
|
3360
3463
|
|
3464
|
+
|
3361
3465
|
/**
|
3362
3466
|
* ForNode#index
|
3363
3467
|
*
|
@@ -3441,13 +3545,14 @@ typedef struct pm_for_node {
|
|
3441
3545
|
* ^^^
|
3442
3546
|
* end
|
3443
3547
|
*
|
3444
|
-
* Type: PM_FORWARDING_ARGUMENTS_NODE
|
3548
|
+
* Type: ::PM_FORWARDING_ARGUMENTS_NODE
|
3445
3549
|
*
|
3446
3550
|
* @extends pm_node_t
|
3447
3551
|
*/
|
3448
3552
|
typedef struct pm_forwarding_arguments_node {
|
3449
3553
|
/** The embedded base node. */
|
3450
3554
|
pm_node_t base;
|
3555
|
+
|
3451
3556
|
} pm_forwarding_arguments_node_t;
|
3452
3557
|
|
3453
3558
|
/**
|
@@ -3459,13 +3564,14 @@ typedef struct pm_forwarding_arguments_node {
|
|
3459
3564
|
* ^^^
|
3460
3565
|
* end
|
3461
3566
|
*
|
3462
|
-
* Type: PM_FORWARDING_PARAMETER_NODE
|
3567
|
+
* Type: ::PM_FORWARDING_PARAMETER_NODE
|
3463
3568
|
*
|
3464
3569
|
* @extends pm_node_t
|
3465
3570
|
*/
|
3466
3571
|
typedef struct pm_forwarding_parameter_node {
|
3467
3572
|
/** The embedded base node. */
|
3468
3573
|
pm_node_t base;
|
3574
|
+
|
3469
3575
|
} pm_forwarding_parameter_node_t;
|
3470
3576
|
|
3471
3577
|
/**
|
@@ -3476,7 +3582,7 @@ typedef struct pm_forwarding_parameter_node {
|
|
3476
3582
|
* super
|
3477
3583
|
* ^^^^^
|
3478
3584
|
*
|
3479
|
-
* Type: PM_FORWARDING_SUPER_NODE
|
3585
|
+
* Type: ::PM_FORWARDING_SUPER_NODE
|
3480
3586
|
*
|
3481
3587
|
* @extends pm_node_t
|
3482
3588
|
*/
|
@@ -3484,6 +3590,7 @@ typedef struct pm_forwarding_super_node {
|
|
3484
3590
|
/** The embedded base node. */
|
3485
3591
|
pm_node_t base;
|
3486
3592
|
|
3593
|
+
|
3487
3594
|
/**
|
3488
3595
|
* ForwardingSuperNode#block
|
3489
3596
|
*/
|
@@ -3498,7 +3605,7 @@ typedef struct pm_forwarding_super_node {
|
|
3498
3605
|
* $target &&= value
|
3499
3606
|
* ^^^^^^^^^^^^^^^^^
|
3500
3607
|
*
|
3501
|
-
* Type: PM_GLOBAL_VARIABLE_AND_WRITE_NODE
|
3608
|
+
* Type: ::PM_GLOBAL_VARIABLE_AND_WRITE_NODE
|
3502
3609
|
*
|
3503
3610
|
* @extends pm_node_t
|
3504
3611
|
*/
|
@@ -3506,6 +3613,7 @@ typedef struct pm_global_variable_and_write_node {
|
|
3506
3613
|
/** The embedded base node. */
|
3507
3614
|
pm_node_t base;
|
3508
3615
|
|
3616
|
+
|
3509
3617
|
/**
|
3510
3618
|
* GlobalVariableAndWriteNode#name
|
3511
3619
|
*/
|
@@ -3535,7 +3643,7 @@ typedef struct pm_global_variable_and_write_node {
|
|
3535
3643
|
* $target += value
|
3536
3644
|
* ^^^^^^^^^^^^^^^^
|
3537
3645
|
*
|
3538
|
-
* Type: PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
|
3646
|
+
* Type: ::PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
|
3539
3647
|
*
|
3540
3648
|
* @extends pm_node_t
|
3541
3649
|
*/
|
@@ -3543,6 +3651,7 @@ typedef struct pm_global_variable_operator_write_node {
|
|
3543
3651
|
/** The embedded base node. */
|
3544
3652
|
pm_node_t base;
|
3545
3653
|
|
3654
|
+
|
3546
3655
|
/**
|
3547
3656
|
* GlobalVariableOperatorWriteNode#name
|
3548
3657
|
*/
|
@@ -3577,7 +3686,7 @@ typedef struct pm_global_variable_operator_write_node {
|
|
3577
3686
|
* $target ||= value
|
3578
3687
|
* ^^^^^^^^^^^^^^^^^
|
3579
3688
|
*
|
3580
|
-
* Type: PM_GLOBAL_VARIABLE_OR_WRITE_NODE
|
3689
|
+
* Type: ::PM_GLOBAL_VARIABLE_OR_WRITE_NODE
|
3581
3690
|
*
|
3582
3691
|
* @extends pm_node_t
|
3583
3692
|
*/
|
@@ -3585,6 +3694,7 @@ typedef struct pm_global_variable_or_write_node {
|
|
3585
3694
|
/** The embedded base node. */
|
3586
3695
|
pm_node_t base;
|
3587
3696
|
|
3697
|
+
|
3588
3698
|
/**
|
3589
3699
|
* GlobalVariableOrWriteNode#name
|
3590
3700
|
*/
|
@@ -3614,7 +3724,7 @@ typedef struct pm_global_variable_or_write_node {
|
|
3614
3724
|
* $foo
|
3615
3725
|
* ^^^^
|
3616
3726
|
*
|
3617
|
-
* Type: PM_GLOBAL_VARIABLE_READ_NODE
|
3727
|
+
* Type: ::PM_GLOBAL_VARIABLE_READ_NODE
|
3618
3728
|
*
|
3619
3729
|
* @extends pm_node_t
|
3620
3730
|
*/
|
@@ -3622,6 +3732,7 @@ typedef struct pm_global_variable_read_node {
|
|
3622
3732
|
/** The embedded base node. */
|
3623
3733
|
pm_node_t base;
|
3624
3734
|
|
3735
|
+
|
3625
3736
|
/**
|
3626
3737
|
* GlobalVariableReadNode#name
|
3627
3738
|
*
|
@@ -3642,7 +3753,7 @@ typedef struct pm_global_variable_read_node {
|
|
3642
3753
|
* $foo, $bar = baz
|
3643
3754
|
* ^^^^ ^^^^
|
3644
3755
|
*
|
3645
|
-
* Type: PM_GLOBAL_VARIABLE_TARGET_NODE
|
3756
|
+
* Type: ::PM_GLOBAL_VARIABLE_TARGET_NODE
|
3646
3757
|
*
|
3647
3758
|
* @extends pm_node_t
|
3648
3759
|
*/
|
@@ -3650,6 +3761,7 @@ typedef struct pm_global_variable_target_node {
|
|
3650
3761
|
/** The embedded base node. */
|
3651
3762
|
pm_node_t base;
|
3652
3763
|
|
3764
|
+
|
3653
3765
|
/**
|
3654
3766
|
* GlobalVariableTargetNode#name
|
3655
3767
|
*/
|
@@ -3664,7 +3776,7 @@ typedef struct pm_global_variable_target_node {
|
|
3664
3776
|
* $foo = 1
|
3665
3777
|
* ^^^^^^^^
|
3666
3778
|
*
|
3667
|
-
* Type: PM_GLOBAL_VARIABLE_WRITE_NODE
|
3779
|
+
* Type: ::PM_GLOBAL_VARIABLE_WRITE_NODE
|
3668
3780
|
*
|
3669
3781
|
* @extends pm_node_t
|
3670
3782
|
*/
|
@@ -3672,6 +3784,7 @@ typedef struct pm_global_variable_write_node {
|
|
3672
3784
|
/** The embedded base node. */
|
3673
3785
|
pm_node_t base;
|
3674
3786
|
|
3787
|
+
|
3675
3788
|
/**
|
3676
3789
|
* GlobalVariableWriteNode#name
|
3677
3790
|
*
|
@@ -3725,7 +3838,7 @@ typedef struct pm_global_variable_write_node {
|
|
3725
3838
|
* { a => b }
|
3726
3839
|
* ^^^^^^^^^^
|
3727
3840
|
*
|
3728
|
-
* Type: PM_HASH_NODE
|
3841
|
+
* Type: ::PM_HASH_NODE
|
3729
3842
|
*
|
3730
3843
|
* @extends pm_node_t
|
3731
3844
|
*/
|
@@ -3733,6 +3846,7 @@ typedef struct pm_hash_node {
|
|
3733
3846
|
/** The embedded base node. */
|
3734
3847
|
pm_node_t base;
|
3735
3848
|
|
3849
|
+
|
3736
3850
|
/**
|
3737
3851
|
* HashNode#opening_loc
|
3738
3852
|
*
|
@@ -3778,7 +3892,7 @@ typedef struct pm_hash_node {
|
|
3778
3892
|
* foo => { a: 1, b: 2, **c }
|
3779
3893
|
* ^^^^^^^^^^^^^^^^^^^
|
3780
3894
|
*
|
3781
|
-
* Type: PM_HASH_PATTERN_NODE
|
3895
|
+
* Type: ::PM_HASH_PATTERN_NODE
|
3782
3896
|
*
|
3783
3897
|
* @extends pm_node_t
|
3784
3898
|
*/
|
@@ -3786,6 +3900,7 @@ typedef struct pm_hash_pattern_node {
|
|
3786
3900
|
/** The embedded base node. */
|
3787
3901
|
pm_node_t base;
|
3788
3902
|
|
3903
|
+
|
3789
3904
|
/**
|
3790
3905
|
* HashPatternNode#constant
|
3791
3906
|
*/
|
@@ -3826,7 +3941,7 @@ typedef struct pm_hash_pattern_node {
|
|
3826
3941
|
* foo ? bar : baz
|
3827
3942
|
* ^^^^^^^^^^^^^^^
|
3828
3943
|
*
|
3829
|
-
* Type: PM_IF_NODE
|
3944
|
+
* Type: ::PM_IF_NODE
|
3830
3945
|
*
|
3831
3946
|
* @extends pm_node_t
|
3832
3947
|
*/
|
@@ -3834,6 +3949,7 @@ typedef struct pm_if_node {
|
|
3834
3949
|
/** The embedded base node. */
|
3835
3950
|
pm_node_t base;
|
3836
3951
|
|
3952
|
+
|
3837
3953
|
/**
|
3838
3954
|
* IfNode#if_keyword_loc
|
3839
3955
|
*
|
@@ -3931,7 +4047,7 @@ typedef struct pm_if_node {
|
|
3931
4047
|
* 1.0i
|
3932
4048
|
* ^^^^
|
3933
4049
|
*
|
3934
|
-
* Type: PM_IMAGINARY_NODE
|
4050
|
+
* Type: ::PM_IMAGINARY_NODE
|
3935
4051
|
*
|
3936
4052
|
* @extends pm_node_t
|
3937
4053
|
*/
|
@@ -3939,6 +4055,7 @@ typedef struct pm_imaginary_node {
|
|
3939
4055
|
/** The embedded base node. */
|
3940
4056
|
pm_node_t base;
|
3941
4057
|
|
4058
|
+
|
3942
4059
|
/**
|
3943
4060
|
* ImaginaryNode#numeric
|
3944
4061
|
*/
|
@@ -3959,7 +4076,7 @@ typedef struct pm_imaginary_node {
|
|
3959
4076
|
* foo in { bar: }
|
3960
4077
|
* ^^^^
|
3961
4078
|
*
|
3962
|
-
* Type: PM_IMPLICIT_NODE
|
4079
|
+
* Type: ::PM_IMPLICIT_NODE
|
3963
4080
|
*
|
3964
4081
|
* @extends pm_node_t
|
3965
4082
|
*/
|
@@ -3967,6 +4084,7 @@ typedef struct pm_implicit_node {
|
|
3967
4084
|
/** The embedded base node. */
|
3968
4085
|
pm_node_t base;
|
3969
4086
|
|
4087
|
+
|
3970
4088
|
/**
|
3971
4089
|
* ImplicitNode#value
|
3972
4090
|
*/
|
@@ -3990,13 +4108,14 @@ typedef struct pm_implicit_node {
|
|
3990
4108
|
* foo, = bar
|
3991
4109
|
* ^
|
3992
4110
|
*
|
3993
|
-
* Type: PM_IMPLICIT_REST_NODE
|
4111
|
+
* Type: ::PM_IMPLICIT_REST_NODE
|
3994
4112
|
*
|
3995
4113
|
* @extends pm_node_t
|
3996
4114
|
*/
|
3997
4115
|
typedef struct pm_implicit_rest_node {
|
3998
4116
|
/** The embedded base node. */
|
3999
4117
|
pm_node_t base;
|
4118
|
+
|
4000
4119
|
} pm_implicit_rest_node_t;
|
4001
4120
|
|
4002
4121
|
/**
|
@@ -4007,7 +4126,7 @@ typedef struct pm_implicit_rest_node {
|
|
4007
4126
|
* case a; in b then c end
|
4008
4127
|
* ^^^^^^^^^^^
|
4009
4128
|
*
|
4010
|
-
* Type: PM_IN_NODE
|
4129
|
+
* Type: ::PM_IN_NODE
|
4011
4130
|
*
|
4012
4131
|
* @extends pm_node_t
|
4013
4132
|
*/
|
@@ -4015,6 +4134,7 @@ typedef struct pm_in_node {
|
|
4015
4134
|
/** The embedded base node. */
|
4016
4135
|
pm_node_t base;
|
4017
4136
|
|
4137
|
+
|
4018
4138
|
/**
|
4019
4139
|
* InNode#pattern
|
4020
4140
|
*/
|
@@ -4044,12 +4164,13 @@ typedef struct pm_in_node {
|
|
4044
4164
|
* foo.bar[baz] &&= value
|
4045
4165
|
* ^^^^^^^^^^^^^^^^^^^^^^
|
4046
4166
|
*
|
4047
|
-
* Type: PM_INDEX_AND_WRITE_NODE
|
4048
|
-
|
4049
|
-
*
|
4050
|
-
*
|
4051
|
-
*
|
4052
|
-
*
|
4167
|
+
* Type: ::PM_INDEX_AND_WRITE_NODE
|
4168
|
+
|
4169
|
+
* Flags (#pm_call_node_flags):
|
4170
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
4171
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
4172
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
4173
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
4053
4174
|
*
|
4054
4175
|
* @extends pm_node_t
|
4055
4176
|
*/
|
@@ -4057,6 +4178,7 @@ typedef struct pm_index_and_write_node {
|
|
4057
4178
|
/** The embedded base node. */
|
4058
4179
|
pm_node_t base;
|
4059
4180
|
|
4181
|
+
|
4060
4182
|
/**
|
4061
4183
|
* IndexAndWriteNode#receiver
|
4062
4184
|
*/
|
@@ -4085,7 +4207,7 @@ typedef struct pm_index_and_write_node {
|
|
4085
4207
|
/**
|
4086
4208
|
* IndexAndWriteNode#block
|
4087
4209
|
*/
|
4088
|
-
struct
|
4210
|
+
struct pm_block_argument_node *block;
|
4089
4211
|
|
4090
4212
|
/**
|
4091
4213
|
* IndexAndWriteNode#operator_loc
|
@@ -4106,12 +4228,13 @@ typedef struct pm_index_and_write_node {
|
|
4106
4228
|
* foo.bar[baz] += value
|
4107
4229
|
* ^^^^^^^^^^^^^^^^^^^^^
|
4108
4230
|
*
|
4109
|
-
* Type: PM_INDEX_OPERATOR_WRITE_NODE
|
4110
|
-
|
4111
|
-
*
|
4112
|
-
*
|
4113
|
-
*
|
4114
|
-
*
|
4231
|
+
* Type: ::PM_INDEX_OPERATOR_WRITE_NODE
|
4232
|
+
|
4233
|
+
* Flags (#pm_call_node_flags):
|
4234
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
4235
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
4236
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
4237
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
4115
4238
|
*
|
4116
4239
|
* @extends pm_node_t
|
4117
4240
|
*/
|
@@ -4119,6 +4242,7 @@ typedef struct pm_index_operator_write_node {
|
|
4119
4242
|
/** The embedded base node. */
|
4120
4243
|
pm_node_t base;
|
4121
4244
|
|
4245
|
+
|
4122
4246
|
/**
|
4123
4247
|
* IndexOperatorWriteNode#receiver
|
4124
4248
|
*/
|
@@ -4147,7 +4271,7 @@ typedef struct pm_index_operator_write_node {
|
|
4147
4271
|
/**
|
4148
4272
|
* IndexOperatorWriteNode#block
|
4149
4273
|
*/
|
4150
|
-
struct
|
4274
|
+
struct pm_block_argument_node *block;
|
4151
4275
|
|
4152
4276
|
/**
|
4153
4277
|
* IndexOperatorWriteNode#binary_operator
|
@@ -4173,12 +4297,13 @@ typedef struct pm_index_operator_write_node {
|
|
4173
4297
|
* foo.bar[baz] ||= value
|
4174
4298
|
* ^^^^^^^^^^^^^^^^^^^^^^
|
4175
4299
|
*
|
4176
|
-
* Type: PM_INDEX_OR_WRITE_NODE
|
4177
|
-
|
4178
|
-
*
|
4179
|
-
*
|
4180
|
-
*
|
4181
|
-
*
|
4300
|
+
* Type: ::PM_INDEX_OR_WRITE_NODE
|
4301
|
+
|
4302
|
+
* Flags (#pm_call_node_flags):
|
4303
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
4304
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
4305
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
4306
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
4182
4307
|
*
|
4183
4308
|
* @extends pm_node_t
|
4184
4309
|
*/
|
@@ -4186,6 +4311,7 @@ typedef struct pm_index_or_write_node {
|
|
4186
4311
|
/** The embedded base node. */
|
4187
4312
|
pm_node_t base;
|
4188
4313
|
|
4314
|
+
|
4189
4315
|
/**
|
4190
4316
|
* IndexOrWriteNode#receiver
|
4191
4317
|
*/
|
@@ -4214,7 +4340,7 @@ typedef struct pm_index_or_write_node {
|
|
4214
4340
|
/**
|
4215
4341
|
* IndexOrWriteNode#block
|
4216
4342
|
*/
|
4217
|
-
struct
|
4343
|
+
struct pm_block_argument_node *block;
|
4218
4344
|
|
4219
4345
|
/**
|
4220
4346
|
* IndexOrWriteNode#operator_loc
|
@@ -4243,12 +4369,13 @@ typedef struct pm_index_or_write_node {
|
|
4243
4369
|
* for foo[bar] in baz do end
|
4244
4370
|
* ^^^^^^^^
|
4245
4371
|
*
|
4246
|
-
* Type: PM_INDEX_TARGET_NODE
|
4247
|
-
|
4248
|
-
*
|
4249
|
-
*
|
4250
|
-
*
|
4251
|
-
*
|
4372
|
+
* Type: ::PM_INDEX_TARGET_NODE
|
4373
|
+
|
4374
|
+
* Flags (#pm_call_node_flags):
|
4375
|
+
* * ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
4376
|
+
* * ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
|
4377
|
+
* * ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
|
4378
|
+
* * ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
|
4252
4379
|
*
|
4253
4380
|
* @extends pm_node_t
|
4254
4381
|
*/
|
@@ -4256,6 +4383,7 @@ typedef struct pm_index_target_node {
|
|
4256
4383
|
/** The embedded base node. */
|
4257
4384
|
pm_node_t base;
|
4258
4385
|
|
4386
|
+
|
4259
4387
|
/**
|
4260
4388
|
* IndexTargetNode#receiver
|
4261
4389
|
*/
|
@@ -4279,7 +4407,7 @@ typedef struct pm_index_target_node {
|
|
4279
4407
|
/**
|
4280
4408
|
* IndexTargetNode#block
|
4281
4409
|
*/
|
4282
|
-
struct
|
4410
|
+
struct pm_block_argument_node *block;
|
4283
4411
|
} pm_index_target_node_t;
|
4284
4412
|
|
4285
4413
|
/**
|
@@ -4290,7 +4418,7 @@ typedef struct pm_index_target_node {
|
|
4290
4418
|
* @target &&= value
|
4291
4419
|
* ^^^^^^^^^^^^^^^^^
|
4292
4420
|
*
|
4293
|
-
* Type: PM_INSTANCE_VARIABLE_AND_WRITE_NODE
|
4421
|
+
* Type: ::PM_INSTANCE_VARIABLE_AND_WRITE_NODE
|
4294
4422
|
*
|
4295
4423
|
* @extends pm_node_t
|
4296
4424
|
*/
|
@@ -4298,6 +4426,7 @@ typedef struct pm_instance_variable_and_write_node {
|
|
4298
4426
|
/** The embedded base node. */
|
4299
4427
|
pm_node_t base;
|
4300
4428
|
|
4429
|
+
|
4301
4430
|
/**
|
4302
4431
|
* InstanceVariableAndWriteNode#name
|
4303
4432
|
*/
|
@@ -4327,7 +4456,7 @@ typedef struct pm_instance_variable_and_write_node {
|
|
4327
4456
|
* @target += value
|
4328
4457
|
* ^^^^^^^^^^^^^^^^
|
4329
4458
|
*
|
4330
|
-
* Type: PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
|
4459
|
+
* Type: ::PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
|
4331
4460
|
*
|
4332
4461
|
* @extends pm_node_t
|
4333
4462
|
*/
|
@@ -4335,6 +4464,7 @@ typedef struct pm_instance_variable_operator_write_node {
|
|
4335
4464
|
/** The embedded base node. */
|
4336
4465
|
pm_node_t base;
|
4337
4466
|
|
4467
|
+
|
4338
4468
|
/**
|
4339
4469
|
* InstanceVariableOperatorWriteNode#name
|
4340
4470
|
*/
|
@@ -4369,7 +4499,7 @@ typedef struct pm_instance_variable_operator_write_node {
|
|
4369
4499
|
* @target ||= value
|
4370
4500
|
* ^^^^^^^^^^^^^^^^^
|
4371
4501
|
*
|
4372
|
-
* Type: PM_INSTANCE_VARIABLE_OR_WRITE_NODE
|
4502
|
+
* Type: ::PM_INSTANCE_VARIABLE_OR_WRITE_NODE
|
4373
4503
|
*
|
4374
4504
|
* @extends pm_node_t
|
4375
4505
|
*/
|
@@ -4377,6 +4507,7 @@ typedef struct pm_instance_variable_or_write_node {
|
|
4377
4507
|
/** The embedded base node. */
|
4378
4508
|
pm_node_t base;
|
4379
4509
|
|
4510
|
+
|
4380
4511
|
/**
|
4381
4512
|
* InstanceVariableOrWriteNode#name
|
4382
4513
|
*/
|
@@ -4406,7 +4537,7 @@ typedef struct pm_instance_variable_or_write_node {
|
|
4406
4537
|
* @foo
|
4407
4538
|
* ^^^^
|
4408
4539
|
*
|
4409
|
-
* Type: PM_INSTANCE_VARIABLE_READ_NODE
|
4540
|
+
* Type: ::PM_INSTANCE_VARIABLE_READ_NODE
|
4410
4541
|
*
|
4411
4542
|
* @extends pm_node_t
|
4412
4543
|
*/
|
@@ -4414,6 +4545,7 @@ typedef struct pm_instance_variable_read_node {
|
|
4414
4545
|
/** The embedded base node. */
|
4415
4546
|
pm_node_t base;
|
4416
4547
|
|
4548
|
+
|
4417
4549
|
/**
|
4418
4550
|
* InstanceVariableReadNode#name
|
4419
4551
|
*
|
@@ -4434,7 +4566,7 @@ typedef struct pm_instance_variable_read_node {
|
|
4434
4566
|
* @foo, @bar = baz
|
4435
4567
|
* ^^^^ ^^^^
|
4436
4568
|
*
|
4437
|
-
* Type: PM_INSTANCE_VARIABLE_TARGET_NODE
|
4569
|
+
* Type: ::PM_INSTANCE_VARIABLE_TARGET_NODE
|
4438
4570
|
*
|
4439
4571
|
* @extends pm_node_t
|
4440
4572
|
*/
|
@@ -4442,6 +4574,7 @@ typedef struct pm_instance_variable_target_node {
|
|
4442
4574
|
/** The embedded base node. */
|
4443
4575
|
pm_node_t base;
|
4444
4576
|
|
4577
|
+
|
4445
4578
|
/**
|
4446
4579
|
* InstanceVariableTargetNode#name
|
4447
4580
|
*/
|
@@ -4456,7 +4589,7 @@ typedef struct pm_instance_variable_target_node {
|
|
4456
4589
|
* @foo = 1
|
4457
4590
|
* ^^^^^^^^
|
4458
4591
|
*
|
4459
|
-
* Type: PM_INSTANCE_VARIABLE_WRITE_NODE
|
4592
|
+
* Type: ::PM_INSTANCE_VARIABLE_WRITE_NODE
|
4460
4593
|
*
|
4461
4594
|
* @extends pm_node_t
|
4462
4595
|
*/
|
@@ -4464,6 +4597,7 @@ typedef struct pm_instance_variable_write_node {
|
|
4464
4597
|
/** The embedded base node. */
|
4465
4598
|
pm_node_t base;
|
4466
4599
|
|
4600
|
+
|
4467
4601
|
/**
|
4468
4602
|
* InstanceVariableWriteNode#name
|
4469
4603
|
*
|
@@ -4517,12 +4651,13 @@ typedef struct pm_instance_variable_write_node {
|
|
4517
4651
|
* 1
|
4518
4652
|
* ^
|
4519
4653
|
*
|
4520
|
-
* Type: PM_INTEGER_NODE
|
4521
|
-
|
4522
|
-
*
|
4523
|
-
*
|
4524
|
-
*
|
4525
|
-
*
|
4654
|
+
* Type: ::PM_INTEGER_NODE
|
4655
|
+
|
4656
|
+
* Flags (#pm_integer_base_flags):
|
4657
|
+
* * ::PM_INTEGER_BASE_FLAGS_BINARY
|
4658
|
+
* * ::PM_INTEGER_BASE_FLAGS_DECIMAL
|
4659
|
+
* * ::PM_INTEGER_BASE_FLAGS_OCTAL
|
4660
|
+
* * ::PM_INTEGER_BASE_FLAGS_HEXADECIMAL
|
4526
4661
|
*
|
4527
4662
|
* @extends pm_node_t
|
4528
4663
|
*/
|
@@ -4530,6 +4665,7 @@ typedef struct pm_integer_node {
|
|
4530
4665
|
/** The embedded base node. */
|
4531
4666
|
pm_node_t base;
|
4532
4667
|
|
4668
|
+
|
4533
4669
|
/**
|
4534
4670
|
* IntegerNode#value
|
4535
4671
|
*
|
@@ -4546,19 +4682,20 @@ typedef struct pm_integer_node {
|
|
4546
4682
|
* if /foo #{bar} baz/ then end
|
4547
4683
|
* ^^^^^^^^^^^^^^^^
|
4548
4684
|
*
|
4549
|
-
* Type: PM_INTERPOLATED_MATCH_LAST_LINE_NODE
|
4550
|
-
|
4551
|
-
*
|
4552
|
-
*
|
4553
|
-
*
|
4554
|
-
*
|
4555
|
-
*
|
4556
|
-
*
|
4557
|
-
*
|
4558
|
-
*
|
4559
|
-
*
|
4560
|
-
*
|
4561
|
-
*
|
4685
|
+
* Type: ::PM_INTERPOLATED_MATCH_LAST_LINE_NODE
|
4686
|
+
|
4687
|
+
* Flags (#pm_regular_expression_flags):
|
4688
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
|
4689
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
|
4690
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
|
4691
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ONCE
|
4692
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
|
4693
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
|
4694
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
|
4695
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_UTF_8
|
4696
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
|
4697
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
|
4698
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
|
4562
4699
|
*
|
4563
4700
|
* @extends pm_node_t
|
4564
4701
|
*/
|
@@ -4566,6 +4703,7 @@ typedef struct pm_interpolated_match_last_line_node {
|
|
4566
4703
|
/** The embedded base node. */
|
4567
4704
|
pm_node_t base;
|
4568
4705
|
|
4706
|
+
|
4569
4707
|
/**
|
4570
4708
|
* InterpolatedMatchLastLineNode#opening_loc
|
4571
4709
|
*/
|
@@ -4590,19 +4728,20 @@ typedef struct pm_interpolated_match_last_line_node {
|
|
4590
4728
|
* /foo #{bar} baz/
|
4591
4729
|
* ^^^^^^^^^^^^^^^^
|
4592
4730
|
*
|
4593
|
-
* Type: PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
|
4594
|
-
|
4595
|
-
*
|
4596
|
-
*
|
4597
|
-
*
|
4598
|
-
*
|
4599
|
-
*
|
4600
|
-
*
|
4601
|
-
*
|
4602
|
-
*
|
4603
|
-
*
|
4604
|
-
*
|
4605
|
-
*
|
4731
|
+
* Type: ::PM_INTERPOLATED_REGULAR_EXPRESSION_NODE
|
4732
|
+
|
4733
|
+
* Flags (#pm_regular_expression_flags):
|
4734
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
|
4735
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
|
4736
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
|
4737
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ONCE
|
4738
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
|
4739
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
|
4740
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
|
4741
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_UTF_8
|
4742
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
|
4743
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
|
4744
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
|
4606
4745
|
*
|
4607
4746
|
* @extends pm_node_t
|
4608
4747
|
*/
|
@@ -4610,6 +4749,7 @@ typedef struct pm_interpolated_regular_expression_node {
|
|
4610
4749
|
/** The embedded base node. */
|
4611
4750
|
pm_node_t base;
|
4612
4751
|
|
4752
|
+
|
4613
4753
|
/**
|
4614
4754
|
* InterpolatedRegularExpressionNode#opening_loc
|
4615
4755
|
*/
|
@@ -4634,10 +4774,11 @@ typedef struct pm_interpolated_regular_expression_node {
|
|
4634
4774
|
* "foo #{bar} baz"
|
4635
4775
|
* ^^^^^^^^^^^^^^^^
|
4636
4776
|
*
|
4637
|
-
* Type: PM_INTERPOLATED_STRING_NODE
|
4638
|
-
|
4639
|
-
*
|
4640
|
-
*
|
4777
|
+
* Type: ::PM_INTERPOLATED_STRING_NODE
|
4778
|
+
|
4779
|
+
* Flags (#pm_interpolated_string_node_flags):
|
4780
|
+
* * ::PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN
|
4781
|
+
* * ::PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE
|
4641
4782
|
*
|
4642
4783
|
* @extends pm_node_t
|
4643
4784
|
*/
|
@@ -4645,6 +4786,7 @@ typedef struct pm_interpolated_string_node {
|
|
4645
4786
|
/** The embedded base node. */
|
4646
4787
|
pm_node_t base;
|
4647
4788
|
|
4789
|
+
|
4648
4790
|
/**
|
4649
4791
|
* InterpolatedStringNode#opening_loc
|
4650
4792
|
*/
|
@@ -4669,7 +4811,7 @@ typedef struct pm_interpolated_string_node {
|
|
4669
4811
|
* :"foo #{bar} baz"
|
4670
4812
|
* ^^^^^^^^^^^^^^^^^
|
4671
4813
|
*
|
4672
|
-
* Type: PM_INTERPOLATED_SYMBOL_NODE
|
4814
|
+
* Type: ::PM_INTERPOLATED_SYMBOL_NODE
|
4673
4815
|
*
|
4674
4816
|
* @extends pm_node_t
|
4675
4817
|
*/
|
@@ -4677,6 +4819,7 @@ typedef struct pm_interpolated_symbol_node {
|
|
4677
4819
|
/** The embedded base node. */
|
4678
4820
|
pm_node_t base;
|
4679
4821
|
|
4822
|
+
|
4680
4823
|
/**
|
4681
4824
|
* InterpolatedSymbolNode#opening_loc
|
4682
4825
|
*/
|
@@ -4701,7 +4844,7 @@ typedef struct pm_interpolated_symbol_node {
|
|
4701
4844
|
* `foo #{bar} baz`
|
4702
4845
|
* ^^^^^^^^^^^^^^^^
|
4703
4846
|
*
|
4704
|
-
* Type: PM_INTERPOLATED_X_STRING_NODE
|
4847
|
+
* Type: ::PM_INTERPOLATED_X_STRING_NODE
|
4705
4848
|
*
|
4706
4849
|
* @extends pm_node_t
|
4707
4850
|
*/
|
@@ -4709,6 +4852,7 @@ typedef struct pm_interpolated_x_string_node {
|
|
4709
4852
|
/** The embedded base node. */
|
4710
4853
|
pm_node_t base;
|
4711
4854
|
|
4855
|
+
|
4712
4856
|
/**
|
4713
4857
|
* InterpolatedXStringNode#opening_loc
|
4714
4858
|
*/
|
@@ -4733,13 +4877,14 @@ typedef struct pm_interpolated_x_string_node {
|
|
4733
4877
|
* -> { it }
|
4734
4878
|
* ^^
|
4735
4879
|
*
|
4736
|
-
* Type: PM_IT_LOCAL_VARIABLE_READ_NODE
|
4880
|
+
* Type: ::PM_IT_LOCAL_VARIABLE_READ_NODE
|
4737
4881
|
*
|
4738
4882
|
* @extends pm_node_t
|
4739
4883
|
*/
|
4740
4884
|
typedef struct pm_it_local_variable_read_node {
|
4741
4885
|
/** The embedded base node. */
|
4742
4886
|
pm_node_t base;
|
4887
|
+
|
4743
4888
|
} pm_it_local_variable_read_node_t;
|
4744
4889
|
|
4745
4890
|
/**
|
@@ -4750,13 +4895,14 @@ typedef struct pm_it_local_variable_read_node {
|
|
4750
4895
|
* -> { it + it }
|
4751
4896
|
* ^^^^^^^^^^^^^^
|
4752
4897
|
*
|
4753
|
-
* Type: PM_IT_PARAMETERS_NODE
|
4898
|
+
* Type: ::PM_IT_PARAMETERS_NODE
|
4754
4899
|
*
|
4755
4900
|
* @extends pm_node_t
|
4756
4901
|
*/
|
4757
4902
|
typedef struct pm_it_parameters_node {
|
4758
4903
|
/** The embedded base node. */
|
4759
4904
|
pm_node_t base;
|
4905
|
+
|
4760
4906
|
} pm_it_parameters_node_t;
|
4761
4907
|
|
4762
4908
|
/**
|
@@ -4767,9 +4913,10 @@ typedef struct pm_it_parameters_node {
|
|
4767
4913
|
* foo(a: b)
|
4768
4914
|
* ^^^^
|
4769
4915
|
*
|
4770
|
-
* Type: PM_KEYWORD_HASH_NODE
|
4771
|
-
|
4772
|
-
*
|
4916
|
+
* Type: ::PM_KEYWORD_HASH_NODE
|
4917
|
+
|
4918
|
+
* Flags (#pm_keyword_hash_node_flags):
|
4919
|
+
* * ::PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS
|
4773
4920
|
*
|
4774
4921
|
* @extends pm_node_t
|
4775
4922
|
*/
|
@@ -4777,6 +4924,7 @@ typedef struct pm_keyword_hash_node {
|
|
4777
4924
|
/** The embedded base node. */
|
4778
4925
|
pm_node_t base;
|
4779
4926
|
|
4927
|
+
|
4780
4928
|
/**
|
4781
4929
|
* KeywordHashNode#elements
|
4782
4930
|
*/
|
@@ -4792,9 +4940,10 @@ typedef struct pm_keyword_hash_node {
|
|
4792
4940
|
* ^^^
|
4793
4941
|
* end
|
4794
4942
|
*
|
4795
|
-
* Type: PM_KEYWORD_REST_PARAMETER_NODE
|
4796
|
-
|
4797
|
-
*
|
4943
|
+
* Type: ::PM_KEYWORD_REST_PARAMETER_NODE
|
4944
|
+
|
4945
|
+
* Flags (#pm_parameter_flags):
|
4946
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
4798
4947
|
*
|
4799
4948
|
* @extends pm_node_t
|
4800
4949
|
*/
|
@@ -4802,6 +4951,7 @@ typedef struct pm_keyword_rest_parameter_node {
|
|
4802
4951
|
/** The embedded base node. */
|
4803
4952
|
pm_node_t base;
|
4804
4953
|
|
4954
|
+
|
4805
4955
|
/**
|
4806
4956
|
* KeywordRestParameterNode#name
|
4807
4957
|
*/
|
@@ -4826,7 +4976,7 @@ typedef struct pm_keyword_rest_parameter_node {
|
|
4826
4976
|
* ->(value) { value * 2 }
|
4827
4977
|
* ^^^^^^^^^^^^^^^^^^^^^^^
|
4828
4978
|
*
|
4829
|
-
* Type: PM_LAMBDA_NODE
|
4979
|
+
* Type: ::PM_LAMBDA_NODE
|
4830
4980
|
*
|
4831
4981
|
* @extends pm_node_t
|
4832
4982
|
*/
|
@@ -4834,6 +4984,7 @@ typedef struct pm_lambda_node {
|
|
4834
4984
|
/** The embedded base node. */
|
4835
4985
|
pm_node_t base;
|
4836
4986
|
|
4987
|
+
|
4837
4988
|
/**
|
4838
4989
|
* LambdaNode#locals
|
4839
4990
|
*/
|
@@ -4873,7 +5024,7 @@ typedef struct pm_lambda_node {
|
|
4873
5024
|
* target &&= value
|
4874
5025
|
* ^^^^^^^^^^^^^^^^
|
4875
5026
|
*
|
4876
|
-
* Type: PM_LOCAL_VARIABLE_AND_WRITE_NODE
|
5027
|
+
* Type: ::PM_LOCAL_VARIABLE_AND_WRITE_NODE
|
4877
5028
|
*
|
4878
5029
|
* @extends pm_node_t
|
4879
5030
|
*/
|
@@ -4881,6 +5032,7 @@ typedef struct pm_local_variable_and_write_node {
|
|
4881
5032
|
/** The embedded base node. */
|
4882
5033
|
pm_node_t base;
|
4883
5034
|
|
5035
|
+
|
4884
5036
|
/**
|
4885
5037
|
* LocalVariableAndWriteNode#name_loc
|
4886
5038
|
*/
|
@@ -4915,7 +5067,7 @@ typedef struct pm_local_variable_and_write_node {
|
|
4915
5067
|
* target += value
|
4916
5068
|
* ^^^^^^^^^^^^^^^
|
4917
5069
|
*
|
4918
|
-
* Type: PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
|
5070
|
+
* Type: ::PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
|
4919
5071
|
*
|
4920
5072
|
* @extends pm_node_t
|
4921
5073
|
*/
|
@@ -4923,6 +5075,7 @@ typedef struct pm_local_variable_operator_write_node {
|
|
4923
5075
|
/** The embedded base node. */
|
4924
5076
|
pm_node_t base;
|
4925
5077
|
|
5078
|
+
|
4926
5079
|
/**
|
4927
5080
|
* LocalVariableOperatorWriteNode#name_loc
|
4928
5081
|
*/
|
@@ -4962,7 +5115,7 @@ typedef struct pm_local_variable_operator_write_node {
|
|
4962
5115
|
* target ||= value
|
4963
5116
|
* ^^^^^^^^^^^^^^^^
|
4964
5117
|
*
|
4965
|
-
* Type: PM_LOCAL_VARIABLE_OR_WRITE_NODE
|
5118
|
+
* Type: ::PM_LOCAL_VARIABLE_OR_WRITE_NODE
|
4966
5119
|
*
|
4967
5120
|
* @extends pm_node_t
|
4968
5121
|
*/
|
@@ -4970,6 +5123,7 @@ typedef struct pm_local_variable_or_write_node {
|
|
4970
5123
|
/** The embedded base node. */
|
4971
5124
|
pm_node_t base;
|
4972
5125
|
|
5126
|
+
|
4973
5127
|
/**
|
4974
5128
|
* LocalVariableOrWriteNode#name_loc
|
4975
5129
|
*/
|
@@ -5004,7 +5158,7 @@ typedef struct pm_local_variable_or_write_node {
|
|
5004
5158
|
* foo
|
5005
5159
|
* ^^^
|
5006
5160
|
*
|
5007
|
-
* Type: PM_LOCAL_VARIABLE_READ_NODE
|
5161
|
+
* Type: ::PM_LOCAL_VARIABLE_READ_NODE
|
5008
5162
|
*
|
5009
5163
|
* @extends pm_node_t
|
5010
5164
|
*/
|
@@ -5012,6 +5166,7 @@ typedef struct pm_local_variable_read_node {
|
|
5012
5166
|
/** The embedded base node. */
|
5013
5167
|
pm_node_t base;
|
5014
5168
|
|
5169
|
+
|
5015
5170
|
/**
|
5016
5171
|
* LocalVariableReadNode#name
|
5017
5172
|
*
|
@@ -5049,7 +5204,7 @@ typedef struct pm_local_variable_read_node {
|
|
5049
5204
|
* foo, bar = baz
|
5050
5205
|
* ^^^ ^^^
|
5051
5206
|
*
|
5052
|
-
* Type: PM_LOCAL_VARIABLE_TARGET_NODE
|
5207
|
+
* Type: ::PM_LOCAL_VARIABLE_TARGET_NODE
|
5053
5208
|
*
|
5054
5209
|
* @extends pm_node_t
|
5055
5210
|
*/
|
@@ -5057,6 +5212,7 @@ typedef struct pm_local_variable_target_node {
|
|
5057
5212
|
/** The embedded base node. */
|
5058
5213
|
pm_node_t base;
|
5059
5214
|
|
5215
|
+
|
5060
5216
|
/**
|
5061
5217
|
* LocalVariableTargetNode#name
|
5062
5218
|
*/
|
@@ -5076,7 +5232,7 @@ typedef struct pm_local_variable_target_node {
|
|
5076
5232
|
* foo = 1
|
5077
5233
|
* ^^^^^^^
|
5078
5234
|
*
|
5079
|
-
* Type: PM_LOCAL_VARIABLE_WRITE_NODE
|
5235
|
+
* Type: ::PM_LOCAL_VARIABLE_WRITE_NODE
|
5080
5236
|
*
|
5081
5237
|
* @extends pm_node_t
|
5082
5238
|
*/
|
@@ -5084,6 +5240,7 @@ typedef struct pm_local_variable_write_node {
|
|
5084
5240
|
/** The embedded base node. */
|
5085
5241
|
pm_node_t base;
|
5086
5242
|
|
5243
|
+
|
5087
5244
|
/**
|
5088
5245
|
* LocalVariableWriteNode#name
|
5089
5246
|
*
|
@@ -5154,19 +5311,20 @@ typedef struct pm_local_variable_write_node {
|
|
5154
5311
|
* if /foo/i then end
|
5155
5312
|
* ^^^^^^
|
5156
5313
|
*
|
5157
|
-
* Type: PM_MATCH_LAST_LINE_NODE
|
5158
|
-
|
5159
|
-
*
|
5160
|
-
*
|
5161
|
-
*
|
5162
|
-
*
|
5163
|
-
*
|
5164
|
-
*
|
5165
|
-
*
|
5166
|
-
*
|
5167
|
-
*
|
5168
|
-
*
|
5169
|
-
*
|
5314
|
+
* Type: ::PM_MATCH_LAST_LINE_NODE
|
5315
|
+
|
5316
|
+
* Flags (#pm_regular_expression_flags):
|
5317
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
|
5318
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
|
5319
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
|
5320
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ONCE
|
5321
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
|
5322
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
|
5323
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
|
5324
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_UTF_8
|
5325
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
|
5326
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
|
5327
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
|
5170
5328
|
*
|
5171
5329
|
* @extends pm_node_t
|
5172
5330
|
*/
|
@@ -5174,6 +5332,7 @@ typedef struct pm_match_last_line_node {
|
|
5174
5332
|
/** The embedded base node. */
|
5175
5333
|
pm_node_t base;
|
5176
5334
|
|
5335
|
+
|
5177
5336
|
/**
|
5178
5337
|
* MatchLastLineNode#opening_loc
|
5179
5338
|
*/
|
@@ -5203,7 +5362,7 @@ typedef struct pm_match_last_line_node {
|
|
5203
5362
|
* foo in bar
|
5204
5363
|
* ^^^^^^^^^^
|
5205
5364
|
*
|
5206
|
-
* Type: PM_MATCH_PREDICATE_NODE
|
5365
|
+
* Type: ::PM_MATCH_PREDICATE_NODE
|
5207
5366
|
*
|
5208
5367
|
* @extends pm_node_t
|
5209
5368
|
*/
|
@@ -5211,6 +5370,7 @@ typedef struct pm_match_predicate_node {
|
|
5211
5370
|
/** The embedded base node. */
|
5212
5371
|
pm_node_t base;
|
5213
5372
|
|
5373
|
+
|
5214
5374
|
/**
|
5215
5375
|
* MatchPredicateNode#value
|
5216
5376
|
*/
|
@@ -5235,7 +5395,7 @@ typedef struct pm_match_predicate_node {
|
|
5235
5395
|
* foo => bar
|
5236
5396
|
* ^^^^^^^^^^
|
5237
5397
|
*
|
5238
|
-
* Type: PM_MATCH_REQUIRED_NODE
|
5398
|
+
* Type: ::PM_MATCH_REQUIRED_NODE
|
5239
5399
|
*
|
5240
5400
|
* @extends pm_node_t
|
5241
5401
|
*/
|
@@ -5243,6 +5403,7 @@ typedef struct pm_match_required_node {
|
|
5243
5403
|
/** The embedded base node. */
|
5244
5404
|
pm_node_t base;
|
5245
5405
|
|
5406
|
+
|
5246
5407
|
/**
|
5247
5408
|
* MatchRequiredNode#value
|
5248
5409
|
*/
|
@@ -5267,7 +5428,7 @@ typedef struct pm_match_required_node {
|
|
5267
5428
|
* /(?<foo>bar)/ =~ baz
|
5268
5429
|
* ^^^^^^^^^^^^^^^^^^^^
|
5269
5430
|
*
|
5270
|
-
* Type: PM_MATCH_WRITE_NODE
|
5431
|
+
* Type: ::PM_MATCH_WRITE_NODE
|
5271
5432
|
*
|
5272
5433
|
* @extends pm_node_t
|
5273
5434
|
*/
|
@@ -5275,6 +5436,7 @@ typedef struct pm_match_write_node {
|
|
5275
5436
|
/** The embedded base node. */
|
5276
5437
|
pm_node_t base;
|
5277
5438
|
|
5439
|
+
|
5278
5440
|
/**
|
5279
5441
|
* MatchWriteNode#call
|
5280
5442
|
*/
|
@@ -5291,13 +5453,14 @@ typedef struct pm_match_write_node {
|
|
5291
5453
|
*
|
5292
5454
|
* Represents a node that is missing from the source and results in a syntax error.
|
5293
5455
|
*
|
5294
|
-
* Type: PM_MISSING_NODE
|
5456
|
+
* Type: ::PM_MISSING_NODE
|
5295
5457
|
*
|
5296
5458
|
* @extends pm_node_t
|
5297
5459
|
*/
|
5298
5460
|
typedef struct pm_missing_node {
|
5299
5461
|
/** The embedded base node. */
|
5300
5462
|
pm_node_t base;
|
5463
|
+
|
5301
5464
|
} pm_missing_node_t;
|
5302
5465
|
|
5303
5466
|
/**
|
@@ -5308,7 +5471,7 @@ typedef struct pm_missing_node {
|
|
5308
5471
|
* module Foo end
|
5309
5472
|
* ^^^^^^^^^^^^^^
|
5310
5473
|
*
|
5311
|
-
* Type: PM_MODULE_NODE
|
5474
|
+
* Type: ::PM_MODULE_NODE
|
5312
5475
|
*
|
5313
5476
|
* @extends pm_node_t
|
5314
5477
|
*/
|
@@ -5316,6 +5479,7 @@ typedef struct pm_module_node {
|
|
5316
5479
|
/** The embedded base node. */
|
5317
5480
|
pm_node_t base;
|
5318
5481
|
|
5482
|
+
|
5319
5483
|
/**
|
5320
5484
|
* ModuleNode#locals
|
5321
5485
|
*/
|
@@ -5360,7 +5524,7 @@ typedef struct pm_module_node {
|
|
5360
5524
|
* for a, b in [[1, 2], [3, 4]]
|
5361
5525
|
* ^^^^
|
5362
5526
|
*
|
5363
|
-
* Type: PM_MULTI_TARGET_NODE
|
5527
|
+
* Type: ::PM_MULTI_TARGET_NODE
|
5364
5528
|
*
|
5365
5529
|
* @extends pm_node_t
|
5366
5530
|
*/
|
@@ -5368,6 +5532,7 @@ typedef struct pm_multi_target_node {
|
|
5368
5532
|
/** The embedded base node. */
|
5369
5533
|
pm_node_t base;
|
5370
5534
|
|
5535
|
+
|
5371
5536
|
/**
|
5372
5537
|
* MultiTargetNode#lefts
|
5373
5538
|
*
|
@@ -5396,7 +5561,7 @@ typedef struct pm_multi_target_node {
|
|
5396
5561
|
* a, (b, *) = 1, 2, 3, 4
|
5397
5562
|
* ^
|
5398
5563
|
*
|
5399
|
-
* If the `*` is omitted,
|
5564
|
+
* If the `*` is omitted, this field will contain an `ImplicitRestNode`
|
5400
5565
|
*
|
5401
5566
|
* a, (b,) = 1, 2, 3, 4
|
5402
5567
|
* ^
|
@@ -5442,7 +5607,7 @@ typedef struct pm_multi_target_node {
|
|
5442
5607
|
* a, b, c = 1, 2, 3
|
5443
5608
|
* ^^^^^^^^^^^^^^^^^
|
5444
5609
|
*
|
5445
|
-
* Type: PM_MULTI_WRITE_NODE
|
5610
|
+
* Type: ::PM_MULTI_WRITE_NODE
|
5446
5611
|
*
|
5447
5612
|
* @extends pm_node_t
|
5448
5613
|
*/
|
@@ -5450,6 +5615,7 @@ typedef struct pm_multi_write_node {
|
|
5450
5615
|
/** The embedded base node. */
|
5451
5616
|
pm_node_t base;
|
5452
5617
|
|
5618
|
+
|
5453
5619
|
/**
|
5454
5620
|
* MultiWriteNode#lefts
|
5455
5621
|
*
|
@@ -5478,7 +5644,7 @@ typedef struct pm_multi_write_node {
|
|
5478
5644
|
* a, b, * = 1, 2, 3, 4
|
5479
5645
|
* ^
|
5480
5646
|
*
|
5481
|
-
* If the `*` is omitted,
|
5647
|
+
* If the `*` is omitted, this field will contain an `ImplicitRestNode`
|
5482
5648
|
*
|
5483
5649
|
* a, b, = 1, 2, 3, 4
|
5484
5650
|
* ^
|
@@ -5544,7 +5710,7 @@ typedef struct pm_multi_write_node {
|
|
5544
5710
|
* next 1
|
5545
5711
|
* ^^^^^^
|
5546
5712
|
*
|
5547
|
-
* Type: PM_NEXT_NODE
|
5713
|
+
* Type: ::PM_NEXT_NODE
|
5548
5714
|
*
|
5549
5715
|
* @extends pm_node_t
|
5550
5716
|
*/
|
@@ -5552,6 +5718,7 @@ typedef struct pm_next_node {
|
|
5552
5718
|
/** The embedded base node. */
|
5553
5719
|
pm_node_t base;
|
5554
5720
|
|
5721
|
+
|
5555
5722
|
/**
|
5556
5723
|
* NextNode#arguments
|
5557
5724
|
*/
|
@@ -5571,13 +5738,14 @@ typedef struct pm_next_node {
|
|
5571
5738
|
* nil
|
5572
5739
|
* ^^^
|
5573
5740
|
*
|
5574
|
-
* Type: PM_NIL_NODE
|
5741
|
+
* Type: ::PM_NIL_NODE
|
5575
5742
|
*
|
5576
5743
|
* @extends pm_node_t
|
5577
5744
|
*/
|
5578
5745
|
typedef struct pm_nil_node {
|
5579
5746
|
/** The embedded base node. */
|
5580
5747
|
pm_node_t base;
|
5748
|
+
|
5581
5749
|
} pm_nil_node_t;
|
5582
5750
|
|
5583
5751
|
/**
|
@@ -5589,7 +5757,7 @@ typedef struct pm_nil_node {
|
|
5589
5757
|
* ^^^^^
|
5590
5758
|
* end
|
5591
5759
|
*
|
5592
|
-
* Type: PM_NO_KEYWORDS_PARAMETER_NODE
|
5760
|
+
* Type: ::PM_NO_KEYWORDS_PARAMETER_NODE
|
5593
5761
|
*
|
5594
5762
|
* @extends pm_node_t
|
5595
5763
|
*/
|
@@ -5597,6 +5765,7 @@ typedef struct pm_no_keywords_parameter_node {
|
|
5597
5765
|
/** The embedded base node. */
|
5598
5766
|
pm_node_t base;
|
5599
5767
|
|
5768
|
+
|
5600
5769
|
/**
|
5601
5770
|
* NoKeywordsParameterNode#operator_loc
|
5602
5771
|
*/
|
@@ -5616,7 +5785,7 @@ typedef struct pm_no_keywords_parameter_node {
|
|
5616
5785
|
* -> { _1 + _2 }
|
5617
5786
|
* ^^^^^^^^^^^^^^
|
5618
5787
|
*
|
5619
|
-
* Type: PM_NUMBERED_PARAMETERS_NODE
|
5788
|
+
* Type: ::PM_NUMBERED_PARAMETERS_NODE
|
5620
5789
|
*
|
5621
5790
|
* @extends pm_node_t
|
5622
5791
|
*/
|
@@ -5624,6 +5793,7 @@ typedef struct pm_numbered_parameters_node {
|
|
5624
5793
|
/** The embedded base node. */
|
5625
5794
|
pm_node_t base;
|
5626
5795
|
|
5796
|
+
|
5627
5797
|
/**
|
5628
5798
|
* NumberedParametersNode#maximum
|
5629
5799
|
*/
|
@@ -5638,7 +5808,7 @@ typedef struct pm_numbered_parameters_node {
|
|
5638
5808
|
* $1
|
5639
5809
|
* ^^
|
5640
5810
|
*
|
5641
|
-
* Type: PM_NUMBERED_REFERENCE_READ_NODE
|
5811
|
+
* Type: ::PM_NUMBERED_REFERENCE_READ_NODE
|
5642
5812
|
*
|
5643
5813
|
* @extends pm_node_t
|
5644
5814
|
*/
|
@@ -5646,6 +5816,7 @@ typedef struct pm_numbered_reference_read_node {
|
|
5646
5816
|
/** The embedded base node. */
|
5647
5817
|
pm_node_t base;
|
5648
5818
|
|
5819
|
+
|
5649
5820
|
/**
|
5650
5821
|
* NumberedReferenceReadNode#number
|
5651
5822
|
*
|
@@ -5669,9 +5840,10 @@ typedef struct pm_numbered_reference_read_node {
|
|
5669
5840
|
* ^^^^
|
5670
5841
|
* end
|
5671
5842
|
*
|
5672
|
-
* Type: PM_OPTIONAL_KEYWORD_PARAMETER_NODE
|
5673
|
-
|
5674
|
-
*
|
5843
|
+
* Type: ::PM_OPTIONAL_KEYWORD_PARAMETER_NODE
|
5844
|
+
|
5845
|
+
* Flags (#pm_parameter_flags):
|
5846
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
5675
5847
|
*
|
5676
5848
|
* @extends pm_node_t
|
5677
5849
|
*/
|
@@ -5679,6 +5851,7 @@ typedef struct pm_optional_keyword_parameter_node {
|
|
5679
5851
|
/** The embedded base node. */
|
5680
5852
|
pm_node_t base;
|
5681
5853
|
|
5854
|
+
|
5682
5855
|
/**
|
5683
5856
|
* OptionalKeywordParameterNode#name
|
5684
5857
|
*/
|
@@ -5704,9 +5877,10 @@ typedef struct pm_optional_keyword_parameter_node {
|
|
5704
5877
|
* ^^^^^
|
5705
5878
|
* end
|
5706
5879
|
*
|
5707
|
-
* Type: PM_OPTIONAL_PARAMETER_NODE
|
5708
|
-
|
5709
|
-
*
|
5880
|
+
* Type: ::PM_OPTIONAL_PARAMETER_NODE
|
5881
|
+
|
5882
|
+
* Flags (#pm_parameter_flags):
|
5883
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
5710
5884
|
*
|
5711
5885
|
* @extends pm_node_t
|
5712
5886
|
*/
|
@@ -5714,6 +5888,7 @@ typedef struct pm_optional_parameter_node {
|
|
5714
5888
|
/** The embedded base node. */
|
5715
5889
|
pm_node_t base;
|
5716
5890
|
|
5891
|
+
|
5717
5892
|
/**
|
5718
5893
|
* OptionalParameterNode#name
|
5719
5894
|
*/
|
@@ -5743,7 +5918,7 @@ typedef struct pm_optional_parameter_node {
|
|
5743
5918
|
* left or right
|
5744
5919
|
* ^^^^^^^^^^^^^
|
5745
5920
|
*
|
5746
|
-
* Type: PM_OR_NODE
|
5921
|
+
* Type: ::PM_OR_NODE
|
5747
5922
|
*
|
5748
5923
|
* @extends pm_node_t
|
5749
5924
|
*/
|
@@ -5751,6 +5926,7 @@ typedef struct pm_or_node {
|
|
5751
5926
|
/** The embedded base node. */
|
5752
5927
|
pm_node_t base;
|
5753
5928
|
|
5929
|
+
|
5754
5930
|
/**
|
5755
5931
|
* OrNode#left
|
5756
5932
|
*
|
@@ -5767,7 +5943,7 @@ typedef struct pm_or_node {
|
|
5767
5943
|
/**
|
5768
5944
|
* OrNode#right
|
5769
5945
|
*
|
5770
|
-
* Represents the right side of the expression.
|
5946
|
+
* Represents the right side of the expression.
|
5771
5947
|
*
|
5772
5948
|
* left || right
|
5773
5949
|
* ^^^^^
|
@@ -5797,7 +5973,7 @@ typedef struct pm_or_node {
|
|
5797
5973
|
* ^^^^^^^
|
5798
5974
|
* end
|
5799
5975
|
*
|
5800
|
-
* Type: PM_PARAMETERS_NODE
|
5976
|
+
* Type: ::PM_PARAMETERS_NODE
|
5801
5977
|
*
|
5802
5978
|
* @extends pm_node_t
|
5803
5979
|
*/
|
@@ -5805,6 +5981,7 @@ typedef struct pm_parameters_node {
|
|
5805
5981
|
/** The embedded base node. */
|
5806
5982
|
pm_node_t base;
|
5807
5983
|
|
5984
|
+
|
5808
5985
|
/**
|
5809
5986
|
* ParametersNode#requireds
|
5810
5987
|
*/
|
@@ -5849,7 +6026,7 @@ typedef struct pm_parameters_node {
|
|
5849
6026
|
* (10 + 34)
|
5850
6027
|
* ^^^^^^^^^
|
5851
6028
|
*
|
5852
|
-
* Type: PM_PARENTHESES_NODE
|
6029
|
+
* Type: ::PM_PARENTHESES_NODE
|
5853
6030
|
*
|
5854
6031
|
* @extends pm_node_t
|
5855
6032
|
*/
|
@@ -5857,6 +6034,7 @@ typedef struct pm_parentheses_node {
|
|
5857
6034
|
/** The embedded base node. */
|
5858
6035
|
pm_node_t base;
|
5859
6036
|
|
6037
|
+
|
5860
6038
|
/**
|
5861
6039
|
* ParenthesesNode#body
|
5862
6040
|
*/
|
@@ -5881,7 +6059,7 @@ typedef struct pm_parentheses_node {
|
|
5881
6059
|
* foo in ^(bar)
|
5882
6060
|
* ^^^^^^
|
5883
6061
|
*
|
5884
|
-
* Type: PM_PINNED_EXPRESSION_NODE
|
6062
|
+
* Type: ::PM_PINNED_EXPRESSION_NODE
|
5885
6063
|
*
|
5886
6064
|
* @extends pm_node_t
|
5887
6065
|
*/
|
@@ -5889,6 +6067,7 @@ typedef struct pm_pinned_expression_node {
|
|
5889
6067
|
/** The embedded base node. */
|
5890
6068
|
pm_node_t base;
|
5891
6069
|
|
6070
|
+
|
5892
6071
|
/**
|
5893
6072
|
* PinnedExpressionNode#expression
|
5894
6073
|
*/
|
@@ -5918,7 +6097,7 @@ typedef struct pm_pinned_expression_node {
|
|
5918
6097
|
* foo in ^bar
|
5919
6098
|
* ^^^^
|
5920
6099
|
*
|
5921
|
-
* Type: PM_PINNED_VARIABLE_NODE
|
6100
|
+
* Type: ::PM_PINNED_VARIABLE_NODE
|
5922
6101
|
*
|
5923
6102
|
* @extends pm_node_t
|
5924
6103
|
*/
|
@@ -5926,6 +6105,7 @@ typedef struct pm_pinned_variable_node {
|
|
5926
6105
|
/** The embedded base node. */
|
5927
6106
|
pm_node_t base;
|
5928
6107
|
|
6108
|
+
|
5929
6109
|
/**
|
5930
6110
|
* PinnedVariableNode#variable
|
5931
6111
|
*/
|
@@ -5945,7 +6125,7 @@ typedef struct pm_pinned_variable_node {
|
|
5945
6125
|
* END { foo }
|
5946
6126
|
* ^^^^^^^^^^^
|
5947
6127
|
*
|
5948
|
-
* Type: PM_POST_EXECUTION_NODE
|
6128
|
+
* Type: ::PM_POST_EXECUTION_NODE
|
5949
6129
|
*
|
5950
6130
|
* @extends pm_node_t
|
5951
6131
|
*/
|
@@ -5953,6 +6133,7 @@ typedef struct pm_post_execution_node {
|
|
5953
6133
|
/** The embedded base node. */
|
5954
6134
|
pm_node_t base;
|
5955
6135
|
|
6136
|
+
|
5956
6137
|
/**
|
5957
6138
|
* PostExecutionNode#statements
|
5958
6139
|
*/
|
@@ -5982,7 +6163,7 @@ typedef struct pm_post_execution_node {
|
|
5982
6163
|
* BEGIN { foo }
|
5983
6164
|
* ^^^^^^^^^^^^^
|
5984
6165
|
*
|
5985
|
-
* Type: PM_PRE_EXECUTION_NODE
|
6166
|
+
* Type: ::PM_PRE_EXECUTION_NODE
|
5986
6167
|
*
|
5987
6168
|
* @extends pm_node_t
|
5988
6169
|
*/
|
@@ -5990,6 +6171,7 @@ typedef struct pm_pre_execution_node {
|
|
5990
6171
|
/** The embedded base node. */
|
5991
6172
|
pm_node_t base;
|
5992
6173
|
|
6174
|
+
|
5993
6175
|
/**
|
5994
6176
|
* PreExecutionNode#statements
|
5995
6177
|
*/
|
@@ -6016,7 +6198,7 @@ typedef struct pm_pre_execution_node {
|
|
6016
6198
|
*
|
6017
6199
|
* The top level node of any parse tree.
|
6018
6200
|
*
|
6019
|
-
* Type: PM_PROGRAM_NODE
|
6201
|
+
* Type: ::PM_PROGRAM_NODE
|
6020
6202
|
*
|
6021
6203
|
* @extends pm_node_t
|
6022
6204
|
*/
|
@@ -6024,6 +6206,7 @@ typedef struct pm_program_node {
|
|
6024
6206
|
/** The embedded base node. */
|
6025
6207
|
pm_node_t base;
|
6026
6208
|
|
6209
|
+
|
6027
6210
|
/**
|
6028
6211
|
* ProgramNode#locals
|
6029
6212
|
*/
|
@@ -6046,9 +6229,10 @@ typedef struct pm_program_node {
|
|
6046
6229
|
* c if a =~ /left/ ... b =~ /right/
|
6047
6230
|
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
6048
6231
|
*
|
6049
|
-
* Type: PM_RANGE_NODE
|
6050
|
-
|
6051
|
-
*
|
6232
|
+
* Type: ::PM_RANGE_NODE
|
6233
|
+
|
6234
|
+
* Flags (#pm_range_flags):
|
6235
|
+
* * ::PM_RANGE_FLAGS_EXCLUDE_END
|
6052
6236
|
*
|
6053
6237
|
* @extends pm_node_t
|
6054
6238
|
*/
|
@@ -6056,6 +6240,7 @@ typedef struct pm_range_node {
|
|
6056
6240
|
/** The embedded base node. */
|
6057
6241
|
pm_node_t base;
|
6058
6242
|
|
6243
|
+
|
6059
6244
|
/**
|
6060
6245
|
* RangeNode#left
|
6061
6246
|
*
|
@@ -6099,12 +6284,13 @@ typedef struct pm_range_node {
|
|
6099
6284
|
* 1.0r
|
6100
6285
|
* ^^^^
|
6101
6286
|
*
|
6102
|
-
* Type: PM_RATIONAL_NODE
|
6103
|
-
|
6104
|
-
*
|
6105
|
-
*
|
6106
|
-
*
|
6107
|
-
*
|
6287
|
+
* Type: ::PM_RATIONAL_NODE
|
6288
|
+
|
6289
|
+
* Flags (#pm_integer_base_flags):
|
6290
|
+
* * ::PM_INTEGER_BASE_FLAGS_BINARY
|
6291
|
+
* * ::PM_INTEGER_BASE_FLAGS_DECIMAL
|
6292
|
+
* * ::PM_INTEGER_BASE_FLAGS_OCTAL
|
6293
|
+
* * ::PM_INTEGER_BASE_FLAGS_HEXADECIMAL
|
6108
6294
|
*
|
6109
6295
|
* @extends pm_node_t
|
6110
6296
|
*/
|
@@ -6112,6 +6298,7 @@ typedef struct pm_rational_node {
|
|
6112
6298
|
/** The embedded base node. */
|
6113
6299
|
pm_node_t base;
|
6114
6300
|
|
6301
|
+
|
6115
6302
|
/**
|
6116
6303
|
* RationalNode#numerator
|
6117
6304
|
*
|
@@ -6139,13 +6326,14 @@ typedef struct pm_rational_node {
|
|
6139
6326
|
* redo
|
6140
6327
|
* ^^^^
|
6141
6328
|
*
|
6142
|
-
* Type: PM_REDO_NODE
|
6329
|
+
* Type: ::PM_REDO_NODE
|
6143
6330
|
*
|
6144
6331
|
* @extends pm_node_t
|
6145
6332
|
*/
|
6146
6333
|
typedef struct pm_redo_node {
|
6147
6334
|
/** The embedded base node. */
|
6148
6335
|
pm_node_t base;
|
6336
|
+
|
6149
6337
|
} pm_redo_node_t;
|
6150
6338
|
|
6151
6339
|
/**
|
@@ -6156,19 +6344,20 @@ typedef struct pm_redo_node {
|
|
6156
6344
|
* /foo/i
|
6157
6345
|
* ^^^^^^
|
6158
6346
|
*
|
6159
|
-
* Type: PM_REGULAR_EXPRESSION_NODE
|
6160
|
-
|
6161
|
-
*
|
6162
|
-
*
|
6163
|
-
*
|
6164
|
-
*
|
6165
|
-
*
|
6166
|
-
*
|
6167
|
-
*
|
6168
|
-
*
|
6169
|
-
*
|
6170
|
-
*
|
6171
|
-
*
|
6347
|
+
* Type: ::PM_REGULAR_EXPRESSION_NODE
|
6348
|
+
|
6349
|
+
* Flags (#pm_regular_expression_flags):
|
6350
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
|
6351
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
|
6352
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
|
6353
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ONCE
|
6354
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
|
6355
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
|
6356
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
|
6357
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_UTF_8
|
6358
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
|
6359
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
|
6360
|
+
* * ::PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
|
6172
6361
|
*
|
6173
6362
|
* @extends pm_node_t
|
6174
6363
|
*/
|
@@ -6176,6 +6365,7 @@ typedef struct pm_regular_expression_node {
|
|
6176
6365
|
/** The embedded base node. */
|
6177
6366
|
pm_node_t base;
|
6178
6367
|
|
6368
|
+
|
6179
6369
|
/**
|
6180
6370
|
* RegularExpressionNode#opening_loc
|
6181
6371
|
*/
|
@@ -6206,9 +6396,10 @@ typedef struct pm_regular_expression_node {
|
|
6206
6396
|
* ^^
|
6207
6397
|
* end
|
6208
6398
|
*
|
6209
|
-
* Type: PM_REQUIRED_KEYWORD_PARAMETER_NODE
|
6210
|
-
|
6211
|
-
*
|
6399
|
+
* Type: ::PM_REQUIRED_KEYWORD_PARAMETER_NODE
|
6400
|
+
|
6401
|
+
* Flags (#pm_parameter_flags):
|
6402
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
6212
6403
|
*
|
6213
6404
|
* @extends pm_node_t
|
6214
6405
|
*/
|
@@ -6216,6 +6407,7 @@ typedef struct pm_required_keyword_parameter_node {
|
|
6216
6407
|
/** The embedded base node. */
|
6217
6408
|
pm_node_t base;
|
6218
6409
|
|
6410
|
+
|
6219
6411
|
/**
|
6220
6412
|
* RequiredKeywordParameterNode#name
|
6221
6413
|
*/
|
@@ -6236,9 +6428,10 @@ typedef struct pm_required_keyword_parameter_node {
|
|
6236
6428
|
* ^
|
6237
6429
|
* end
|
6238
6430
|
*
|
6239
|
-
* Type: PM_REQUIRED_PARAMETER_NODE
|
6240
|
-
|
6241
|
-
*
|
6431
|
+
* Type: ::PM_REQUIRED_PARAMETER_NODE
|
6432
|
+
|
6433
|
+
* Flags (#pm_parameter_flags):
|
6434
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
6242
6435
|
*
|
6243
6436
|
* @extends pm_node_t
|
6244
6437
|
*/
|
@@ -6246,6 +6439,7 @@ typedef struct pm_required_parameter_node {
|
|
6246
6439
|
/** The embedded base node. */
|
6247
6440
|
pm_node_t base;
|
6248
6441
|
|
6442
|
+
|
6249
6443
|
/**
|
6250
6444
|
* RequiredParameterNode#name
|
6251
6445
|
*/
|
@@ -6260,7 +6454,7 @@ typedef struct pm_required_parameter_node {
|
|
6260
6454
|
* foo rescue nil
|
6261
6455
|
* ^^^^^^^^^^^^^^
|
6262
6456
|
*
|
6263
|
-
* Type: PM_RESCUE_MODIFIER_NODE
|
6457
|
+
* Type: ::PM_RESCUE_MODIFIER_NODE
|
6264
6458
|
*
|
6265
6459
|
* @extends pm_node_t
|
6266
6460
|
*/
|
@@ -6268,6 +6462,7 @@ typedef struct pm_rescue_modifier_node {
|
|
6268
6462
|
/** The embedded base node. */
|
6269
6463
|
pm_node_t base;
|
6270
6464
|
|
6465
|
+
|
6271
6466
|
/**
|
6272
6467
|
* RescueModifierNode#expression
|
6273
6468
|
*/
|
@@ -6297,7 +6492,7 @@ typedef struct pm_rescue_modifier_node {
|
|
6297
6492
|
*
|
6298
6493
|
* `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `exception` field.
|
6299
6494
|
*
|
6300
|
-
* Type: PM_RESCUE_NODE
|
6495
|
+
* Type: ::PM_RESCUE_NODE
|
6301
6496
|
*
|
6302
6497
|
* @extends pm_node_t
|
6303
6498
|
*/
|
@@ -6305,6 +6500,7 @@ typedef struct pm_rescue_node {
|
|
6305
6500
|
/** The embedded base node. */
|
6306
6501
|
pm_node_t base;
|
6307
6502
|
|
6503
|
+
|
6308
6504
|
/**
|
6309
6505
|
* RescueNode#keyword_loc
|
6310
6506
|
*/
|
@@ -6345,9 +6541,10 @@ typedef struct pm_rescue_node {
|
|
6345
6541
|
* ^^
|
6346
6542
|
* end
|
6347
6543
|
*
|
6348
|
-
* Type: PM_REST_PARAMETER_NODE
|
6349
|
-
|
6350
|
-
*
|
6544
|
+
* Type: ::PM_REST_PARAMETER_NODE
|
6545
|
+
|
6546
|
+
* Flags (#pm_parameter_flags):
|
6547
|
+
* * ::PM_PARAMETER_FLAGS_REPEATED_PARAMETER
|
6351
6548
|
*
|
6352
6549
|
* @extends pm_node_t
|
6353
6550
|
*/
|
@@ -6355,6 +6552,7 @@ typedef struct pm_rest_parameter_node {
|
|
6355
6552
|
/** The embedded base node. */
|
6356
6553
|
pm_node_t base;
|
6357
6554
|
|
6555
|
+
|
6358
6556
|
/**
|
6359
6557
|
* RestParameterNode#name
|
6360
6558
|
*/
|
@@ -6379,13 +6577,14 @@ typedef struct pm_rest_parameter_node {
|
|
6379
6577
|
* retry
|
6380
6578
|
* ^^^^^
|
6381
6579
|
*
|
6382
|
-
* Type: PM_RETRY_NODE
|
6580
|
+
* Type: ::PM_RETRY_NODE
|
6383
6581
|
*
|
6384
6582
|
* @extends pm_node_t
|
6385
6583
|
*/
|
6386
6584
|
typedef struct pm_retry_node {
|
6387
6585
|
/** The embedded base node. */
|
6388
6586
|
pm_node_t base;
|
6587
|
+
|
6389
6588
|
} pm_retry_node_t;
|
6390
6589
|
|
6391
6590
|
/**
|
@@ -6396,7 +6595,7 @@ typedef struct pm_retry_node {
|
|
6396
6595
|
* return 1
|
6397
6596
|
* ^^^^^^^^
|
6398
6597
|
*
|
6399
|
-
* Type: PM_RETURN_NODE
|
6598
|
+
* Type: ::PM_RETURN_NODE
|
6400
6599
|
*
|
6401
6600
|
* @extends pm_node_t
|
6402
6601
|
*/
|
@@ -6404,6 +6603,7 @@ typedef struct pm_return_node {
|
|
6404
6603
|
/** The embedded base node. */
|
6405
6604
|
pm_node_t base;
|
6406
6605
|
|
6606
|
+
|
6407
6607
|
/**
|
6408
6608
|
* ReturnNode#keyword_loc
|
6409
6609
|
*/
|
@@ -6423,13 +6623,14 @@ typedef struct pm_return_node {
|
|
6423
6623
|
* self
|
6424
6624
|
* ^^^^
|
6425
6625
|
*
|
6426
|
-
* Type: PM_SELF_NODE
|
6626
|
+
* Type: ::PM_SELF_NODE
|
6427
6627
|
*
|
6428
6628
|
* @extends pm_node_t
|
6429
6629
|
*/
|
6430
6630
|
typedef struct pm_self_node {
|
6431
6631
|
/** The embedded base node. */
|
6432
6632
|
pm_node_t base;
|
6633
|
+
|
6433
6634
|
} pm_self_node_t;
|
6434
6635
|
|
6435
6636
|
/**
|
@@ -6441,11 +6642,12 @@ typedef struct pm_self_node {
|
|
6441
6642
|
* C = { a: 1 }
|
6442
6643
|
* ^^^^^^^^^^^^
|
6443
6644
|
*
|
6444
|
-
* Type: PM_SHAREABLE_CONSTANT_NODE
|
6445
|
-
|
6446
|
-
*
|
6447
|
-
*
|
6448
|
-
*
|
6645
|
+
* Type: ::PM_SHAREABLE_CONSTANT_NODE
|
6646
|
+
|
6647
|
+
* Flags (#pm_shareable_constant_node_flags):
|
6648
|
+
* * ::PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL
|
6649
|
+
* * ::PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING
|
6650
|
+
* * ::PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY
|
6449
6651
|
*
|
6450
6652
|
* @extends pm_node_t
|
6451
6653
|
*/
|
@@ -6453,6 +6655,7 @@ typedef struct pm_shareable_constant_node {
|
|
6453
6655
|
/** The embedded base node. */
|
6454
6656
|
pm_node_t base;
|
6455
6657
|
|
6658
|
+
|
6456
6659
|
/**
|
6457
6660
|
* ShareableConstantNode#write
|
6458
6661
|
*
|
@@ -6469,7 +6672,7 @@ typedef struct pm_shareable_constant_node {
|
|
6469
6672
|
* class << self end
|
6470
6673
|
* ^^^^^^^^^^^^^^^^^
|
6471
6674
|
*
|
6472
|
-
* Type: PM_SINGLETON_CLASS_NODE
|
6675
|
+
* Type: ::PM_SINGLETON_CLASS_NODE
|
6473
6676
|
*
|
6474
6677
|
* @extends pm_node_t
|
6475
6678
|
*/
|
@@ -6477,6 +6680,7 @@ typedef struct pm_singleton_class_node {
|
|
6477
6680
|
/** The embedded base node. */
|
6478
6681
|
pm_node_t base;
|
6479
6682
|
|
6683
|
+
|
6480
6684
|
/**
|
6481
6685
|
* SingletonClassNode#locals
|
6482
6686
|
*/
|
@@ -6516,13 +6720,14 @@ typedef struct pm_singleton_class_node {
|
|
6516
6720
|
* __ENCODING__
|
6517
6721
|
* ^^^^^^^^^^^^
|
6518
6722
|
*
|
6519
|
-
* Type: PM_SOURCE_ENCODING_NODE
|
6723
|
+
* Type: ::PM_SOURCE_ENCODING_NODE
|
6520
6724
|
*
|
6521
6725
|
* @extends pm_node_t
|
6522
6726
|
*/
|
6523
6727
|
typedef struct pm_source_encoding_node {
|
6524
6728
|
/** The embedded base node. */
|
6525
6729
|
pm_node_t base;
|
6730
|
+
|
6526
6731
|
} pm_source_encoding_node_t;
|
6527
6732
|
|
6528
6733
|
/**
|
@@ -6533,12 +6738,13 @@ typedef struct pm_source_encoding_node {
|
|
6533
6738
|
* __FILE__
|
6534
6739
|
* ^^^^^^^^
|
6535
6740
|
*
|
6536
|
-
* Type: PM_SOURCE_FILE_NODE
|
6537
|
-
|
6538
|
-
*
|
6539
|
-
*
|
6540
|
-
*
|
6541
|
-
*
|
6741
|
+
* Type: ::PM_SOURCE_FILE_NODE
|
6742
|
+
|
6743
|
+
* Flags (#pm_string_flags):
|
6744
|
+
* * ::PM_STRING_FLAGS_FORCED_UTF8_ENCODING
|
6745
|
+
* * ::PM_STRING_FLAGS_FORCED_BINARY_ENCODING
|
6746
|
+
* * ::PM_STRING_FLAGS_FROZEN
|
6747
|
+
* * ::PM_STRING_FLAGS_MUTABLE
|
6542
6748
|
*
|
6543
6749
|
* @extends pm_node_t
|
6544
6750
|
*/
|
@@ -6546,6 +6752,7 @@ typedef struct pm_source_file_node {
|
|
6546
6752
|
/** The embedded base node. */
|
6547
6753
|
pm_node_t base;
|
6548
6754
|
|
6755
|
+
|
6549
6756
|
/**
|
6550
6757
|
* SourceFileNode#filepath
|
6551
6758
|
*
|
@@ -6562,13 +6769,14 @@ typedef struct pm_source_file_node {
|
|
6562
6769
|
* __LINE__
|
6563
6770
|
* ^^^^^^^^
|
6564
6771
|
*
|
6565
|
-
* Type: PM_SOURCE_LINE_NODE
|
6772
|
+
* Type: ::PM_SOURCE_LINE_NODE
|
6566
6773
|
*
|
6567
6774
|
* @extends pm_node_t
|
6568
6775
|
*/
|
6569
6776
|
typedef struct pm_source_line_node {
|
6570
6777
|
/** The embedded base node. */
|
6571
6778
|
pm_node_t base;
|
6779
|
+
|
6572
6780
|
} pm_source_line_node_t;
|
6573
6781
|
|
6574
6782
|
/**
|
@@ -6579,7 +6787,7 @@ typedef struct pm_source_line_node {
|
|
6579
6787
|
* [*a]
|
6580
6788
|
* ^^
|
6581
6789
|
*
|
6582
|
-
* Type: PM_SPLAT_NODE
|
6790
|
+
* Type: ::PM_SPLAT_NODE
|
6583
6791
|
*
|
6584
6792
|
* @extends pm_node_t
|
6585
6793
|
*/
|
@@ -6587,6 +6795,7 @@ typedef struct pm_splat_node {
|
|
6587
6795
|
/** The embedded base node. */
|
6588
6796
|
pm_node_t base;
|
6589
6797
|
|
6798
|
+
|
6590
6799
|
/**
|
6591
6800
|
* SplatNode#operator_loc
|
6592
6801
|
*/
|
@@ -6606,7 +6815,7 @@ typedef struct pm_splat_node {
|
|
6606
6815
|
* foo; bar; baz
|
6607
6816
|
* ^^^^^^^^^^^^^
|
6608
6817
|
*
|
6609
|
-
* Type: PM_STATEMENTS_NODE
|
6818
|
+
* Type: ::PM_STATEMENTS_NODE
|
6610
6819
|
*
|
6611
6820
|
* @extends pm_node_t
|
6612
6821
|
*/
|
@@ -6614,6 +6823,7 @@ typedef struct pm_statements_node {
|
|
6614
6823
|
/** The embedded base node. */
|
6615
6824
|
pm_node_t base;
|
6616
6825
|
|
6826
|
+
|
6617
6827
|
/**
|
6618
6828
|
* StatementsNode#body
|
6619
6829
|
*/
|
@@ -6634,12 +6844,13 @@ typedef struct pm_statements_node {
|
|
6634
6844
|
* "foo #{bar} baz"
|
6635
6845
|
* ^^^^ ^^^^
|
6636
6846
|
*
|
6637
|
-
* Type: PM_STRING_NODE
|
6638
|
-
|
6639
|
-
*
|
6640
|
-
*
|
6641
|
-
*
|
6642
|
-
*
|
6847
|
+
* Type: ::PM_STRING_NODE
|
6848
|
+
|
6849
|
+
* Flags (#pm_string_flags):
|
6850
|
+
* * ::PM_STRING_FLAGS_FORCED_UTF8_ENCODING
|
6851
|
+
* * ::PM_STRING_FLAGS_FORCED_BINARY_ENCODING
|
6852
|
+
* * ::PM_STRING_FLAGS_FROZEN
|
6853
|
+
* * ::PM_STRING_FLAGS_MUTABLE
|
6643
6854
|
*
|
6644
6855
|
* @extends pm_node_t
|
6645
6856
|
*/
|
@@ -6647,6 +6858,7 @@ typedef struct pm_string_node {
|
|
6647
6858
|
/** The embedded base node. */
|
6648
6859
|
pm_node_t base;
|
6649
6860
|
|
6861
|
+
|
6650
6862
|
/**
|
6651
6863
|
* StringNode#opening_loc
|
6652
6864
|
*/
|
@@ -6679,7 +6891,7 @@ typedef struct pm_string_node {
|
|
6679
6891
|
* super foo, bar
|
6680
6892
|
* ^^^^^^^^^^^^^^
|
6681
6893
|
*
|
6682
|
-
* Type: PM_SUPER_NODE
|
6894
|
+
* Type: ::PM_SUPER_NODE
|
6683
6895
|
*
|
6684
6896
|
* @extends pm_node_t
|
6685
6897
|
*/
|
@@ -6687,6 +6899,7 @@ typedef struct pm_super_node {
|
|
6687
6899
|
/** The embedded base node. */
|
6688
6900
|
pm_node_t base;
|
6689
6901
|
|
6902
|
+
|
6690
6903
|
/**
|
6691
6904
|
* SuperNode#keyword_loc
|
6692
6905
|
*/
|
@@ -6724,11 +6937,12 @@ typedef struct pm_super_node {
|
|
6724
6937
|
* %i[foo]
|
6725
6938
|
* ^^^
|
6726
6939
|
*
|
6727
|
-
* Type: PM_SYMBOL_NODE
|
6728
|
-
|
6729
|
-
*
|
6730
|
-
*
|
6731
|
-
*
|
6940
|
+
* Type: ::PM_SYMBOL_NODE
|
6941
|
+
|
6942
|
+
* Flags (#pm_symbol_flags):
|
6943
|
+
* * ::PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
|
6944
|
+
* * ::PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
|
6945
|
+
* * ::PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
|
6732
6946
|
*
|
6733
6947
|
* @extends pm_node_t
|
6734
6948
|
*/
|
@@ -6736,6 +6950,7 @@ typedef struct pm_symbol_node {
|
|
6736
6950
|
/** The embedded base node. */
|
6737
6951
|
pm_node_t base;
|
6738
6952
|
|
6953
|
+
|
6739
6954
|
/**
|
6740
6955
|
* SymbolNode#opening_loc
|
6741
6956
|
*/
|
@@ -6765,13 +6980,14 @@ typedef struct pm_symbol_node {
|
|
6765
6980
|
* true
|
6766
6981
|
* ^^^^
|
6767
6982
|
*
|
6768
|
-
* Type: PM_TRUE_NODE
|
6983
|
+
* Type: ::PM_TRUE_NODE
|
6769
6984
|
*
|
6770
6985
|
* @extends pm_node_t
|
6771
6986
|
*/
|
6772
6987
|
typedef struct pm_true_node {
|
6773
6988
|
/** The embedded base node. */
|
6774
6989
|
pm_node_t base;
|
6990
|
+
|
6775
6991
|
} pm_true_node_t;
|
6776
6992
|
|
6777
6993
|
/**
|
@@ -6782,7 +6998,7 @@ typedef struct pm_true_node {
|
|
6782
6998
|
* undef :foo, :bar, :baz
|
6783
6999
|
* ^^^^^^^^^^^^^^^^^^^^^^
|
6784
7000
|
*
|
6785
|
-
* Type: PM_UNDEF_NODE
|
7001
|
+
* Type: ::PM_UNDEF_NODE
|
6786
7002
|
*
|
6787
7003
|
* @extends pm_node_t
|
6788
7004
|
*/
|
@@ -6790,6 +7006,7 @@ typedef struct pm_undef_node {
|
|
6790
7006
|
/** The embedded base node. */
|
6791
7007
|
pm_node_t base;
|
6792
7008
|
|
7009
|
+
|
6793
7010
|
/**
|
6794
7011
|
* UndefNode#names
|
6795
7012
|
*/
|
@@ -6812,7 +7029,7 @@ typedef struct pm_undef_node {
|
|
6812
7029
|
* unless foo then bar end
|
6813
7030
|
* ^^^^^^^^^^^^^^^^^^^^^^^
|
6814
7031
|
*
|
6815
|
-
* Type: PM_UNLESS_NODE
|
7032
|
+
* Type: ::PM_UNLESS_NODE
|
6816
7033
|
*
|
6817
7034
|
* @extends pm_node_t
|
6818
7035
|
*/
|
@@ -6820,6 +7037,7 @@ typedef struct pm_unless_node {
|
|
6820
7037
|
/** The embedded base node. */
|
6821
7038
|
pm_node_t base;
|
6822
7039
|
|
7040
|
+
|
6823
7041
|
/**
|
6824
7042
|
* UnlessNode#keyword_loc
|
6825
7043
|
*
|
@@ -6899,9 +7117,10 @@ typedef struct pm_unless_node {
|
|
6899
7117
|
* until foo do bar end
|
6900
7118
|
* ^^^^^^^^^^^^^^^^^^^^
|
6901
7119
|
*
|
6902
|
-
* Type: PM_UNTIL_NODE
|
6903
|
-
|
6904
|
-
*
|
7120
|
+
* Type: ::PM_UNTIL_NODE
|
7121
|
+
|
7122
|
+
* Flags (#pm_loop_flags):
|
7123
|
+
* * ::PM_LOOP_FLAGS_BEGIN_MODIFIER
|
6905
7124
|
*
|
6906
7125
|
* @extends pm_node_t
|
6907
7126
|
*/
|
@@ -6909,6 +7128,7 @@ typedef struct pm_until_node {
|
|
6909
7128
|
/** The embedded base node. */
|
6910
7129
|
pm_node_t base;
|
6911
7130
|
|
7131
|
+
|
6912
7132
|
/**
|
6913
7133
|
* UntilNode#keyword_loc
|
6914
7134
|
*/
|
@@ -6940,7 +7160,7 @@ typedef struct pm_until_node {
|
|
6940
7160
|
* ^^^^^^^^^
|
6941
7161
|
* end
|
6942
7162
|
*
|
6943
|
-
* Type: PM_WHEN_NODE
|
7163
|
+
* Type: ::PM_WHEN_NODE
|
6944
7164
|
*
|
6945
7165
|
* @extends pm_node_t
|
6946
7166
|
*/
|
@@ -6948,6 +7168,7 @@ typedef struct pm_when_node {
|
|
6948
7168
|
/** The embedded base node. */
|
6949
7169
|
pm_node_t base;
|
6950
7170
|
|
7171
|
+
|
6951
7172
|
/**
|
6952
7173
|
* WhenNode#keyword_loc
|
6953
7174
|
*/
|
@@ -6980,9 +7201,10 @@ typedef struct pm_when_node {
|
|
6980
7201
|
* while foo do bar end
|
6981
7202
|
* ^^^^^^^^^^^^^^^^^^^^
|
6982
7203
|
*
|
6983
|
-
* Type: PM_WHILE_NODE
|
6984
|
-
|
6985
|
-
*
|
7204
|
+
* Type: ::PM_WHILE_NODE
|
7205
|
+
|
7206
|
+
* Flags (#pm_loop_flags):
|
7207
|
+
* * ::PM_LOOP_FLAGS_BEGIN_MODIFIER
|
6986
7208
|
*
|
6987
7209
|
* @extends pm_node_t
|
6988
7210
|
*/
|
@@ -6990,6 +7212,7 @@ typedef struct pm_while_node {
|
|
6990
7212
|
/** The embedded base node. */
|
6991
7213
|
pm_node_t base;
|
6992
7214
|
|
7215
|
+
|
6993
7216
|
/**
|
6994
7217
|
* WhileNode#keyword_loc
|
6995
7218
|
*/
|
@@ -7019,10 +7242,11 @@ typedef struct pm_while_node {
|
|
7019
7242
|
* `foo`
|
7020
7243
|
* ^^^^^
|
7021
7244
|
*
|
7022
|
-
* Type: PM_X_STRING_NODE
|
7023
|
-
|
7024
|
-
*
|
7025
|
-
*
|
7245
|
+
* Type: ::PM_X_STRING_NODE
|
7246
|
+
|
7247
|
+
* Flags (#pm_encoding_flags):
|
7248
|
+
* * ::PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
|
7249
|
+
* * ::PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
|
7026
7250
|
*
|
7027
7251
|
* @extends pm_node_t
|
7028
7252
|
*/
|
@@ -7030,6 +7254,7 @@ typedef struct pm_x_string_node {
|
|
7030
7254
|
/** The embedded base node. */
|
7031
7255
|
pm_node_t base;
|
7032
7256
|
|
7257
|
+
|
7033
7258
|
/**
|
7034
7259
|
* XStringNode#opening_loc
|
7035
7260
|
*/
|
@@ -7059,7 +7284,7 @@ typedef struct pm_x_string_node {
|
|
7059
7284
|
* yield 1
|
7060
7285
|
* ^^^^^^^
|
7061
7286
|
*
|
7062
|
-
* Type: PM_YIELD_NODE
|
7287
|
+
* Type: ::PM_YIELD_NODE
|
7063
7288
|
*
|
7064
7289
|
* @extends pm_node_t
|
7065
7290
|
*/
|
@@ -7067,6 +7292,7 @@ typedef struct pm_yield_node {
|
|
7067
7292
|
/** The embedded base node. */
|
7068
7293
|
pm_node_t base;
|
7069
7294
|
|
7295
|
+
|
7070
7296
|
/**
|
7071
7297
|
* YieldNode#keyword_loc
|
7072
7298
|
*/
|
@@ -7092,14 +7318,20 @@ typedef struct pm_yield_node {
|
|
7092
7318
|
* Flags for arguments nodes.
|
7093
7319
|
*/
|
7094
7320
|
typedef enum pm_arguments_node_flags {
|
7095
|
-
/** if arguments contain
|
7096
|
-
|
7321
|
+
/** if the arguments contain forwarding */
|
7322
|
+
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_FORWARDING = 4,
|
7323
|
+
|
7324
|
+
/** if the arguments contain keywords */
|
7325
|
+
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS = 8,
|
7326
|
+
|
7327
|
+
/** if the arguments contain a keyword splat */
|
7328
|
+
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT = 16,
|
7097
7329
|
|
7098
|
-
/** if arguments contain
|
7099
|
-
|
7330
|
+
/** if the arguments contain a splat */
|
7331
|
+
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT = 32,
|
7100
7332
|
|
7101
|
-
/** if arguments contain
|
7102
|
-
|
7333
|
+
/** if the arguments contain multiple splats */
|
7334
|
+
PM_ARGUMENTS_NODE_FLAGS_CONTAINS_MULTIPLE_SPLATS = 64,
|
7103
7335
|
} pm_arguments_node_flags_t;
|
7104
7336
|
|
7105
7337
|
/**
|
@@ -7287,6 +7519,6 @@ typedef enum pm_symbol_flags {
|
|
7287
7519
|
* to specify that through the environment. It will never be true except for in
|
7288
7520
|
* those build systems.
|
7289
7521
|
*/
|
7290
|
-
#define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS
|
7522
|
+
#define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS 0
|
7291
7523
|
|
7292
7524
|
#endif
|