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 MultiWriteNode < Node
|
5
|
+
def initialize(lefts:, rest:, rights:, value:)
|
6
|
+
@lefts = lefts
|
7
|
+
@rest = rest
|
8
|
+
@rights = rights
|
9
|
+
@value = value
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :lefts, :rest, :rights, :value
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class ParametersNode < Node
|
5
|
+
def initialize(requireds:, optionals:, rest:, posts:, keywords:, keyword_rest:, block:)
|
6
|
+
@requireds = requireds
|
7
|
+
@optionals = optionals
|
8
|
+
@rest = rest
|
9
|
+
@posts = posts
|
10
|
+
@keywords = keywords
|
11
|
+
@keyword_rest = keyword_rest
|
12
|
+
@block = block
|
13
|
+
end
|
14
|
+
|
15
|
+
attr_accessor :requireds, :optionals, :rest, :posts, :keywords, :keyword_rest, :block
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RegularExpressionNode < 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
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RescueModifierNode < Node
|
5
|
+
def initialize(expression:, rescue_expression:)
|
6
|
+
@expression = expression
|
7
|
+
@rescue_expression = rescue_expression
|
8
|
+
end
|
9
|
+
|
10
|
+
attr_accessor :expression, :rescue_expression
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RescueNode < Node
|
5
|
+
def initialize(exceptions:, reference:, statements:, subsequent:)
|
6
|
+
@exceptions = exceptions
|
7
|
+
@reference = reference
|
8
|
+
@statements = statements
|
9
|
+
@subsequent = subsequent
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :exceptions, :reference, :statements, :subsequent
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class UnlessNode < Node
|
5
|
+
def initialize(predicate:, statements:, else_clause:)
|
6
|
+
@predicate = predicate
|
7
|
+
@statements = statements
|
8
|
+
@else_clause = else_clause
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :predicate, :statements, :else_clause
|
12
|
+
end
|
13
|
+
end
|