prism 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|