refract 1.0.0.beta1 → 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/README.md +1 -1
- data/lib/refract/basic_visitor.rb +7 -2
- data/lib/refract/converter.rb +195 -23
- data/lib/refract/formatter.rb +83 -50
- data/lib/refract/mutation_visitor.rb +111 -115
- data/lib/refract/nodes/alias_global_variable_node.rb +3 -1
- data/lib/refract/nodes/alias_method_node.rb +3 -1
- data/lib/refract/nodes/alternation_pattern_node.rb +3 -1
- data/lib/refract/nodes/and_node.rb +3 -1
- data/lib/refract/nodes/arguments_node.rb +3 -1
- data/lib/refract/nodes/array_node.rb +3 -1
- data/lib/refract/nodes/array_pattern_node.rb +3 -1
- data/lib/refract/nodes/assoc_node.rb +3 -1
- data/lib/refract/nodes/assoc_splat_node.rb +3 -1
- data/lib/refract/nodes/back_reference_read_node.rb +3 -1
- data/lib/refract/nodes/begin_node.rb +3 -1
- data/lib/refract/nodes/block_argument_node.rb +3 -1
- data/lib/refract/nodes/block_local_variable_node.rb +3 -1
- data/lib/refract/nodes/block_node.rb +3 -1
- data/lib/refract/nodes/block_parameter_node.rb +3 -1
- data/lib/refract/nodes/block_parameters_node.rb +3 -1
- data/lib/refract/nodes/break_node.rb +3 -1
- data/lib/refract/nodes/call_and_write_node.rb +3 -1
- data/lib/refract/nodes/call_node.rb +5 -3
- data/lib/refract/nodes/call_operator_write_node.rb +3 -1
- data/lib/refract/nodes/call_or_write_node.rb +3 -1
- data/lib/refract/nodes/call_target_node.rb +3 -1
- data/lib/refract/nodes/capture_pattern_node.rb +3 -1
- data/lib/refract/nodes/case_match_node.rb +3 -1
- data/lib/refract/nodes/case_node.rb +3 -1
- data/lib/refract/nodes/class_node.rb +3 -1
- data/lib/refract/nodes/class_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/class_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/class_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/class_variable_read_node.rb +3 -1
- data/lib/refract/nodes/class_variable_target_node.rb +3 -1
- data/lib/refract/nodes/class_variable_write_node.rb +3 -1
- data/lib/refract/nodes/constant_and_write_node.rb +3 -1
- data/lib/refract/nodes/constant_operator_write_node.rb +3 -1
- data/lib/refract/nodes/constant_or_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_and_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_node.rb +14 -0
- data/lib/refract/nodes/constant_path_operator_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_or_write_node.rb +3 -1
- data/lib/refract/nodes/constant_path_target_node.rb +3 -1
- data/lib/refract/nodes/constant_path_write_node.rb +3 -1
- data/lib/refract/nodes/constant_read_node.rb +3 -1
- data/lib/refract/nodes/constant_target_node.rb +3 -1
- data/lib/refract/nodes/constant_write_node.rb +3 -1
- data/lib/refract/nodes/def_node.rb +3 -1
- data/lib/refract/nodes/defined_node.rb +3 -1
- data/lib/refract/nodes/else_node.rb +3 -1
- data/lib/refract/nodes/embedded_statements_node.rb +3 -1
- data/lib/refract/nodes/embedded_variable_node.rb +3 -1
- data/lib/refract/nodes/ensure_node.rb +3 -1
- data/lib/refract/nodes/false_node.rb +3 -0
- data/lib/refract/nodes/find_pattern_node.rb +3 -1
- data/lib/refract/nodes/flip_flop_node.rb +3 -1
- data/lib/refract/nodes/float_node.rb +3 -1
- data/lib/refract/nodes/for_node.rb +3 -1
- data/lib/refract/nodes/forwarding_arguments_node.rb +3 -0
- data/lib/refract/nodes/forwarding_parameter_node.rb +3 -0
- data/lib/refract/nodes/forwarding_super_node.rb +3 -1
- data/lib/refract/nodes/global_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/global_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/global_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/global_variable_read_node.rb +3 -1
- data/lib/refract/nodes/global_variable_target_node.rb +3 -1
- data/lib/refract/nodes/global_variable_write_node.rb +3 -1
- data/lib/refract/nodes/hash_node.rb +3 -1
- data/lib/refract/nodes/hash_pattern_node.rb +3 -1
- data/lib/refract/nodes/if_node.rb +5 -2
- data/lib/refract/nodes/imaginary_node.rb +3 -1
- data/lib/refract/nodes/implicit_node.rb +3 -1
- data/lib/refract/nodes/implicit_rest_node.rb +3 -0
- data/lib/refract/nodes/in_node.rb +3 -1
- data/lib/refract/nodes/index_and_write_node.rb +3 -1
- data/lib/refract/nodes/index_operator_write_node.rb +3 -1
- data/lib/refract/nodes/index_or_write_node.rb +3 -1
- data/lib/refract/nodes/index_target_node.rb +4 -2
- data/lib/refract/nodes/instance_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_read_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_target_node.rb +3 -1
- data/lib/refract/nodes/instance_variable_write_node.rb +3 -1
- data/lib/refract/nodes/integer_node.rb +3 -1
- data/lib/refract/nodes/interpolated_match_last_line_node.rb +3 -1
- data/lib/refract/nodes/interpolated_regular_expression_node.rb +3 -1
- data/lib/refract/nodes/interpolated_string_node.rb +3 -1
- data/lib/refract/nodes/interpolated_symbol_node.rb +3 -1
- data/lib/refract/nodes/interpolated_x_string_node.rb +3 -1
- data/lib/refract/nodes/it_local_variable_read_node.rb +3 -0
- data/lib/refract/nodes/it_parameters_node.rb +3 -0
- data/lib/refract/nodes/keyword_hash_node.rb +3 -1
- data/lib/refract/nodes/keyword_rest_parameter_node.rb +3 -1
- data/lib/refract/nodes/lambda_node.rb +3 -1
- data/lib/refract/nodes/local_variable_and_write_node.rb +3 -1
- data/lib/refract/nodes/local_variable_operator_write_node.rb +3 -1
- data/lib/refract/nodes/local_variable_or_write_node.rb +3 -1
- data/lib/refract/nodes/local_variable_read_node.rb +3 -1
- data/lib/refract/nodes/local_variable_target_node.rb +3 -1
- data/lib/refract/nodes/local_variable_write_node.rb +3 -1
- data/lib/refract/nodes/match_last_line_node.rb +3 -1
- data/lib/refract/nodes/match_predicate_node.rb +3 -1
- data/lib/refract/nodes/match_required_node.rb +3 -1
- data/lib/refract/nodes/match_write_node.rb +3 -1
- data/lib/refract/nodes/missing_node.rb +3 -0
- data/lib/refract/nodes/module_node.rb +3 -1
- data/lib/refract/nodes/multi_target_node.rb +3 -1
- data/lib/refract/nodes/multi_write_node.rb +3 -1
- data/lib/refract/nodes/next_node.rb +3 -1
- data/lib/refract/nodes/nil_node.rb +3 -0
- data/lib/refract/nodes/no_keywords_parameter_node.rb +3 -0
- data/lib/refract/nodes/numbered_parameters_node.rb +3 -0
- data/lib/refract/nodes/numbered_reference_read_node.rb +3 -1
- data/lib/refract/nodes/optional_keyword_parameter_node.rb +3 -1
- data/lib/refract/nodes/optional_parameter_node.rb +3 -1
- data/lib/refract/nodes/or_node.rb +3 -1
- data/lib/refract/nodes/parameters_node.rb +3 -1
- data/lib/refract/nodes/parentheses_node.rb +3 -1
- data/lib/refract/nodes/pinned_expression_node.rb +3 -1
- data/lib/refract/nodes/pinned_variable_node.rb +3 -1
- data/lib/refract/nodes/post_execution_node.rb +3 -1
- data/lib/refract/nodes/pre_execution_node.rb +3 -1
- data/lib/refract/nodes/program_node.rb +4 -2
- data/lib/refract/nodes/range_node.rb +3 -1
- data/lib/refract/nodes/rational_node.rb +3 -1
- data/lib/refract/nodes/redo_node.rb +3 -0
- data/lib/refract/nodes/regular_expression_node.rb +3 -1
- data/lib/refract/nodes/required_keyword_parameter_node.rb +3 -1
- data/lib/refract/nodes/required_parameter_node.rb +3 -1
- data/lib/refract/nodes/rescue_modifier_node.rb +3 -1
- data/lib/refract/nodes/rescue_node.rb +3 -1
- data/lib/refract/nodes/rest_parameter_node.rb +3 -1
- data/lib/refract/nodes/retry_node.rb +3 -0
- data/lib/refract/nodes/return_node.rb +3 -1
- data/lib/refract/nodes/self_node.rb +3 -0
- data/lib/refract/nodes/shareable_constant_node.rb +3 -1
- data/lib/refract/nodes/singleton_class_node.rb +3 -1
- data/lib/refract/nodes/source_encoding_node.rb +3 -0
- data/lib/refract/nodes/source_file_node.rb +3 -0
- data/lib/refract/nodes/source_line_node.rb +3 -0
- data/lib/refract/nodes/splat_node.rb +3 -1
- data/lib/refract/nodes/statements_node.rb +3 -1
- data/lib/refract/nodes/string_node.rb +3 -1
- data/lib/refract/nodes/super_node.rb +3 -1
- data/lib/refract/nodes/symbol_node.rb +3 -1
- data/lib/refract/nodes/true_node.rb +3 -0
- data/lib/refract/nodes/undef_node.rb +3 -1
- data/lib/refract/nodes/unless_node.rb +5 -2
- data/lib/refract/nodes/until_node.rb +5 -2
- data/lib/refract/nodes/when_node.rb +3 -1
- data/lib/refract/nodes/while_node.rb +5 -2
- data/lib/refract/nodes/x_string_node.rb +3 -1
- data/lib/refract/nodes/yield_node.rb +3 -1
- data/lib/refract/version.rb +1 -1
- data/lib/refract/visitor.rb +4 -4
- data/lib/refract.rb +11 -2
- metadata +2 -2
- data/lib/refract/nodes/constant_path.rb +0 -12
@@ -2,12 +2,15 @@
|
|
2
2
|
|
3
3
|
module Refract
|
4
4
|
class UnlessNode < Node
|
5
|
-
def initialize(predicate:, statements:, else_clause:)
|
5
|
+
def initialize(prism_node: nil, predicate:, statements:, else_clause:, inline:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
6
7
|
@predicate = predicate
|
7
8
|
@statements = statements
|
8
9
|
@else_clause = else_clause
|
10
|
+
@inline = inline
|
11
|
+
freeze
|
9
12
|
end
|
10
13
|
|
11
|
-
attr_accessor :predicate, :statements, :else_clause
|
14
|
+
attr_accessor :predicate, :statements, :else_clause, :inline
|
12
15
|
end
|
13
16
|
end
|
@@ -2,11 +2,14 @@
|
|
2
2
|
|
3
3
|
module Refract
|
4
4
|
class UntilNode < Node
|
5
|
-
def initialize(predicate:, statements:)
|
5
|
+
def initialize(prism_node: nil, predicate:, statements:, inline:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
6
7
|
@predicate = predicate
|
7
8
|
@statements = statements
|
9
|
+
@inline = inline
|
10
|
+
freeze
|
8
11
|
end
|
9
12
|
|
10
|
-
attr_accessor :predicate, :statements
|
13
|
+
attr_accessor :predicate, :statements, :inline
|
11
14
|
end
|
12
15
|
end
|
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
module Refract
|
4
4
|
class WhenNode < Node
|
5
|
-
def initialize(conditions:, statements:)
|
5
|
+
def initialize(prism_node: nil, conditions:, statements:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
6
7
|
@conditions = conditions
|
7
8
|
@statements = statements
|
9
|
+
freeze
|
8
10
|
end
|
9
11
|
|
10
12
|
attr_accessor :conditions, :statements
|
@@ -2,11 +2,14 @@
|
|
2
2
|
|
3
3
|
module Refract
|
4
4
|
class WhileNode < Node
|
5
|
-
def initialize(predicate:, statements:)
|
5
|
+
def initialize(prism_node: nil, predicate:, statements:, inline:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
6
7
|
@predicate = predicate
|
7
8
|
@statements = statements
|
9
|
+
@inline = inline
|
10
|
+
freeze
|
8
11
|
end
|
9
12
|
|
10
|
-
attr_accessor :predicate, :statements
|
13
|
+
attr_accessor :predicate, :statements, :inline
|
11
14
|
end
|
12
15
|
end
|
data/lib/refract/version.rb
CHANGED
data/lib/refract/visitor.rb
CHANGED
@@ -166,15 +166,15 @@ module Refract
|
|
166
166
|
visit node.value
|
167
167
|
end
|
168
168
|
|
169
|
-
visit ConstantPath do |node|
|
170
|
-
visit node.parent
|
171
|
-
end
|
172
|
-
|
173
169
|
visit ConstantPathAndWriteNode do |node|
|
174
170
|
visit node.target
|
175
171
|
visit node.value
|
176
172
|
end
|
177
173
|
|
174
|
+
visit ConstantPathNode do |node|
|
175
|
+
visit node.parent
|
176
|
+
end
|
177
|
+
|
178
178
|
visit ConstantPathOperatorWriteNode do |node|
|
179
179
|
visit node.target
|
180
180
|
visit node.value
|
data/lib/refract.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "zeitwerk"
|
4
|
+
|
4
5
|
module Refract
|
5
6
|
Loader = Zeitwerk::Loader.for_gem.tap do |loader|
|
6
7
|
loader.ignore("#{__dir__}/ruby_lsp")
|
@@ -33,10 +34,18 @@ module Refract
|
|
33
34
|
accept(visitor)
|
34
35
|
end
|
35
36
|
|
36
|
-
def
|
37
|
+
def start_line
|
38
|
+
@prism_node&.location&.start_line
|
39
|
+
end
|
40
|
+
|
41
|
+
def copy(**props)
|
42
|
+
duplicate = dup
|
43
|
+
|
37
44
|
props.each do |k, v|
|
38
|
-
public_send("#{k}=", v)
|
45
|
+
duplicate.public_send("#{k}=", v)
|
39
46
|
end
|
47
|
+
|
48
|
+
duplicate.freeze
|
40
49
|
end
|
41
50
|
end
|
42
51
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: refract
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joel Drapper
|
@@ -86,8 +86,8 @@ files:
|
|
86
86
|
- lib/refract/nodes/constant_and_write_node.rb
|
87
87
|
- lib/refract/nodes/constant_operator_write_node.rb
|
88
88
|
- lib/refract/nodes/constant_or_write_node.rb
|
89
|
-
- lib/refract/nodes/constant_path.rb
|
90
89
|
- lib/refract/nodes/constant_path_and_write_node.rb
|
90
|
+
- lib/refract/nodes/constant_path_node.rb
|
91
91
|
- lib/refract/nodes/constant_path_operator_write_node.rb
|
92
92
|
- lib/refract/nodes/constant_path_or_write_node.rb
|
93
93
|
- lib/refract/nodes/constant_path_target_node.rb
|