refract 0.0.2 → 1.0.0.beta1
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 +40 -0
- data/lib/refract/converter.rb +1032 -0
- data/lib/refract/formatter.rb +1271 -0
- data/lib/refract/mutation_visitor.rb +899 -0
- data/lib/refract/nodes/alias_global_variable_node.rb +12 -0
- data/lib/refract/nodes/alias_method_node.rb +12 -0
- data/lib/refract/nodes/alternation_pattern_node.rb +12 -0
- data/lib/refract/nodes/and_node.rb +13 -0
- data/lib/refract/nodes/arguments_node.rb +11 -0
- data/lib/refract/nodes/array_node.rb +11 -0
- data/lib/refract/nodes/array_pattern_node.rb +14 -0
- data/lib/refract/nodes/assoc_node.rb +12 -0
- data/lib/refract/nodes/assoc_splat_node.rb +11 -0
- data/lib/refract/nodes/back_reference_read_node.rb +11 -0
- data/lib/refract/nodes/begin_node.rb +14 -0
- data/lib/refract/nodes/block_argument_node.rb +11 -0
- data/lib/refract/nodes/block_local_variable_node.rb +11 -0
- data/lib/refract/nodes/block_node.rb +12 -0
- data/lib/refract/nodes/block_parameter_node.rb +11 -0
- data/lib/refract/nodes/block_parameters_node.rb +12 -0
- data/lib/refract/nodes/break_node.rb +11 -0
- data/lib/refract/nodes/call_and_write_node.rb +13 -0
- data/lib/refract/nodes/call_node.rb +14 -0
- data/lib/refract/nodes/call_operator_write_node.rb +14 -0
- data/lib/refract/nodes/call_or_write_node.rb +13 -0
- data/lib/refract/nodes/call_target_node.rb +12 -0
- data/lib/refract/nodes/capture_pattern_node.rb +12 -0
- data/lib/refract/nodes/case_match_node.rb +13 -0
- data/lib/refract/nodes/case_node.rb +13 -0
- data/lib/refract/nodes/class_node.rb +13 -0
- data/lib/refract/nodes/class_variable_and_write_node.rb +12 -0
- data/lib/refract/nodes/class_variable_operator_write_node.rb +13 -0
- data/lib/refract/nodes/class_variable_or_write_node.rb +12 -0
- data/lib/refract/nodes/class_variable_read_node.rb +11 -0
- data/lib/refract/nodes/class_variable_target_node.rb +11 -0
- data/lib/refract/nodes/class_variable_write_node.rb +12 -0
- data/lib/refract/nodes/constant_and_write_node.rb +12 -0
- data/lib/refract/nodes/constant_operator_write_node.rb +13 -0
- data/lib/refract/nodes/constant_or_write_node.rb +12 -0
- data/lib/refract/nodes/constant_path.rb +12 -0
- data/lib/refract/nodes/constant_path_and_write_node.rb +12 -0
- data/lib/refract/nodes/constant_path_operator_write_node.rb +13 -0
- data/lib/refract/nodes/constant_path_or_write_node.rb +12 -0
- data/lib/refract/nodes/constant_path_target_node.rb +12 -0
- data/lib/refract/nodes/constant_path_write_node.rb +12 -0
- data/lib/refract/nodes/constant_read_node.rb +11 -0
- data/lib/refract/nodes/constant_target_node.rb +11 -0
- data/lib/refract/nodes/constant_write_node.rb +12 -0
- data/lib/refract/nodes/def_node.rb +14 -0
- data/lib/refract/nodes/defined_node.rb +11 -0
- data/lib/refract/nodes/else_node.rb +11 -0
- data/lib/refract/nodes/embedded_statements_node.rb +11 -0
- data/lib/refract/nodes/embedded_variable_node.rb +11 -0
- data/lib/refract/nodes/ensure_node.rb +11 -0
- data/lib/refract/nodes/false_node.rb +6 -0
- data/lib/refract/nodes/find_pattern_node.rb +14 -0
- data/lib/refract/nodes/flip_flop_node.rb +13 -0
- data/lib/refract/nodes/float_node.rb +11 -0
- data/lib/refract/nodes/for_node.rb +13 -0
- data/lib/refract/nodes/forwarding_arguments_node.rb +6 -0
- data/lib/refract/nodes/forwarding_parameter_node.rb +6 -0
- data/lib/refract/nodes/forwarding_super_node.rb +11 -0
- data/lib/refract/nodes/global_variable_and_write_node.rb +12 -0
- data/lib/refract/nodes/global_variable_operator_write_node.rb +13 -0
- data/lib/refract/nodes/global_variable_or_write_node.rb +12 -0
- data/lib/refract/nodes/global_variable_read_node.rb +11 -0
- data/lib/refract/nodes/global_variable_target_node.rb +11 -0
- data/lib/refract/nodes/global_variable_write_node.rb +12 -0
- data/lib/refract/nodes/hash_node.rb +11 -0
- data/lib/refract/nodes/hash_pattern_node.rb +12 -0
- data/lib/refract/nodes/if_node.rb +13 -0
- data/lib/refract/nodes/imaginary_node.rb +11 -0
- data/lib/refract/nodes/implicit_node.rb +11 -0
- data/lib/refract/nodes/implicit_rest_node.rb +6 -0
- data/lib/refract/nodes/in_node.rb +12 -0
- data/lib/refract/nodes/index_and_write_node.rb +14 -0
- data/lib/refract/nodes/index_operator_write_node.rb +15 -0
- data/lib/refract/nodes/index_or_write_node.rb +14 -0
- data/lib/refract/nodes/index_target_node.rb +13 -0
- data/lib/refract/nodes/instance_variable_and_write_node.rb +12 -0
- data/lib/refract/nodes/instance_variable_operator_write_node.rb +13 -0
- data/lib/refract/nodes/instance_variable_or_write_node.rb +12 -0
- data/lib/refract/nodes/instance_variable_read_node.rb +11 -0
- data/lib/refract/nodes/instance_variable_target_node.rb +11 -0
- data/lib/refract/nodes/instance_variable_write_node.rb +12 -0
- data/lib/refract/nodes/integer_node.rb +11 -0
- data/lib/refract/nodes/interpolated_match_last_line_node.rb +15 -0
- data/lib/refract/nodes/interpolated_regular_expression_node.rb +15 -0
- data/lib/refract/nodes/interpolated_string_node.rb +11 -0
- data/lib/refract/nodes/interpolated_symbol_node.rb +11 -0
- data/lib/refract/nodes/interpolated_x_string_node.rb +11 -0
- data/lib/refract/nodes/it_local_variable_read_node.rb +6 -0
- data/lib/refract/nodes/it_parameters_node.rb +6 -0
- data/lib/refract/nodes/keyword_hash_node.rb +11 -0
- data/lib/refract/nodes/keyword_rest_parameter_node.rb +11 -0
- data/lib/refract/nodes/lambda_node.rb +12 -0
- data/lib/refract/nodes/local_variable_and_write_node.rb +13 -0
- data/lib/refract/nodes/local_variable_operator_write_node.rb +14 -0
- data/lib/refract/nodes/local_variable_or_write_node.rb +13 -0
- data/lib/refract/nodes/local_variable_read_node.rb +11 -0
- data/lib/refract/nodes/local_variable_target_node.rb +11 -0
- data/lib/refract/nodes/local_variable_write_node.rb +12 -0
- data/lib/refract/nodes/match_last_line_node.rb +15 -0
- data/lib/refract/nodes/match_predicate_node.rb +12 -0
- data/lib/refract/nodes/match_required_node.rb +12 -0
- data/lib/refract/nodes/match_write_node.rb +12 -0
- data/lib/refract/nodes/missing_node.rb +6 -0
- data/lib/refract/nodes/module_node.rb +12 -0
- data/lib/refract/nodes/multi_target_node.rb +13 -0
- data/lib/refract/nodes/multi_write_node.rb +14 -0
- data/lib/refract/nodes/next_node.rb +11 -0
- data/lib/refract/nodes/nil_node.rb +6 -0
- data/lib/refract/nodes/no_keywords_parameter_node.rb +6 -0
- data/lib/refract/nodes/numbered_parameters_node.rb +6 -0
- data/lib/refract/nodes/numbered_reference_read_node.rb +11 -0
- data/lib/refract/nodes/optional_keyword_parameter_node.rb +12 -0
- data/lib/refract/nodes/optional_parameter_node.rb +12 -0
- data/lib/refract/nodes/or_node.rb +13 -0
- data/lib/refract/nodes/parameters_node.rb +17 -0
- data/lib/refract/nodes/parentheses_node.rb +11 -0
- data/lib/refract/nodes/pinned_expression_node.rb +11 -0
- data/lib/refract/nodes/pinned_variable_node.rb +11 -0
- data/lib/refract/nodes/post_execution_node.rb +11 -0
- data/lib/refract/nodes/pre_execution_node.rb +11 -0
- data/lib/refract/nodes/program_node.rb +11 -0
- data/lib/refract/nodes/range_node.rb +13 -0
- data/lib/refract/nodes/rational_node.rb +12 -0
- data/lib/refract/nodes/redo_node.rb +6 -0
- data/lib/refract/nodes/regular_expression_node.rb +15 -0
- data/lib/refract/nodes/required_keyword_parameter_node.rb +11 -0
- data/lib/refract/nodes/required_parameter_node.rb +11 -0
- data/lib/refract/nodes/rescue_modifier_node.rb +12 -0
- data/lib/refract/nodes/rescue_node.rb +14 -0
- data/lib/refract/nodes/rest_parameter_node.rb +11 -0
- data/lib/refract/nodes/retry_node.rb +6 -0
- data/lib/refract/nodes/return_node.rb +11 -0
- data/lib/refract/nodes/self_node.rb +6 -0
- data/lib/refract/nodes/shareable_constant_node.rb +11 -0
- data/lib/refract/nodes/singleton_class_node.rb +12 -0
- data/lib/refract/nodes/source_encoding_node.rb +6 -0
- data/lib/refract/nodes/source_file_node.rb +6 -0
- data/lib/refract/nodes/source_line_node.rb +6 -0
- data/lib/refract/nodes/splat_node.rb +11 -0
- data/lib/refract/nodes/statements_node.rb +11 -0
- data/lib/refract/nodes/string_node.rb +11 -0
- data/lib/refract/nodes/super_node.rb +12 -0
- data/lib/refract/nodes/symbol_node.rb +11 -0
- data/lib/refract/nodes/true_node.rb +6 -0
- data/lib/refract/nodes/undef_node.rb +11 -0
- data/lib/refract/nodes/unless_node.rb +13 -0
- data/lib/refract/nodes/until_node.rb +12 -0
- data/lib/refract/nodes/when_node.rb +12 -0
- data/lib/refract/nodes/while_node.rb +12 -0
- data/lib/refract/nodes/x_string_node.rb +11 -0
- data/lib/refract/nodes/yield_node.rb +11 -0
- data/lib/refract/version.rb +5 -0
- data/lib/refract/visitor.rb +689 -0
- data/lib/refract.rb +36 -50
- 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 FindPatternNode < Node
|
5
|
+
def initialize(constant:, left:, requireds:, right:)
|
6
|
+
@constant = constant
|
7
|
+
@left = left
|
8
|
+
@requireds = requireds
|
9
|
+
@right = right
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :constant, :left, :requireds, :right
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class ForNode < Node
|
5
|
+
def initialize(index:, collection:, statements:)
|
6
|
+
@index = index
|
7
|
+
@collection = collection
|
8
|
+
@statements = statements
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :index, :collection, :statements
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class GlobalVariableOperatorWriteNode < Node
|
5
|
+
def initialize(name:, value:, binary_operator:)
|
6
|
+
@name = name
|
7
|
+
@value = value
|
8
|
+
@binary_operator = binary_operator
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :name, :value, :binary_operator
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class IfNode < Node
|
5
|
+
def initialize(predicate:, statements:, subsequent:)
|
6
|
+
@predicate = predicate
|
7
|
+
@statements = statements
|
8
|
+
@subsequent = subsequent
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :predicate, :statements, :subsequent
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class IndexAndWriteNode < Node
|
5
|
+
def initialize(receiver:, arguments:, block:, value:)
|
6
|
+
@receiver = receiver
|
7
|
+
@arguments = arguments
|
8
|
+
@block = block
|
9
|
+
@value = value
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :receiver, :arguments, :block, :value
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class IndexOperatorWriteNode < Node
|
5
|
+
def initialize(receiver:, arguments:, block:, binary_operator:, value:)
|
6
|
+
@receiver = receiver
|
7
|
+
@arguments = arguments
|
8
|
+
@block = block
|
9
|
+
@binary_operator = binary_operator
|
10
|
+
@value = value
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :receiver, :arguments, :block, :binary_operator, :value
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class IndexOrWriteNode < Node
|
5
|
+
def initialize(receiver:, arguments:, block:, value:)
|
6
|
+
@receiver = receiver
|
7
|
+
@arguments = arguments
|
8
|
+
@block = block
|
9
|
+
@value = value
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :receiver, :arguments, :block, :value
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class IndexTargetNode < Node
|
5
|
+
def initialize(receiver:, arguments:, block:)
|
6
|
+
@receiver = receiver
|
7
|
+
@arguments = arguments
|
8
|
+
@block = block
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_reader :receiver, :arguments, :block
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class InstanceVariableOperatorWriteNode < Node
|
5
|
+
def initialize(name:, value:, binary_operator:)
|
6
|
+
@name = name
|
7
|
+
@value = value
|
8
|
+
@binary_operator = binary_operator
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :name, :value, :binary_operator
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class InterpolatedMatchLastLineNode < Node
|
5
|
+
def initialize(parts:, ignore_case:, multi_line:, extended:, once:)
|
6
|
+
@parts = parts
|
7
|
+
@ignore_case = ignore_case
|
8
|
+
@multi_line = multi_line
|
9
|
+
@extended = extended
|
10
|
+
@once = once
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :parts, :ignore_case, :multi_line, :extended, :once
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class InterpolatedRegularExpressionNode < Node
|
5
|
+
def initialize(parts:, ignore_case:, multi_line:, extended:, once:)
|
6
|
+
@parts = parts
|
7
|
+
@ignore_case = ignore_case
|
8
|
+
@multi_line = multi_line
|
9
|
+
@extended = extended
|
10
|
+
@once = once
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :parts, :ignore_case, :multi_line, :extended, :once
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class LocalVariableOperatorWriteNode < Node
|
5
|
+
def initialize(name:, value:, binary_operator:, depth:)
|
6
|
+
@name = name
|
7
|
+
@value = value
|
8
|
+
@binary_operator = binary_operator
|
9
|
+
@depth = depth
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :name, :value, :binary_operator, :depth
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MatchLastLineNode < Node
|
5
|
+
def initialize(unescaped:, ignore_case:, multi_line:, extended:, once:)
|
6
|
+
@unescaped = unescaped
|
7
|
+
@ignore_case = ignore_case
|
8
|
+
@multi_line = multi_line
|
9
|
+
@extended = extended
|
10
|
+
@once = once
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :unescaped, :ignore_case, :multi_line, :extended, :once
|
14
|
+
end
|
15
|
+
end
|