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 ConstantWriteNode < 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,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class DefNode < Node
5
+ def initialize(prism_node: nil, name:, receiver:, parameters:, body:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @name = name
8
+ @receiver = receiver
9
+ @parameters = parameters
10
+ @body = body
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :name, :receiver, :parameters, :body
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class DefinedNode < 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 ElseNode < 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 EmbeddedStatementsNode < 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 EmbeddedVariableNode < 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 EnsureNode < 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,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class FalseNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class FindPatternNode < Node
5
+ def initialize(prism_node: nil, constant:, left:, requireds:, right:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @constant = constant
8
+ @left = left
9
+ @requireds = requireds
10
+ @right = right
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :constant, :left, :requireds, :right
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class FlipFlopNode < 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,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class FloatNode < 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,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ForNode < Node
5
+ def initialize(prism_node: nil, index:, collection:, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @index = index
8
+ @collection = collection
9
+ @statements = statements
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :index, :collection, :statements
14
+ end
15
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ForwardingArgumentsNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ForwardingParameterNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ForwardingSuperNode < Node
5
+ def initialize(prism_node: nil, block:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @block = block
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :block
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class GlobalVariableAndWriteNode < 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 GlobalVariableOperatorWriteNode < 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 GlobalVariableOrWriteNode < 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 GlobalVariableReadNode < 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 GlobalVariableTargetNode < 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 GlobalVariableWriteNode < 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 HashNode < 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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class HashPatternNode < Node
5
+ def initialize(prism_node: nil, elements:, rest:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @elements = elements
8
+ @rest = rest
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :elements, :rest
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class IfNode < Node
5
+ def initialize(prism_node: nil, predicate:, statements: nil, subsequent: nil, inline:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @predicate = predicate
8
+ @statements = statements
9
+ @subsequent = subsequent
10
+ @inline = inline
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :predicate, :statements, :subsequent, :inline
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ImaginaryNode < Node
5
+ def initialize(prism_node: nil, numeric:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @numeric = numeric
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :numeric
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ImplicitNode < 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,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class ImplicitRestNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InNode < Node
5
+ def initialize(prism_node: nil, pattern:, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @pattern = pattern
8
+ @statements = statements
9
+ freeze
10
+ end
11
+
12
+ attr_accessor :pattern, :statements
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class IndexAndWriteNode < Node
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @arguments = arguments
9
+ @block = block
10
+ @value = value
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :receiver, :arguments, :block, :value
15
+ end
16
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class IndexOperatorWriteNode < Node
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:, binary_operator:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @arguments = arguments
9
+ @block = block
10
+ @binary_operator = binary_operator
11
+ @value = value
12
+ freeze
13
+ end
14
+
15
+ attr_accessor :receiver, :arguments, :block, :binary_operator, :value
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class IndexOrWriteNode < Node
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @arguments = arguments
9
+ @block = block
10
+ @value = value
11
+ freeze
12
+ end
13
+
14
+ attr_accessor :receiver, :arguments, :block, :value
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class IndexTargetNode < Node
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @receiver = receiver
8
+ @arguments = arguments
9
+ @block = block
10
+ freeze
11
+ end
12
+
13
+ attr_accessor :receiver, :arguments, :block
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InstanceVariableAndWriteNode < 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 InstanceVariableOperatorWriteNode < 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 InstanceVariableOrWriteNode < 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 InstanceVariableReadNode < 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 InstanceVariableTargetNode < 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 InstanceVariableWriteNode < 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 IntegerNode < 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,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InterpolatedMatchLastLineNode < Node
5
+ def initialize(prism_node: nil, parts:, ignore_case:, multi_line:, extended:, once:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parts = parts
8
+ @ignore_case = ignore_case
9
+ @multi_line = multi_line
10
+ @extended = extended
11
+ @once = once
12
+ freeze
13
+ end
14
+
15
+ attr_accessor :parts, :ignore_case, :multi_line, :extended, :once
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InterpolatedRegularExpressionNode < Node
5
+ def initialize(prism_node: nil, parts:, ignore_case:, multi_line:, extended:, once:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parts = parts
8
+ @ignore_case = ignore_case
9
+ @multi_line = multi_line
10
+ @extended = extended
11
+ @once = once
12
+ freeze
13
+ end
14
+
15
+ attr_accessor :parts, :ignore_case, :multi_line, :extended, :once
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InterpolatedStringNode < Node
5
+ def initialize(prism_node: nil, parts:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parts = parts
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :parts
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InterpolatedSymbolNode < Node
5
+ def initialize(prism_node: nil, parts:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parts = parts
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :parts
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Refract
4
+ class InterpolatedXStringNode < Node
5
+ def initialize(prism_node: nil, parts:)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ @parts = parts
8
+ freeze
9
+ end
10
+
11
+ attr_accessor :parts
12
+ end
13
+ end