prism 0.30.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -1
- data/README.md +3 -1
- data/config.yml +185 -126
- data/docs/serialization.md +3 -0
- data/ext/prism/api_node.c +2843 -2085
- data/ext/prism/extconf.rb +1 -1
- data/ext/prism/extension.c +35 -25
- data/ext/prism/extension.h +2 -2
- data/include/prism/ast.h +1048 -69
- data/include/prism/defines.h +9 -0
- data/include/prism/diagnostic.h +11 -3
- data/include/prism/options.h +55 -1
- data/include/prism/parser.h +27 -3
- data/include/prism/regexp.h +2 -1
- data/include/prism/util/pm_integer.h +6 -6
- data/include/prism/util/pm_newline_list.h +11 -0
- data/include/prism/util/pm_string.h +1 -0
- data/include/prism/version.h +3 -3
- data/lib/prism/desugar_compiler.rb +111 -74
- data/lib/prism/dispatcher.rb +2 -1
- data/lib/prism/dot_visitor.rb +21 -31
- data/lib/prism/dsl.rb +656 -471
- data/lib/prism/ffi.rb +3 -0
- data/lib/prism/inspect_visitor.rb +285 -57
- data/lib/prism/mutation_compiler.rb +5 -5
- data/lib/prism/node.rb +2282 -4754
- data/lib/prism/node_ext.rb +72 -11
- data/lib/prism/parse_result/errors.rb +65 -0
- data/lib/prism/parse_result/newlines.rb +28 -28
- data/lib/prism/parse_result.rb +25 -2
- data/lib/prism/reflection.rb +7 -7
- data/lib/prism/serialize.rb +468 -610
- data/lib/prism/translation/parser/compiler.rb +18 -18
- data/lib/prism/translation/parser/lexer.rb +1 -1
- data/lib/prism/translation/parser.rb +3 -3
- data/lib/prism/translation/ripper.rb +14 -14
- data/lib/prism/translation/ruby_parser.rb +43 -7
- data/prism.gemspec +3 -1
- data/rbi/prism/dsl.rbi +521 -0
- data/rbi/prism/node.rbi +1456 -5616
- data/rbi/prism.rbi +16 -16
- data/sig/prism/dsl.rbs +189 -305
- data/sig/prism/node.rbs +702 -603
- data/sig/prism/parse_result.rbs +2 -0
- data/src/diagnostic.c +22 -6
- data/src/node.c +277 -284
- data/src/options.c +18 -0
- data/src/prettyprint.c +99 -108
- data/src/prism.c +1282 -760
- data/src/regexp.c +72 -4
- data/src/serialize.c +165 -50
- data/src/token_type.c +2 -2
- data/src/util/pm_integer.c +14 -14
- data/src/util/pm_newline_list.c +29 -0
- data/src/util/pm_string.c +9 -5
- metadata +4 -2
@@ -128,12 +128,12 @@ module Prism
|
|
128
128
|
|
129
129
|
# Copy a CaseMatchNode node
|
130
130
|
def visit_case_match_node(node)
|
131
|
-
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions),
|
131
|
+
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
|
132
132
|
end
|
133
133
|
|
134
134
|
# Copy a CaseNode node
|
135
135
|
def visit_case_node(node)
|
136
|
-
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions),
|
136
|
+
node.copy(predicate: visit(node.predicate), conditions: visit_all(node.conditions), else_clause: visit(node.else_clause))
|
137
137
|
end
|
138
138
|
|
139
139
|
# Copy a ClassNode node
|
@@ -343,7 +343,7 @@ module Prism
|
|
343
343
|
|
344
344
|
# Copy a IfNode node
|
345
345
|
def visit_if_node(node)
|
346
|
-
node.copy(predicate: visit(node.predicate), statements: visit(node.statements),
|
346
|
+
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), subsequent: visit(node.subsequent))
|
347
347
|
end
|
348
348
|
|
349
349
|
# Copy a ImaginaryNode node
|
@@ -653,7 +653,7 @@ module Prism
|
|
653
653
|
|
654
654
|
# Copy a RescueNode node
|
655
655
|
def visit_rescue_node(node)
|
656
|
-
node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements),
|
656
|
+
node.copy(exceptions: visit_all(node.exceptions), reference: visit(node.reference), statements: visit(node.statements), subsequent: visit(node.subsequent))
|
657
657
|
end
|
658
658
|
|
659
659
|
# Copy a RestParameterNode node
|
@@ -738,7 +738,7 @@ module Prism
|
|
738
738
|
|
739
739
|
# Copy a UnlessNode node
|
740
740
|
def visit_unless_node(node)
|
741
|
-
node.copy(predicate: visit(node.predicate), statements: visit(node.statements),
|
741
|
+
node.copy(predicate: visit(node.predicate), statements: visit(node.statements), else_clause: visit(node.else_clause))
|
742
742
|
end
|
743
743
|
|
744
744
|
# Copy a UntilNode node
|