prism 1.0.0 → 1.1.0

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