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 LambdaNode < Node
|
5
|
+
def initialize(prism_node: nil, parameters:, body:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@parameters = parameters
|
8
|
+
@body = body
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :parameters, :body
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class LocalVariableAndWriteNode < Node
|
5
|
+
def initialize(prism_node: nil, name:, value:, depth:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@name = name
|
8
|
+
@value = value
|
9
|
+
@depth = depth
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :name, :value, :depth
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class LocalVariableOperatorWriteNode < Node
|
5
|
+
def initialize(prism_node: nil, name:, value:, binary_operator:, depth:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@name = name
|
8
|
+
@value = value
|
9
|
+
@binary_operator = binary_operator
|
10
|
+
@depth = depth
|
11
|
+
freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_accessor :name, :value, :binary_operator, :depth
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class LocalVariableOrWriteNode < Node
|
5
|
+
def initialize(prism_node: nil, name:, value:, depth:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@name = name
|
8
|
+
@value = value
|
9
|
+
@depth = depth
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :name, :value, :depth
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class LocalVariableWriteNode < Node
|
5
|
+
def initialize(prism_node: nil, name:, value:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@name = name
|
8
|
+
@value = value
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :name, :value
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MatchLastLineNode < Node
|
5
|
+
def initialize(prism_node: nil, unescaped:, ignore_case:, multi_line:, extended:, once:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@unescaped = unescaped
|
8
|
+
@ignore_case = ignore_case
|
9
|
+
@multi_line = multi_line
|
10
|
+
@extended = extended
|
11
|
+
@once = once
|
12
|
+
freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
attr_accessor :unescaped, :ignore_case, :multi_line, :extended, :once
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MatchPredicateNode < Node
|
5
|
+
def initialize(prism_node: nil, value:, pattern:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@value = value
|
8
|
+
@pattern = pattern
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :value, :pattern
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MatchRequiredNode < Node
|
5
|
+
def initialize(prism_node: nil, value:, pattern:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@value = value
|
8
|
+
@pattern = pattern
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :value, :pattern
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MatchWriteNode < Node
|
5
|
+
def initialize(prism_node: nil, call:, targets:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@call = call
|
8
|
+
@targets = targets
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :call, :targets
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class ModuleNode < Node
|
5
|
+
def initialize(prism_node: nil, constant_path:, body:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@constant_path = constant_path
|
8
|
+
@body = body
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :constant_path, :body
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MultiTargetNode < Node
|
5
|
+
def initialize(prism_node: nil, lefts:, rest:, rights:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@lefts = lefts
|
8
|
+
@rest = rest
|
9
|
+
@rights = rights
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :lefts, :rest, :rights
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class MultiWriteNode < Node
|
5
|
+
def initialize(prism_node: nil, lefts:, rest:, rights:, value:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@lefts = lefts
|
8
|
+
@rest = rest
|
9
|
+
@rights = rights
|
10
|
+
@value = value
|
11
|
+
freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_accessor :lefts, :rest, :rights, :value
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class NumberedReferenceReadNode < Node
|
5
|
+
def initialize(prism_node: nil, number:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@number = number
|
8
|
+
freeze
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :number
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class OptionalKeywordParameterNode < Node
|
5
|
+
def initialize(prism_node: nil, name:, value:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@name = name
|
8
|
+
@value = value
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :name, :value
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class OptionalParameterNode < Node
|
5
|
+
def initialize(prism_node: nil, name:, value:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@name = name
|
8
|
+
@value = value
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :name, :value
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class OrNode < Node
|
5
|
+
def initialize(prism_node: nil, left:, operator:, right:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@left = left
|
8
|
+
@operator = operator
|
9
|
+
@right = right
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :left, :operator, :right
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class ParametersNode < Node
|
5
|
+
def initialize(prism_node: nil, requireds:, optionals:, rest:, posts:, keywords:, keyword_rest:, block:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@requireds = requireds
|
8
|
+
@optionals = optionals
|
9
|
+
@rest = rest
|
10
|
+
@posts = posts
|
11
|
+
@keywords = keywords
|
12
|
+
@keyword_rest = keyword_rest
|
13
|
+
@block = block
|
14
|
+
freeze
|
15
|
+
end
|
16
|
+
|
17
|
+
attr_accessor :requireds, :optionals, :rest, :posts, :keywords, :keyword_rest, :block
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class PinnedExpressionNode < 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,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class PinnedVariableNode < Node
|
5
|
+
def initialize(prism_node: nil, variable:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@variable = variable
|
8
|
+
freeze
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :variable
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class PostExecutionNode < Node
|
5
|
+
def initialize(prism_node: nil, statements:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@statements = statements
|
8
|
+
freeze
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :statements
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class PreExecutionNode < Node
|
5
|
+
def initialize(prism_node: nil, statements:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@statements = statements
|
8
|
+
freeze
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :statements
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class ProgramNode < Node
|
5
|
+
def initialize(prism_node: nil, statements:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@statements = statements
|
8
|
+
freeze
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_accessor :statements
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RangeNode < Node
|
5
|
+
def initialize(prism_node: nil, left:, right:, exclude_end:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@left = left
|
8
|
+
@right = right
|
9
|
+
@exclude_end = exclude_end
|
10
|
+
freeze
|
11
|
+
end
|
12
|
+
|
13
|
+
attr_accessor :left, :right, :exclude_end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RationalNode < Node
|
5
|
+
def initialize(prism_node: nil, numerator:, denominator:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@numerator = numerator
|
8
|
+
@denominator = denominator
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :numerator, :denominator
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RegularExpressionNode < Node
|
5
|
+
def initialize(prism_node: nil, unescaped:, ignore_case:, multi_line:, extended:, once:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@unescaped = unescaped
|
8
|
+
@ignore_case = ignore_case
|
9
|
+
@multi_line = multi_line
|
10
|
+
@extended = extended
|
11
|
+
@once = once
|
12
|
+
freeze
|
13
|
+
end
|
14
|
+
|
15
|
+
attr_accessor :unescaped, :ignore_case, :multi_line, :extended, :once
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RescueModifierNode < Node
|
5
|
+
def initialize(prism_node: nil, expression:, rescue_expression:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@expression = expression
|
8
|
+
@rescue_expression = rescue_expression
|
9
|
+
freeze
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_accessor :expression, :rescue_expression
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Refract
|
4
|
+
class RescueNode < Node
|
5
|
+
def initialize(prism_node: nil, exceptions:, reference:, statements:, subsequent:)
|
6
|
+
@prism_node = prism_node => Prism::Node | nil
|
7
|
+
@exceptions = exceptions
|
8
|
+
@reference = reference
|
9
|
+
@statements = statements
|
10
|
+
@subsequent = subsequent
|
11
|
+
freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
attr_accessor :exceptions, :reference, :statements, :subsequent
|
15
|
+
end
|
16
|
+
end
|