prism 0.27.0 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +45 -1
- data/config.yml +68 -44
- data/docs/configuration.md +1 -0
- data/ext/prism/api_node.c +854 -847
- data/ext/prism/extconf.rb +27 -23
- data/ext/prism/extension.c +5 -3
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +70 -48
- data/include/prism/diagnostic.h +23 -6
- data/include/prism/options.h +2 -2
- data/include/prism/parser.h +10 -0
- data/include/prism/static_literals.h +8 -6
- data/include/prism/version.h +2 -2
- data/lib/prism/desugar_compiler.rb +4 -4
- data/lib/prism/dot_visitor.rb +54 -38
- data/lib/prism/dsl.rb +24 -24
- data/lib/prism/ffi.rb +4 -4
- data/lib/prism/inspect_visitor.rb +2156 -0
- data/lib/prism/lex_compat.rb +1 -1
- data/lib/prism/mutation_compiler.rb +2 -2
- data/lib/prism/node.rb +737 -1863
- data/lib/prism/node_ext.rb +176 -5
- data/lib/prism/parse_result/comments.rb +1 -1
- data/lib/prism/parse_result/newlines.rb +1 -1
- data/lib/prism/parse_result.rb +78 -0
- data/lib/prism/pattern.rb +12 -6
- data/lib/prism/polyfill/byteindex.rb +13 -0
- data/lib/prism/polyfill/unpack1.rb +14 -0
- data/lib/prism/reflection.rb +20 -20
- data/lib/prism/serialize.rb +32 -15
- data/lib/prism/translation/parser/compiler.rb +156 -26
- data/lib/prism/translation/parser.rb +7 -7
- data/lib/prism/translation/ripper.rb +29 -25
- data/lib/prism/translation/ruby_parser.rb +13 -13
- data/lib/prism.rb +2 -1
- data/prism.gemspec +37 -38
- data/rbi/prism/compiler.rbi +3 -5
- data/rbi/prism/inspect_visitor.rbi +12 -0
- data/rbi/prism/node.rbi +405 -370
- data/rbi/prism/node_ext.rbi +5 -0
- data/rbi/prism/parse_result.rbi +23 -0
- data/rbi/prism/translation/ripper.rbi +1 -11
- data/sig/prism/dsl.rbs +12 -12
- data/sig/prism/inspect_visitor.rbs +22 -0
- data/sig/prism/lex_compat.rbs +10 -0
- data/sig/prism/node.rbs +108 -91
- data/sig/prism/node_ext.rbs +4 -0
- data/sig/prism/parse_result.rbs +12 -0
- data/src/diagnostic.c +66 -33
- data/src/node.c +89 -64
- data/src/options.c +2 -2
- data/src/prettyprint.c +109 -66
- data/src/prism.c +862 -317
- data/src/serialize.c +21 -18
- data/src/static_literals.c +120 -34
- data/src/token_type.c +6 -6
- metadata +8 -9
- data/lib/prism/node_inspector.rb +0 -68
- data/lib/prism/polyfill/string.rb +0 -12
- data/rbi/prism/desugar_compiler.rbi +0 -5
- data/rbi/prism/mutation_compiler.rbi +0 -5
- data/rbi/prism/translation/parser/compiler.rbi +0 -13
- data/rbi/prism/translation/ripper/ripper_compiler.rbi +0 -5
- data/rbi/prism/translation/ruby_parser.rbi +0 -11
@@ -1181,8 +1181,8 @@ module Prism
|
|
1181
1181
|
bounds(node.location)
|
1182
1182
|
target = on_field(receiver, call_operator, message)
|
1183
1183
|
|
1184
|
-
bounds(node.
|
1185
|
-
operator = on_op("#{node.
|
1184
|
+
bounds(node.binary_operator_loc)
|
1185
|
+
operator = on_op("#{node.binary_operator}=")
|
1186
1186
|
value = visit_write_value(node.value)
|
1187
1187
|
|
1188
1188
|
bounds(node.location)
|
@@ -1339,8 +1339,8 @@ module Prism
|
|
1339
1339
|
bounds(node.name_loc)
|
1340
1340
|
target = on_var_field(on_cvar(node.name.to_s))
|
1341
1341
|
|
1342
|
-
bounds(node.
|
1343
|
-
operator = on_op("#{node.
|
1342
|
+
bounds(node.binary_operator_loc)
|
1343
|
+
operator = on_op("#{node.binary_operator}=")
|
1344
1344
|
value = visit_write_value(node.value)
|
1345
1345
|
|
1346
1346
|
bounds(node.location)
|
@@ -1409,8 +1409,8 @@ module Prism
|
|
1409
1409
|
bounds(node.name_loc)
|
1410
1410
|
target = on_var_field(on_const(node.name.to_s))
|
1411
1411
|
|
1412
|
-
bounds(node.
|
1413
|
-
operator = on_op("#{node.
|
1412
|
+
bounds(node.binary_operator_loc)
|
1413
|
+
operator = on_op("#{node.binary_operator}=")
|
1414
1414
|
value = visit_write_value(node.value)
|
1415
1415
|
|
1416
1416
|
bounds(node.location)
|
@@ -1456,16 +1456,16 @@ module Prism
|
|
1456
1456
|
# ^^^^^^^^
|
1457
1457
|
def visit_constant_path_node(node)
|
1458
1458
|
if node.parent.nil?
|
1459
|
-
bounds(node.
|
1460
|
-
child = on_const(node.
|
1459
|
+
bounds(node.name_loc)
|
1460
|
+
child = on_const(node.name.to_s)
|
1461
1461
|
|
1462
1462
|
bounds(node.location)
|
1463
1463
|
on_top_const_ref(child)
|
1464
1464
|
else
|
1465
1465
|
parent = visit(node.parent)
|
1466
1466
|
|
1467
|
-
bounds(node.
|
1468
|
-
child = on_const(node.
|
1467
|
+
bounds(node.name_loc)
|
1468
|
+
child = on_const(node.name.to_s)
|
1469
1469
|
|
1470
1470
|
bounds(node.location)
|
1471
1471
|
on_const_path_ref(parent, child)
|
@@ -1488,16 +1488,16 @@ module Prism
|
|
1488
1488
|
# Visit a constant path that is part of a write node.
|
1489
1489
|
private def visit_constant_path_write_node_target(node)
|
1490
1490
|
if node.parent.nil?
|
1491
|
-
bounds(node.
|
1492
|
-
child = on_const(node.
|
1491
|
+
bounds(node.name_loc)
|
1492
|
+
child = on_const(node.name.to_s)
|
1493
1493
|
|
1494
1494
|
bounds(node.location)
|
1495
1495
|
on_top_const_field(child)
|
1496
1496
|
else
|
1497
1497
|
parent = visit(node.parent)
|
1498
1498
|
|
1499
|
-
bounds(node.
|
1500
|
-
child = on_const(node.
|
1499
|
+
bounds(node.name_loc)
|
1500
|
+
child = on_const(node.name.to_s)
|
1501
1501
|
|
1502
1502
|
bounds(node.location)
|
1503
1503
|
on_const_path_field(parent, child)
|
@@ -1510,8 +1510,8 @@ module Prism
|
|
1510
1510
|
target = visit_constant_path_write_node_target(node.target)
|
1511
1511
|
value = visit(node.value)
|
1512
1512
|
|
1513
|
-
bounds(node.
|
1514
|
-
operator = on_op("#{node.
|
1513
|
+
bounds(node.binary_operator_loc)
|
1514
|
+
operator = on_op("#{node.binary_operator}=")
|
1515
1515
|
value = visit_write_value(node.value)
|
1516
1516
|
|
1517
1517
|
bounds(node.location)
|
@@ -1802,8 +1802,8 @@ module Prism
|
|
1802
1802
|
bounds(node.name_loc)
|
1803
1803
|
target = on_var_field(on_gvar(node.name.to_s))
|
1804
1804
|
|
1805
|
-
bounds(node.
|
1806
|
-
operator = on_op("#{node.
|
1805
|
+
bounds(node.binary_operator_loc)
|
1806
|
+
operator = on_op("#{node.binary_operator}=")
|
1807
1807
|
value = visit_write_value(node.value)
|
1808
1808
|
|
1809
1809
|
bounds(node.location)
|
@@ -1983,8 +1983,8 @@ module Prism
|
|
1983
1983
|
bounds(node.location)
|
1984
1984
|
target = on_aref_field(receiver, arguments)
|
1985
1985
|
|
1986
|
-
bounds(node.
|
1987
|
-
operator = on_op("#{node.
|
1986
|
+
bounds(node.binary_operator_loc)
|
1987
|
+
operator = on_op("#{node.binary_operator}=")
|
1988
1988
|
value = visit_write_value(node.value)
|
1989
1989
|
|
1990
1990
|
bounds(node.location)
|
@@ -2059,8 +2059,8 @@ module Prism
|
|
2059
2059
|
bounds(node.name_loc)
|
2060
2060
|
target = on_var_field(on_ivar(node.name.to_s))
|
2061
2061
|
|
2062
|
-
bounds(node.
|
2063
|
-
operator = on_op("#{node.
|
2062
|
+
bounds(node.binary_operator_loc)
|
2063
|
+
operator = on_op("#{node.binary_operator}=")
|
2064
2064
|
value = visit_write_value(node.value)
|
2065
2065
|
|
2066
2066
|
bounds(node.location)
|
@@ -2337,8 +2337,8 @@ module Prism
|
|
2337
2337
|
bounds(node.name_loc)
|
2338
2338
|
target = on_var_field(on_ident(node.name_loc.slice))
|
2339
2339
|
|
2340
|
-
bounds(node.
|
2341
|
-
operator = on_op("#{node.
|
2340
|
+
bounds(node.binary_operator_loc)
|
2341
|
+
operator = on_op("#{node.binary_operator}=")
|
2342
2342
|
value = visit_write_value(node.value)
|
2343
2343
|
|
2344
2344
|
bounds(node.location)
|
@@ -3267,7 +3267,11 @@ module Prism
|
|
3267
3267
|
|
3268
3268
|
# Lazily initialize the parse result.
|
3269
3269
|
def result
|
3270
|
-
@result ||=
|
3270
|
+
@result ||=
|
3271
|
+
begin
|
3272
|
+
scopes = RUBY_VERSION >= "3.3.0" ? [] : [[]]
|
3273
|
+
Prism.parse(source, scopes: scopes)
|
3274
|
+
end
|
3271
3275
|
end
|
3272
3276
|
|
3273
3277
|
##########################################################################
|
@@ -271,9 +271,9 @@ module Prism
|
|
271
271
|
# ^^^^^^^^^^^^^^^
|
272
272
|
def visit_call_operator_write_node(node)
|
273
273
|
if op_asgn?(node)
|
274
|
-
s(node, op_asgn_type(node, :op_asgn), visit(node.receiver), visit_write_value(node.value), node.read_name, node.
|
274
|
+
s(node, op_asgn_type(node, :op_asgn), visit(node.receiver), visit_write_value(node.value), node.read_name, node.binary_operator)
|
275
275
|
else
|
276
|
-
s(node, op_asgn_type(node, :op_asgn2), visit(node.receiver), node.write_name, node.
|
276
|
+
s(node, op_asgn_type(node, :op_asgn2), visit(node.receiver), node.write_name, node.binary_operator, visit_write_value(node.value))
|
277
277
|
end
|
278
278
|
end
|
279
279
|
|
@@ -372,7 +372,7 @@ module Prism
|
|
372
372
|
# @@foo += bar
|
373
373
|
# ^^^^^^^^^^^^
|
374
374
|
def visit_class_variable_operator_write_node(node)
|
375
|
-
s(node, class_variable_write_type, node.name, s(node, :call, s(node, :cvar, node.name), node.
|
375
|
+
s(node, class_variable_write_type, node.name, s(node, :call, s(node, :cvar, node.name), node.binary_operator, visit_write_value(node.value)))
|
376
376
|
end
|
377
377
|
|
378
378
|
# @@foo &&= bar
|
@@ -417,7 +417,7 @@ module Prism
|
|
417
417
|
# Foo += bar
|
418
418
|
# ^^^^^^^^^^^
|
419
419
|
def visit_constant_operator_write_node(node)
|
420
|
-
s(node, :cdecl, node.name, s(node, :call, s(node, :const, node.name), node.
|
420
|
+
s(node, :cdecl, node.name, s(node, :call, s(node, :const, node.name), node.binary_operator, visit_write_value(node.value)))
|
421
421
|
end
|
422
422
|
|
423
423
|
# Foo &&= bar
|
@@ -442,9 +442,9 @@ module Prism
|
|
442
442
|
# ^^^^^^^^
|
443
443
|
def visit_constant_path_node(node)
|
444
444
|
if node.parent.nil?
|
445
|
-
s(node, :colon3, node.
|
445
|
+
s(node, :colon3, node.name)
|
446
446
|
else
|
447
|
-
s(node, :colon2, visit(node.parent), node.
|
447
|
+
s(node, :colon2, visit(node.parent), node.name)
|
448
448
|
end
|
449
449
|
end
|
450
450
|
|
@@ -460,7 +460,7 @@ module Prism
|
|
460
460
|
# Foo::Bar += baz
|
461
461
|
# ^^^^^^^^^^^^^^^
|
462
462
|
def visit_constant_path_operator_write_node(node)
|
463
|
-
s(node, :op_asgn, visit(node.target), node.
|
463
|
+
s(node, :op_asgn, visit(node.target), node.binary_operator, visit_write_value(node.value))
|
464
464
|
end
|
465
465
|
|
466
466
|
# Foo::Bar &&= baz
|
@@ -627,7 +627,7 @@ module Prism
|
|
627
627
|
# $foo += bar
|
628
628
|
# ^^^^^^^^^^^
|
629
629
|
def visit_global_variable_operator_write_node(node)
|
630
|
-
s(node, :gasgn, node.name, s(node, :call, s(node, :gvar, node.name), node.
|
630
|
+
s(node, :gasgn, node.name, s(node, :call, s(node, :gvar, node.name), node.binary_operator, visit(node.value)))
|
631
631
|
end
|
632
632
|
|
633
633
|
# $foo &&= bar
|
@@ -719,7 +719,7 @@ module Prism
|
|
719
719
|
arglist << visit(node.block) if !node.block.nil?
|
720
720
|
end
|
721
721
|
|
722
|
-
s(node, :op_asgn1, visit(node.receiver), arglist, node.
|
722
|
+
s(node, :op_asgn1, visit(node.receiver), arglist, node.binary_operator, visit_write_value(node.value))
|
723
723
|
end
|
724
724
|
|
725
725
|
# foo[bar] &&= baz
|
@@ -775,7 +775,7 @@ module Prism
|
|
775
775
|
# @foo += bar
|
776
776
|
# ^^^^^^^^^^^
|
777
777
|
def visit_instance_variable_operator_write_node(node)
|
778
|
-
s(node, :iasgn, node.name, s(node, :call, s(node, :ivar, node.name), node.
|
778
|
+
s(node, :iasgn, node.name, s(node, :call, s(node, :ivar, node.name), node.binary_operator, visit_write_value(node.value)))
|
779
779
|
end
|
780
780
|
|
781
781
|
# @foo &&= bar
|
@@ -960,7 +960,7 @@ module Prism
|
|
960
960
|
# foo += bar
|
961
961
|
# ^^^^^^^^^^
|
962
962
|
def visit_local_variable_operator_write_node(node)
|
963
|
-
s(node, :lasgn, node.name, s(node, :call, s(node, :lvar, node.name), node.
|
963
|
+
s(node, :lasgn, node.name, s(node, :call, s(node, :lvar, node.name), node.binary_operator, visit_write_value(node.value)))
|
964
964
|
end
|
965
965
|
|
966
966
|
# foo &&= bar
|
@@ -1536,13 +1536,13 @@ module Prism
|
|
1536
1536
|
# Parse the given source and translate it into the seattlerb/ruby_parser
|
1537
1537
|
# gem's Sexp format.
|
1538
1538
|
def parse(source, filepath = "(string)")
|
1539
|
-
translate(Prism.parse(source, filepath: filepath), filepath)
|
1539
|
+
translate(Prism.parse(source, filepath: filepath, scopes: [[]]), filepath)
|
1540
1540
|
end
|
1541
1541
|
|
1542
1542
|
# Parse the given file and translate it into the seattlerb/ruby_parser
|
1543
1543
|
# gem's Sexp format.
|
1544
1544
|
def parse_file(filepath)
|
1545
|
-
translate(Prism.parse_file(filepath), filepath)
|
1545
|
+
translate(Prism.parse_file(filepath, scopes: [[]]), filepath)
|
1546
1546
|
end
|
1547
1547
|
|
1548
1548
|
class << self
|
data/lib/prism.rb
CHANGED
@@ -18,10 +18,10 @@ module Prism
|
|
18
18
|
autoload :Dispatcher, "prism/dispatcher"
|
19
19
|
autoload :DotVisitor, "prism/dot_visitor"
|
20
20
|
autoload :DSL, "prism/dsl"
|
21
|
+
autoload :InspectVisitor, "prism/inspect_visitor"
|
21
22
|
autoload :LexCompat, "prism/lex_compat"
|
22
23
|
autoload :LexRipper, "prism/lex_compat"
|
23
24
|
autoload :MutationCompiler, "prism/mutation_compiler"
|
24
|
-
autoload :NodeInspector, "prism/node_inspector"
|
25
25
|
autoload :Pack, "prism/pack"
|
26
26
|
autoload :Pattern, "prism/pattern"
|
27
27
|
autoload :Reflection, "prism/reflection"
|
@@ -67,6 +67,7 @@ module Prism
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
+
require_relative "prism/polyfill/byteindex"
|
70
71
|
require_relative "prism/node"
|
71
72
|
require_relative "prism/node_ext"
|
72
73
|
require_relative "prism/parse_result"
|
data/prism.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "prism"
|
5
|
-
spec.version = "0.
|
5
|
+
spec.version = "0.29.0"
|
6
6
|
spec.authors = ["Shopify"]
|
7
7
|
spec.email = ["ruby@shopify.com"]
|
8
8
|
|
@@ -76,17 +76,18 @@ Gem::Specification.new do |spec|
|
|
76
76
|
"lib/prism/dot_visitor.rb",
|
77
77
|
"lib/prism/dsl.rb",
|
78
78
|
"lib/prism/ffi.rb",
|
79
|
+
"lib/prism/inspect_visitor.rb",
|
79
80
|
"lib/prism/lex_compat.rb",
|
80
81
|
"lib/prism/mutation_compiler.rb",
|
81
82
|
"lib/prism/node_ext.rb",
|
82
|
-
"lib/prism/node_inspector.rb",
|
83
83
|
"lib/prism/node.rb",
|
84
84
|
"lib/prism/pack.rb",
|
85
85
|
"lib/prism/parse_result.rb",
|
86
86
|
"lib/prism/parse_result/comments.rb",
|
87
87
|
"lib/prism/parse_result/newlines.rb",
|
88
88
|
"lib/prism/pattern.rb",
|
89
|
-
"lib/prism/polyfill/
|
89
|
+
"lib/prism/polyfill/byteindex.rb",
|
90
|
+
"lib/prism/polyfill/unpack1.rb",
|
90
91
|
"lib/prism/reflection.rb",
|
91
92
|
"lib/prism/serialize.rb",
|
92
93
|
"lib/prism/translation.rb",
|
@@ -101,11 +102,42 @@ Gem::Specification.new do |spec|
|
|
101
102
|
"lib/prism/translation/ripper/shim.rb",
|
102
103
|
"lib/prism/translation/ruby_parser.rb",
|
103
104
|
"lib/prism/visitor.rb",
|
105
|
+
"prism.gemspec",
|
106
|
+
"rbi/prism.rbi",
|
107
|
+
"rbi/prism/compiler.rbi",
|
108
|
+
"rbi/prism/inspect_visitor.rbi",
|
109
|
+
"rbi/prism/node_ext.rbi",
|
110
|
+
"rbi/prism/node.rbi",
|
111
|
+
"rbi/prism/parse_result.rbi",
|
112
|
+
"rbi/prism/reflection.rbi",
|
113
|
+
"rbi/prism/translation/parser.rbi",
|
114
|
+
"rbi/prism/translation/parser33.rbi",
|
115
|
+
"rbi/prism/translation/parser34.rbi",
|
116
|
+
"rbi/prism/translation/ripper.rbi",
|
117
|
+
"rbi/prism/visitor.rbi",
|
118
|
+
"sig/prism.rbs",
|
119
|
+
"sig/prism/compiler.rbs",
|
120
|
+
"sig/prism/dispatcher.rbs",
|
121
|
+
"sig/prism/dot_visitor.rbs",
|
122
|
+
"sig/prism/dsl.rbs",
|
123
|
+
"sig/prism/inspect_visitor.rbs",
|
124
|
+
"sig/prism/lex_compat.rbs",
|
125
|
+
"sig/prism/mutation_compiler.rbs",
|
126
|
+
"sig/prism/node_ext.rbs",
|
127
|
+
"sig/prism/node.rbs",
|
128
|
+
"sig/prism/pack.rbs",
|
129
|
+
"sig/prism/parse_result.rbs",
|
130
|
+
"sig/prism/pattern.rbs",
|
131
|
+
"sig/prism/reflection.rbs",
|
132
|
+
"sig/prism/serialize.rbs",
|
133
|
+
"sig/prism/visitor.rbs",
|
104
134
|
"src/diagnostic.c",
|
105
135
|
"src/encoding.c",
|
106
136
|
"src/node.c",
|
137
|
+
"src/options.c",
|
107
138
|
"src/pack.c",
|
108
139
|
"src/prettyprint.c",
|
140
|
+
"src/prism.c",
|
109
141
|
"src/regexp.c",
|
110
142
|
"src/serialize.c",
|
111
143
|
"src/static_literals.c",
|
@@ -117,43 +149,10 @@ Gem::Specification.new do |spec|
|
|
117
149
|
"src/util/pm_list.c",
|
118
150
|
"src/util/pm_memchr.c",
|
119
151
|
"src/util/pm_newline_list.c",
|
120
|
-
"src/util/pm_string.c",
|
121
152
|
"src/util/pm_string_list.c",
|
153
|
+
"src/util/pm_string.c",
|
122
154
|
"src/util/pm_strncasecmp.c",
|
123
|
-
"src/util/pm_strpbrk.c"
|
124
|
-
"src/options.c",
|
125
|
-
"src/prism.c",
|
126
|
-
"prism.gemspec",
|
127
|
-
"sig/prism.rbs",
|
128
|
-
"sig/prism/compiler.rbs",
|
129
|
-
"sig/prism/dispatcher.rbs",
|
130
|
-
"sig/prism/dot_visitor.rbs",
|
131
|
-
"sig/prism/dsl.rbs",
|
132
|
-
"sig/prism/mutation_compiler.rbs",
|
133
|
-
"sig/prism/node.rbs",
|
134
|
-
"sig/prism/node_ext.rbs",
|
135
|
-
"sig/prism/pack.rbs",
|
136
|
-
"sig/prism/parse_result.rbs",
|
137
|
-
"sig/prism/pattern.rbs",
|
138
|
-
"sig/prism/reflection.rbs",
|
139
|
-
"sig/prism/serialize.rbs",
|
140
|
-
"sig/prism/visitor.rbs",
|
141
|
-
"rbi/prism.rbi",
|
142
|
-
"rbi/prism/compiler.rbi",
|
143
|
-
"rbi/prism/desugar_compiler.rbi",
|
144
|
-
"rbi/prism/mutation_compiler.rbi",
|
145
|
-
"rbi/prism/node_ext.rbi",
|
146
|
-
"rbi/prism/node.rbi",
|
147
|
-
"rbi/prism/parse_result.rbi",
|
148
|
-
"rbi/prism/reflection.rbi",
|
149
|
-
"rbi/prism/translation/parser.rbi",
|
150
|
-
"rbi/prism/translation/parser/compiler.rbi",
|
151
|
-
"rbi/prism/translation/parser33.rbi",
|
152
|
-
"rbi/prism/translation/parser34.rbi",
|
153
|
-
"rbi/prism/translation/ripper.rbi",
|
154
|
-
"rbi/prism/translation/ripper/ripper_compiler.rbi",
|
155
|
-
"rbi/prism/translation/ruby_parser.rbi",
|
156
|
-
"rbi/prism/visitor.rbi"
|
155
|
+
"src/util/pm_strpbrk.c"
|
157
156
|
]
|
158
157
|
|
159
158
|
spec.extensions = ["ext/prism/extconf.rb"]
|
data/rbi/prism/compiler.rbi
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
# typed: strict
|
2
2
|
|
3
3
|
class Prism::Compiler
|
4
|
-
|
5
|
-
|
6
|
-
sig { params(node: T.nilable(Prism::Node)).returns(T.nilable(Result)) }
|
4
|
+
sig { params(node: T.nilable(Prism::Node)).returns(T.untyped) }
|
7
5
|
def visit(node); end
|
8
6
|
|
9
|
-
sig { params(nodes: T::Array[T.nilable(Prism::Node)]).returns(T::Array[T.
|
7
|
+
sig { params(nodes: T::Array[T.nilable(Prism::Node)]).returns(T::Array[T.untyped]) }
|
10
8
|
def visit_all(nodes); end
|
11
9
|
|
12
|
-
sig { params(node: Prism::Node).returns(T::Array[T.
|
10
|
+
sig { params(node: Prism::Node).returns(T::Array[T.untyped]) }
|
13
11
|
def visit_child_nodes(node); end
|
14
12
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# typed: strict
|
2
|
+
|
3
|
+
class Prism::InspectVisitor < Prism::Visitor
|
4
|
+
sig { params(indent: String).void }
|
5
|
+
def initialize(indent = ""); end
|
6
|
+
|
7
|
+
sig { params(node: Prism::Node).returns(String) }
|
8
|
+
def self.compose(node); end
|
9
|
+
|
10
|
+
sig { returns(String) }
|
11
|
+
def compose; end
|
12
|
+
end
|