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.
Files changed (164) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +21 -0
  3. data/README.md +7 -0
  4. data/lib/refract/basic_visitor.rb +45 -0
  5. data/lib/refract/converter.rb +1204 -0
  6. data/lib/refract/formatter.rb +1304 -0
  7. data/lib/refract/mutation_visitor.rb +895 -0
  8. data/lib/refract/nodes/alias_global_variable_node.rb +14 -0
  9. data/lib/refract/nodes/alias_method_node.rb +14 -0
  10. data/lib/refract/nodes/alternation_pattern_node.rb +14 -0
  11. data/lib/refract/nodes/and_node.rb +15 -0
  12. data/lib/refract/nodes/arguments_node.rb +13 -0
  13. data/lib/refract/nodes/array_node.rb +13 -0
  14. data/lib/refract/nodes/array_pattern_node.rb +16 -0
  15. data/lib/refract/nodes/assoc_node.rb +14 -0
  16. data/lib/refract/nodes/assoc_splat_node.rb +13 -0
  17. data/lib/refract/nodes/back_reference_read_node.rb +13 -0
  18. data/lib/refract/nodes/begin_node.rb +16 -0
  19. data/lib/refract/nodes/block_argument_node.rb +13 -0
  20. data/lib/refract/nodes/block_local_variable_node.rb +13 -0
  21. data/lib/refract/nodes/block_node.rb +14 -0
  22. data/lib/refract/nodes/block_parameter_node.rb +13 -0
  23. data/lib/refract/nodes/block_parameters_node.rb +14 -0
  24. data/lib/refract/nodes/break_node.rb +13 -0
  25. data/lib/refract/nodes/call_and_write_node.rb +15 -0
  26. data/lib/refract/nodes/call_node.rb +16 -0
  27. data/lib/refract/nodes/call_operator_write_node.rb +16 -0
  28. data/lib/refract/nodes/call_or_write_node.rb +15 -0
  29. data/lib/refract/nodes/call_target_node.rb +14 -0
  30. data/lib/refract/nodes/capture_pattern_node.rb +14 -0
  31. data/lib/refract/nodes/case_match_node.rb +15 -0
  32. data/lib/refract/nodes/case_node.rb +15 -0
  33. data/lib/refract/nodes/class_node.rb +15 -0
  34. data/lib/refract/nodes/class_variable_and_write_node.rb +14 -0
  35. data/lib/refract/nodes/class_variable_operator_write_node.rb +15 -0
  36. data/lib/refract/nodes/class_variable_or_write_node.rb +14 -0
  37. data/lib/refract/nodes/class_variable_read_node.rb +13 -0
  38. data/lib/refract/nodes/class_variable_target_node.rb +13 -0
  39. data/lib/refract/nodes/class_variable_write_node.rb +14 -0
  40. data/lib/refract/nodes/constant_and_write_node.rb +14 -0
  41. data/lib/refract/nodes/constant_operator_write_node.rb +15 -0
  42. data/lib/refract/nodes/constant_or_write_node.rb +14 -0
  43. data/lib/refract/nodes/constant_path_and_write_node.rb +14 -0
  44. data/lib/refract/nodes/constant_path_node.rb +14 -0
  45. data/lib/refract/nodes/constant_path_operator_write_node.rb +15 -0
  46. data/lib/refract/nodes/constant_path_or_write_node.rb +14 -0
  47. data/lib/refract/nodes/constant_path_target_node.rb +14 -0
  48. data/lib/refract/nodes/constant_path_write_node.rb +14 -0
  49. data/lib/refract/nodes/constant_read_node.rb +13 -0
  50. data/lib/refract/nodes/constant_target_node.rb +13 -0
  51. data/lib/refract/nodes/constant_write_node.rb +14 -0
  52. data/lib/refract/nodes/def_node.rb +16 -0
  53. data/lib/refract/nodes/defined_node.rb +13 -0
  54. data/lib/refract/nodes/else_node.rb +13 -0
  55. data/lib/refract/nodes/embedded_statements_node.rb +13 -0
  56. data/lib/refract/nodes/embedded_variable_node.rb +13 -0
  57. data/lib/refract/nodes/ensure_node.rb +13 -0
  58. data/lib/refract/nodes/false_node.rb +9 -0
  59. data/lib/refract/nodes/find_pattern_node.rb +16 -0
  60. data/lib/refract/nodes/flip_flop_node.rb +15 -0
  61. data/lib/refract/nodes/float_node.rb +13 -0
  62. data/lib/refract/nodes/for_node.rb +15 -0
  63. data/lib/refract/nodes/forwarding_arguments_node.rb +9 -0
  64. data/lib/refract/nodes/forwarding_parameter_node.rb +9 -0
  65. data/lib/refract/nodes/forwarding_super_node.rb +13 -0
  66. data/lib/refract/nodes/global_variable_and_write_node.rb +14 -0
  67. data/lib/refract/nodes/global_variable_operator_write_node.rb +15 -0
  68. data/lib/refract/nodes/global_variable_or_write_node.rb +14 -0
  69. data/lib/refract/nodes/global_variable_read_node.rb +13 -0
  70. data/lib/refract/nodes/global_variable_target_node.rb +13 -0
  71. data/lib/refract/nodes/global_variable_write_node.rb +14 -0
  72. data/lib/refract/nodes/hash_node.rb +13 -0
  73. data/lib/refract/nodes/hash_pattern_node.rb +14 -0
  74. data/lib/refract/nodes/if_node.rb +16 -0
  75. data/lib/refract/nodes/imaginary_node.rb +13 -0
  76. data/lib/refract/nodes/implicit_node.rb +13 -0
  77. data/lib/refract/nodes/implicit_rest_node.rb +9 -0
  78. data/lib/refract/nodes/in_node.rb +14 -0
  79. data/lib/refract/nodes/index_and_write_node.rb +16 -0
  80. data/lib/refract/nodes/index_operator_write_node.rb +17 -0
  81. data/lib/refract/nodes/index_or_write_node.rb +16 -0
  82. data/lib/refract/nodes/index_target_node.rb +15 -0
  83. data/lib/refract/nodes/instance_variable_and_write_node.rb +14 -0
  84. data/lib/refract/nodes/instance_variable_operator_write_node.rb +15 -0
  85. data/lib/refract/nodes/instance_variable_or_write_node.rb +14 -0
  86. data/lib/refract/nodes/instance_variable_read_node.rb +13 -0
  87. data/lib/refract/nodes/instance_variable_target_node.rb +13 -0
  88. data/lib/refract/nodes/instance_variable_write_node.rb +14 -0
  89. data/lib/refract/nodes/integer_node.rb +13 -0
  90. data/lib/refract/nodes/interpolated_match_last_line_node.rb +17 -0
  91. data/lib/refract/nodes/interpolated_regular_expression_node.rb +17 -0
  92. data/lib/refract/nodes/interpolated_string_node.rb +13 -0
  93. data/lib/refract/nodes/interpolated_symbol_node.rb +13 -0
  94. data/lib/refract/nodes/interpolated_x_string_node.rb +13 -0
  95. data/lib/refract/nodes/it_local_variable_read_node.rb +9 -0
  96. data/lib/refract/nodes/it_parameters_node.rb +9 -0
  97. data/lib/refract/nodes/keyword_hash_node.rb +13 -0
  98. data/lib/refract/nodes/keyword_rest_parameter_node.rb +13 -0
  99. data/lib/refract/nodes/lambda_node.rb +14 -0
  100. data/lib/refract/nodes/local_variable_and_write_node.rb +15 -0
  101. data/lib/refract/nodes/local_variable_operator_write_node.rb +16 -0
  102. data/lib/refract/nodes/local_variable_or_write_node.rb +15 -0
  103. data/lib/refract/nodes/local_variable_read_node.rb +13 -0
  104. data/lib/refract/nodes/local_variable_target_node.rb +13 -0
  105. data/lib/refract/nodes/local_variable_write_node.rb +14 -0
  106. data/lib/refract/nodes/match_last_line_node.rb +17 -0
  107. data/lib/refract/nodes/match_predicate_node.rb +14 -0
  108. data/lib/refract/nodes/match_required_node.rb +14 -0
  109. data/lib/refract/nodes/match_write_node.rb +14 -0
  110. data/lib/refract/nodes/missing_node.rb +9 -0
  111. data/lib/refract/nodes/module_node.rb +14 -0
  112. data/lib/refract/nodes/multi_target_node.rb +15 -0
  113. data/lib/refract/nodes/multi_write_node.rb +16 -0
  114. data/lib/refract/nodes/next_node.rb +13 -0
  115. data/lib/refract/nodes/nil_node.rb +9 -0
  116. data/lib/refract/nodes/no_keywords_parameter_node.rb +9 -0
  117. data/lib/refract/nodes/numbered_parameters_node.rb +9 -0
  118. data/lib/refract/nodes/numbered_reference_read_node.rb +13 -0
  119. data/lib/refract/nodes/optional_keyword_parameter_node.rb +14 -0
  120. data/lib/refract/nodes/optional_parameter_node.rb +14 -0
  121. data/lib/refract/nodes/or_node.rb +15 -0
  122. data/lib/refract/nodes/parameters_node.rb +19 -0
  123. data/lib/refract/nodes/parentheses_node.rb +13 -0
  124. data/lib/refract/nodes/pinned_expression_node.rb +13 -0
  125. data/lib/refract/nodes/pinned_variable_node.rb +13 -0
  126. data/lib/refract/nodes/post_execution_node.rb +13 -0
  127. data/lib/refract/nodes/pre_execution_node.rb +13 -0
  128. data/lib/refract/nodes/program_node.rb +13 -0
  129. data/lib/refract/nodes/range_node.rb +15 -0
  130. data/lib/refract/nodes/rational_node.rb +14 -0
  131. data/lib/refract/nodes/redo_node.rb +9 -0
  132. data/lib/refract/nodes/regular_expression_node.rb +17 -0
  133. data/lib/refract/nodes/required_keyword_parameter_node.rb +13 -0
  134. data/lib/refract/nodes/required_parameter_node.rb +13 -0
  135. data/lib/refract/nodes/rescue_modifier_node.rb +14 -0
  136. data/lib/refract/nodes/rescue_node.rb +16 -0
  137. data/lib/refract/nodes/rest_parameter_node.rb +13 -0
  138. data/lib/refract/nodes/retry_node.rb +9 -0
  139. data/lib/refract/nodes/return_node.rb +13 -0
  140. data/lib/refract/nodes/self_node.rb +9 -0
  141. data/lib/refract/nodes/shareable_constant_node.rb +13 -0
  142. data/lib/refract/nodes/singleton_class_node.rb +14 -0
  143. data/lib/refract/nodes/source_encoding_node.rb +9 -0
  144. data/lib/refract/nodes/source_file_node.rb +9 -0
  145. data/lib/refract/nodes/source_line_node.rb +9 -0
  146. data/lib/refract/nodes/splat_node.rb +13 -0
  147. data/lib/refract/nodes/statements_node.rb +13 -0
  148. data/lib/refract/nodes/string_node.rb +13 -0
  149. data/lib/refract/nodes/super_node.rb +14 -0
  150. data/lib/refract/nodes/symbol_node.rb +13 -0
  151. data/lib/refract/nodes/true_node.rb +9 -0
  152. data/lib/refract/nodes/undef_node.rb +13 -0
  153. data/lib/refract/nodes/unless_node.rb +16 -0
  154. data/lib/refract/nodes/until_node.rb +15 -0
  155. data/lib/refract/nodes/when_node.rb +14 -0
  156. data/lib/refract/nodes/while_node.rb +15 -0
  157. data/lib/refract/nodes/x_string_node.rb +13 -0
  158. data/lib/refract/nodes/yield_node.rb +13 -0
  159. data/lib/refract/version.rb +5 -0
  160. data/lib/refract/visitor.rb +689 -0
  161. data/lib/refract.rb +50 -55
  162. data/lib/rubocop/cop/refract/ordered_visit_methods.rb +107 -0
  163. data/lib/rubocop/cop/refract_cops.rb +3 -0
  164. metadata +189 -26
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class AliasGlobalVariableNode < Node
5
+ def initialize(prism_node: nil, new_name:, old_name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @new_name = new_name => GlobalVariableReadNode
8
+ @old_name = old_name => GlobalVariableReadNode
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :new_name, :old_name
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class AliasMethodNode < Node
5
+ def initialize(prism_node: nil, new_name:, old_name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @new_name = new_name
8
+ @old_name = old_name
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :new_name, :old_name
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class AlternationPatternNode < Node
5
+ def initialize(prism_node: nil, left:, right:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @left = left
8
+ @right = right
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :left, :right
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class AndNode < 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,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ArgumentsNode < Node
5
+ def initialize(prism_node: nil, arguments:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @arguments = arguments
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :arguments
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ArrayNode < Node
5
+ def initialize(prism_node: nil, elements:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @elements = elements
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :elements
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ArrayPatternNode < Node
5
+ def initialize(prism_node: nil, constant:, requireds:, rest:, posts:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @constant = constant
8
+ @requireds = requireds
9
+ @rest = rest
10
+ @posts = posts
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :constant, :requireds, :rest, :posts
15
+ end
16
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class AssocNode < Node
5
+ def initialize(prism_node: nil, key:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @key = key
8
+ @value = value
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :key, :value
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class AssocSplatNode < Node
5
+ def initialize(prism_node: nil, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @value = value
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :value
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BackReferenceReadNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BeginNode < Node
5
+ def initialize(prism_node: nil, statements:, rescue_clause:, else_clause:, ensure_clause:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @statements = statements
8
+ @rescue_clause = rescue_clause
9
+ @else_clause = else_clause
10
+ @ensure_clause = ensure_clause
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :statements, :rescue_clause, :else_clause, :ensure_clause
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BlockArgumentNode < 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 BlockLocalVariableNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BlockNode < 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,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BlockParameterNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BlockParametersNode < Node
5
+ def initialize(prism_node: nil, parameters:, locals:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parameters = parameters
8
+ @locals = locals
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :parameters, :locals
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class BreakNode < Node
5
+ def initialize(prism_node: nil, arguments:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @arguments = arguments
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :arguments
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CallAndWriteNode < Node
5
+ def initialize(prism_node: nil, receiver:, read_name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @read_name = read_name
9
+ @value = value
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :receiver, :read_name, :value
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CallNode < Node
5
+ def initialize(prism_node: nil, receiver: nil, name:, arguments: nil, block: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @name = name => Symbol
9
+ @arguments = arguments
10
+ @block = block
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :receiver, :name, :arguments, :block
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CallOperatorWriteNode < Node
5
+ def initialize(prism_node: nil, receiver:, read_name:, binary_operator:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @read_name = read_name
9
+ @binary_operator = binary_operator
10
+ @value = value
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :receiver, :read_name, :binary_operator, :value
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CallOrWriteNode < Node
5
+ def initialize(prism_node: nil, receiver:, read_name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @read_name = read_name
9
+ @value = value
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :receiver, :read_name, :value
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CallTargetNode < Node
5
+ def initialize(prism_node: nil, receiver:, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @name = name
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :receiver, :name
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CapturePatternNode < Node
5
+ def initialize(prism_node: nil, value:, target:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @value = value
8
+ @target = target
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :value, :target
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CaseMatchNode < Node
5
+ def initialize(prism_node: nil, predicate:, conditions:, else_clause:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @predicate = predicate
8
+ @conditions = conditions
9
+ @else_clause = else_clause
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :predicate, :conditions, :else_clause
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class CaseNode < Node
5
+ def initialize(prism_node: nil, predicate:, conditions:, else_clause:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @predicate = predicate
8
+ @conditions = conditions
9
+ @else_clause = else_clause
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :predicate, :conditions, :else_clause
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ClassNode < Node
5
+ def initialize(prism_node: nil, constant_path:, superclass:, body:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @constant_path = constant_path
8
+ @superclass = superclass
9
+ @body = body
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :constant_path, :superclass, :body
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ClassVariableAndWriteNode < 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 ClassVariableOperatorWriteNode < Node
5
+ def initialize(prism_node: nil, name:, value:, binary_operator:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ @value = value
9
+ @binary_operator = binary_operator
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :name, :value, :binary_operator
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ClassVariableOrWriteNode < 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,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ClassVariableReadNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ClassVariableTargetNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ClassVariableWriteNode < 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 ConstantAndWriteNode < 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 ConstantOperatorWriteNode < Node
5
+ def initialize(prism_node: nil, name:, value:, binary_operator:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ @value = value
9
+ @binary_operator = binary_operator
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :name, :value, :binary_operator
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantOrWriteNode < 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 ConstantPathAndWriteNode < Node
5
+ def initialize(prism_node: nil, target:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @target = target
8
+ @value = value
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :target, :value
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantPathNode < Node
5
+ def initialize(prism_node: nil, parent: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parent = parent
8
+ @name = name
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :parent, :name
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantPathOperatorWriteNode < Node
5
+ def initialize(prism_node: nil, target:, value:, binary_operator:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @target = target
8
+ @value = value
9
+ @binary_operator = binary_operator
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :target, :value, :binary_operator
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantPathOrWriteNode < Node
5
+ def initialize(prism_node: nil, target:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @target = target
8
+ @value = value
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :target, :value
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantPathTargetNode < Node
5
+ def initialize(prism_node: nil, parent:, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parent = parent
8
+ @name = name
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :parent, :name
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantPathWriteNode < Node
5
+ def initialize(prism_node: nil, target:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @target = target
8
+ @value = value
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :target, :value
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantReadNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ConstantTargetNode < Node
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :name
12
+ end
13
+ end