prism 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-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
- * Flags:
1269
- * PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS
1270
- * PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT
1271
- * PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT
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
- * Flags:
1295
- * PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT
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
- * Flags:
1601
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
1668
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
1780
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
1781
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
1782
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
1783
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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
- * Flags:
1852
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
1853
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
1854
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
1855
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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
- * Flags:
1925
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
1926
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
1927
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
1928
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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
- * Flags:
1987
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
1988
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
1989
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
1990
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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
- * Flags:
2052
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
2053
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
2054
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
2055
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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 pm_node *target;
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 pm_node *left;
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
- * Flags:
3297
- * PM_RANGE_FLAGS_EXCLUDE_END
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
- * Flags:
4049
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
4050
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
4051
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
4052
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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 pm_node *block;
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
- * Flags:
4111
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
4112
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
4113
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
4114
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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 pm_node *block;
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
- * Flags:
4178
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
4179
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
4180
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
4181
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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 pm_node *block;
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
- * Flags:
4248
- * PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
4249
- * PM_CALL_NODE_FLAGS_VARIABLE_CALL
4250
- * PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
4251
- * PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
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 pm_node *block;
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
- * Flags:
4522
- * PM_INTEGER_BASE_FLAGS_BINARY
4523
- * PM_INTEGER_BASE_FLAGS_DECIMAL
4524
- * PM_INTEGER_BASE_FLAGS_OCTAL
4525
- * PM_INTEGER_BASE_FLAGS_HEXADECIMAL
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
- * Flags:
4551
- * PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
4552
- * PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
4553
- * PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
4554
- * PM_REGULAR_EXPRESSION_FLAGS_ONCE
4555
- * PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
4556
- * PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
4557
- * PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
4558
- * PM_REGULAR_EXPRESSION_FLAGS_UTF_8
4559
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
4560
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
4561
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
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
- * Flags:
4595
- * PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
4596
- * PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
4597
- * PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
4598
- * PM_REGULAR_EXPRESSION_FLAGS_ONCE
4599
- * PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
4600
- * PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
4601
- * PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
4602
- * PM_REGULAR_EXPRESSION_FLAGS_UTF_8
4603
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
4604
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
4605
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
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
- * Flags:
4639
- * PM_INTERPOLATED_STRING_NODE_FLAGS_FROZEN
4640
- * PM_INTERPOLATED_STRING_NODE_FLAGS_MUTABLE
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
- * Flags:
4772
- * PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS
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
- * Flags:
4797
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
5159
- * PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
5160
- * PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
5161
- * PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
5162
- * PM_REGULAR_EXPRESSION_FLAGS_ONCE
5163
- * PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
5164
- * PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
5165
- * PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
5166
- * PM_REGULAR_EXPRESSION_FLAGS_UTF_8
5167
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
5168
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
5169
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
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, the field will containt an `ImplicitRestNode`
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, the field will containt an `ImplicitRestNode`
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
- * Flags:
5674
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
5709
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-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
- * Flags:
6051
- * PM_RANGE_FLAGS_EXCLUDE_END
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
- * Flags:
6104
- * PM_INTEGER_BASE_FLAGS_BINARY
6105
- * PM_INTEGER_BASE_FLAGS_DECIMAL
6106
- * PM_INTEGER_BASE_FLAGS_OCTAL
6107
- * PM_INTEGER_BASE_FLAGS_HEXADECIMAL
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
- * Flags:
6161
- * PM_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
6162
- * PM_REGULAR_EXPRESSION_FLAGS_EXTENDED
6163
- * PM_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
6164
- * PM_REGULAR_EXPRESSION_FLAGS_ONCE
6165
- * PM_REGULAR_EXPRESSION_FLAGS_EUC_JP
6166
- * PM_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
6167
- * PM_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
6168
- * PM_REGULAR_EXPRESSION_FLAGS_UTF_8
6169
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_UTF8_ENCODING
6170
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING
6171
- * PM_REGULAR_EXPRESSION_FLAGS_FORCED_US_ASCII_ENCODING
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
- * Flags:
6211
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
6241
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
6350
- * PM_PARAMETER_FLAGS_REPEATED_PARAMETER
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
- * Flags:
6446
- * PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL
6447
- * PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING
6448
- * PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY
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
- * Flags:
6538
- * PM_STRING_FLAGS_FORCED_UTF8_ENCODING
6539
- * PM_STRING_FLAGS_FORCED_BINARY_ENCODING
6540
- * PM_STRING_FLAGS_FROZEN
6541
- * PM_STRING_FLAGS_MUTABLE
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
- * Flags:
6639
- * PM_STRING_FLAGS_FORCED_UTF8_ENCODING
6640
- * PM_STRING_FLAGS_FORCED_BINARY_ENCODING
6641
- * PM_STRING_FLAGS_FROZEN
6642
- * PM_STRING_FLAGS_MUTABLE
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
- * Flags:
6729
- * PM_SYMBOL_FLAGS_FORCED_UTF8_ENCODING
6730
- * PM_SYMBOL_FLAGS_FORCED_BINARY_ENCODING
6731
- * PM_SYMBOL_FLAGS_FORCED_US_ASCII_ENCODING
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
- * Flags:
6904
- * PM_LOOP_FLAGS_BEGIN_MODIFIER
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
- * Flags:
6985
- * PM_LOOP_FLAGS_BEGIN_MODIFIER
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
- * Flags:
7024
- * PM_ENCODING_FLAGS_FORCED_UTF8_ENCODING
7025
- * PM_ENCODING_FLAGS_FORCED_BINARY_ENCODING
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 keywords */
7096
- PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORDS = 4,
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 keyword splat */
7099
- PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT = 8,
7330
+ /** if the arguments contain a splat */
7331
+ PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT = 32,
7100
7332
 
7101
- /** if arguments contain splat */
7102
- PM_ARGUMENTS_NODE_FLAGS_CONTAINS_SPLAT = 16,
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 false
7522
+ #define PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS 0
7291
7523
 
7292
7524
  #endif