refract 0.0.2 → 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 +5 -5
- data/LICENSE.txt +21 -0
- data/README.md +7 -0
- data/lib/refract/basic_visitor.rb +45 -0
- data/lib/refract/converter.rb +1204 -0
- data/lib/refract/formatter.rb +1304 -0
- data/lib/refract/mutation_visitor.rb +895 -0
- data/lib/refract/nodes/alias_global_variable_node.rb +14 -0
- data/lib/refract/nodes/alias_method_node.rb +14 -0
- data/lib/refract/nodes/alternation_pattern_node.rb +14 -0
- data/lib/refract/nodes/and_node.rb +15 -0
- data/lib/refract/nodes/arguments_node.rb +13 -0
- data/lib/refract/nodes/array_node.rb +13 -0
- data/lib/refract/nodes/array_pattern_node.rb +16 -0
- data/lib/refract/nodes/assoc_node.rb +14 -0
- data/lib/refract/nodes/assoc_splat_node.rb +13 -0
- data/lib/refract/nodes/back_reference_read_node.rb +13 -0
- data/lib/refract/nodes/begin_node.rb +16 -0
- data/lib/refract/nodes/block_argument_node.rb +13 -0
- data/lib/refract/nodes/block_local_variable_node.rb +13 -0
- data/lib/refract/nodes/block_node.rb +14 -0
- data/lib/refract/nodes/block_parameter_node.rb +13 -0
- data/lib/refract/nodes/block_parameters_node.rb +14 -0
- data/lib/refract/nodes/break_node.rb +13 -0
- data/lib/refract/nodes/call_and_write_node.rb +15 -0
- data/lib/refract/nodes/call_node.rb +16 -0
- data/lib/refract/nodes/call_operator_write_node.rb +16 -0
- data/lib/refract/nodes/call_or_write_node.rb +15 -0
- data/lib/refract/nodes/call_target_node.rb +14 -0
- data/lib/refract/nodes/capture_pattern_node.rb +14 -0
- data/lib/refract/nodes/case_match_node.rb +15 -0
- data/lib/refract/nodes/case_node.rb +15 -0
- data/lib/refract/nodes/class_node.rb +15 -0
- data/lib/refract/nodes/class_variable_and_write_node.rb +14 -0
- data/lib/refract/nodes/class_variable_operator_write_node.rb +15 -0
- data/lib/refract/nodes/class_variable_or_write_node.rb +14 -0
- data/lib/refract/nodes/class_variable_read_node.rb +13 -0
- data/lib/refract/nodes/class_variable_target_node.rb +13 -0
- data/lib/refract/nodes/class_variable_write_node.rb +14 -0
- data/lib/refract/nodes/constant_and_write_node.rb +14 -0
- data/lib/refract/nodes/constant_operator_write_node.rb +15 -0
- data/lib/refract/nodes/constant_or_write_node.rb +14 -0
- data/lib/refract/nodes/constant_path_and_write_node.rb +14 -0
- data/lib/refract/nodes/constant_path_node.rb +14 -0
- data/lib/refract/nodes/constant_path_operator_write_node.rb +15 -0
- data/lib/refract/nodes/constant_path_or_write_node.rb +14 -0
- data/lib/refract/nodes/constant_path_target_node.rb +14 -0
- data/lib/refract/nodes/constant_path_write_node.rb +14 -0
- data/lib/refract/nodes/constant_read_node.rb +13 -0
- data/lib/refract/nodes/constant_target_node.rb +13 -0
- data/lib/refract/nodes/constant_write_node.rb +14 -0
- data/lib/refract/nodes/def_node.rb +16 -0
- data/lib/refract/nodes/defined_node.rb +13 -0
- data/lib/refract/nodes/else_node.rb +13 -0
- data/lib/refract/nodes/embedded_statements_node.rb +13 -0
- data/lib/refract/nodes/embedded_variable_node.rb +13 -0
- data/lib/refract/nodes/ensure_node.rb +13 -0
- data/lib/refract/nodes/false_node.rb +9 -0
- data/lib/refract/nodes/find_pattern_node.rb +16 -0
- data/lib/refract/nodes/flip_flop_node.rb +15 -0
- data/lib/refract/nodes/float_node.rb +13 -0
- data/lib/refract/nodes/for_node.rb +15 -0
- data/lib/refract/nodes/forwarding_arguments_node.rb +9 -0
- data/lib/refract/nodes/forwarding_parameter_node.rb +9 -0
- data/lib/refract/nodes/forwarding_super_node.rb +13 -0
- data/lib/refract/nodes/global_variable_and_write_node.rb +14 -0
- data/lib/refract/nodes/global_variable_operator_write_node.rb +15 -0
- data/lib/refract/nodes/global_variable_or_write_node.rb +14 -0
- data/lib/refract/nodes/global_variable_read_node.rb +13 -0
- data/lib/refract/nodes/global_variable_target_node.rb +13 -0
- data/lib/refract/nodes/global_variable_write_node.rb +14 -0
- data/lib/refract/nodes/hash_node.rb +13 -0
- data/lib/refract/nodes/hash_pattern_node.rb +14 -0
- data/lib/refract/nodes/if_node.rb +16 -0
- data/lib/refract/nodes/imaginary_node.rb +13 -0
- data/lib/refract/nodes/implicit_node.rb +13 -0
- data/lib/refract/nodes/implicit_rest_node.rb +9 -0
- data/lib/refract/nodes/in_node.rb +14 -0
- data/lib/refract/nodes/index_and_write_node.rb +16 -0
- data/lib/refract/nodes/index_operator_write_node.rb +17 -0
- data/lib/refract/nodes/index_or_write_node.rb +16 -0
- data/lib/refract/nodes/index_target_node.rb +15 -0
- data/lib/refract/nodes/instance_variable_and_write_node.rb +14 -0
- data/lib/refract/nodes/instance_variable_operator_write_node.rb +15 -0
- data/lib/refract/nodes/instance_variable_or_write_node.rb +14 -0
- data/lib/refract/nodes/instance_variable_read_node.rb +13 -0
- data/lib/refract/nodes/instance_variable_target_node.rb +13 -0
- data/lib/refract/nodes/instance_variable_write_node.rb +14 -0
- data/lib/refract/nodes/integer_node.rb +13 -0
- data/lib/refract/nodes/interpolated_match_last_line_node.rb +17 -0
- data/lib/refract/nodes/interpolated_regular_expression_node.rb +17 -0
- data/lib/refract/nodes/interpolated_string_node.rb +13 -0
- data/lib/refract/nodes/interpolated_symbol_node.rb +13 -0
- data/lib/refract/nodes/interpolated_x_string_node.rb +13 -0
- data/lib/refract/nodes/it_local_variable_read_node.rb +9 -0
- data/lib/refract/nodes/it_parameters_node.rb +9 -0
- data/lib/refract/nodes/keyword_hash_node.rb +13 -0
- data/lib/refract/nodes/keyword_rest_parameter_node.rb +13 -0
- data/lib/refract/nodes/lambda_node.rb +14 -0
- data/lib/refract/nodes/local_variable_and_write_node.rb +15 -0
- data/lib/refract/nodes/local_variable_operator_write_node.rb +16 -0
- data/lib/refract/nodes/local_variable_or_write_node.rb +15 -0
- data/lib/refract/nodes/local_variable_read_node.rb +13 -0
- data/lib/refract/nodes/local_variable_target_node.rb +13 -0
- data/lib/refract/nodes/local_variable_write_node.rb +14 -0
- data/lib/refract/nodes/match_last_line_node.rb +17 -0
- data/lib/refract/nodes/match_predicate_node.rb +14 -0
- data/lib/refract/nodes/match_required_node.rb +14 -0
- data/lib/refract/nodes/match_write_node.rb +14 -0
- data/lib/refract/nodes/missing_node.rb +9 -0
- data/lib/refract/nodes/module_node.rb +14 -0
- data/lib/refract/nodes/multi_target_node.rb +15 -0
- data/lib/refract/nodes/multi_write_node.rb +16 -0
- data/lib/refract/nodes/next_node.rb +13 -0
- data/lib/refract/nodes/nil_node.rb +9 -0
- data/lib/refract/nodes/no_keywords_parameter_node.rb +9 -0
- data/lib/refract/nodes/numbered_parameters_node.rb +9 -0
- data/lib/refract/nodes/numbered_reference_read_node.rb +13 -0
- data/lib/refract/nodes/optional_keyword_parameter_node.rb +14 -0
- data/lib/refract/nodes/optional_parameter_node.rb +14 -0
- data/lib/refract/nodes/or_node.rb +15 -0
- data/lib/refract/nodes/parameters_node.rb +19 -0
- data/lib/refract/nodes/parentheses_node.rb +13 -0
- data/lib/refract/nodes/pinned_expression_node.rb +13 -0
- data/lib/refract/nodes/pinned_variable_node.rb +13 -0
- data/lib/refract/nodes/post_execution_node.rb +13 -0
- data/lib/refract/nodes/pre_execution_node.rb +13 -0
- data/lib/refract/nodes/program_node.rb +13 -0
- data/lib/refract/nodes/range_node.rb +15 -0
- data/lib/refract/nodes/rational_node.rb +14 -0
- data/lib/refract/nodes/redo_node.rb +9 -0
- data/lib/refract/nodes/regular_expression_node.rb +17 -0
- data/lib/refract/nodes/required_keyword_parameter_node.rb +13 -0
- data/lib/refract/nodes/required_parameter_node.rb +13 -0
- data/lib/refract/nodes/rescue_modifier_node.rb +14 -0
- data/lib/refract/nodes/rescue_node.rb +16 -0
- data/lib/refract/nodes/rest_parameter_node.rb +13 -0
- data/lib/refract/nodes/retry_node.rb +9 -0
- data/lib/refract/nodes/return_node.rb +13 -0
- data/lib/refract/nodes/self_node.rb +9 -0
- data/lib/refract/nodes/shareable_constant_node.rb +13 -0
- data/lib/refract/nodes/singleton_class_node.rb +14 -0
- data/lib/refract/nodes/source_encoding_node.rb +9 -0
- data/lib/refract/nodes/source_file_node.rb +9 -0
- data/lib/refract/nodes/source_line_node.rb +9 -0
- data/lib/refract/nodes/splat_node.rb +13 -0
- data/lib/refract/nodes/statements_node.rb +13 -0
- data/lib/refract/nodes/string_node.rb +13 -0
- data/lib/refract/nodes/super_node.rb +14 -0
- data/lib/refract/nodes/symbol_node.rb +13 -0
- data/lib/refract/nodes/true_node.rb +9 -0
- data/lib/refract/nodes/undef_node.rb +13 -0
- data/lib/refract/nodes/unless_node.rb +16 -0
- data/lib/refract/nodes/until_node.rb +15 -0
- data/lib/refract/nodes/when_node.rb +14 -0
- data/lib/refract/nodes/while_node.rb +15 -0
- data/lib/refract/nodes/x_string_node.rb +13 -0
- data/lib/refract/nodes/yield_node.rb +13 -0
- data/lib/refract/version.rb +5 -0
- data/lib/refract/visitor.rb +689 -0
- data/lib/refract.rb +50 -55
- data/lib/rubocop/cop/refract/ordered_visit_methods.rb +107 -0
- data/lib/rubocop/cop/refract_cops.rb +3 -0
- metadata +189 -26
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class SingletonClassNode < Node
|
5
|
+
def initialize(prism_node: nil, expression:, body:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@expression = expression
|
8
|
+
@body = body
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :expression, :body
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class SplatNode < Node
|
5
|
+
def initialize(prism_node: nil, expression:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@expression = expression
|
8
|
+
freeze
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :expression
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class SuperNode < Node
|
5
|
+
def initialize(prism_node: nil, arguments:, block:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@arguments = arguments
|
8
|
+
@block = block
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :arguments, :block
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class UnlessNode < Node
|
5
|
+
def initialize(prism_node: nil, predicate:, statements:, else_clause:, inline:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@predicate = predicate
|
8
|
+
@statements = statements
|
9
|
+
@else_clause = else_clause
|
10
|
+
@inline = inline
|
11
|
+
freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_accessor :predicate, :statements, :else_clause, :inline
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class UntilNode < Node
|
5
|
+
def initialize(prism_node: nil, predicate:, statements:, inline:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@predicate = predicate
|
8
|
+
@statements = statements
|
9
|
+
@inline = inline
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :predicate, :statements, :inline
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class WhenNode < Node
|
5
|
+
def initialize(prism_node: nil, conditions:, statements:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@conditions = conditions
|
8
|
+
@statements = statements
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :conditions, :statements
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class WhileNode < Node
|
5
|
+
def initialize(prism_node: nil, predicate:, statements:, inline:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@predicate = predicate
|
8
|
+
@statements = statements
|
9
|
+
@inline = inline
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :predicate, :statements, :inline
|
14
|
+
end
|
15
|
+
end
|