refract 1.0.0.beta1 → 1.1.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 (162) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/refract/basic_visitor.rb +7 -2
  4. data/lib/refract/converter.rb +197 -23
  5. data/lib/refract/formatter.rb +146 -80
  6. data/lib/refract/mutation_visitor.rb +111 -115
  7. data/lib/refract/nodes/alias_global_variable_node.rb +3 -1
  8. data/lib/refract/nodes/alias_method_node.rb +3 -1
  9. data/lib/refract/nodes/alternation_pattern_node.rb +3 -1
  10. data/lib/refract/nodes/and_node.rb +3 -1
  11. data/lib/refract/nodes/arguments_node.rb +3 -1
  12. data/lib/refract/nodes/array_node.rb +3 -1
  13. data/lib/refract/nodes/array_pattern_node.rb +3 -1
  14. data/lib/refract/nodes/assoc_node.rb +3 -1
  15. data/lib/refract/nodes/assoc_splat_node.rb +3 -1
  16. data/lib/refract/nodes/back_reference_read_node.rb +3 -1
  17. data/lib/refract/nodes/begin_node.rb +3 -1
  18. data/lib/refract/nodes/block_argument_node.rb +3 -1
  19. data/lib/refract/nodes/block_local_variable_node.rb +3 -1
  20. data/lib/refract/nodes/block_node.rb +3 -1
  21. data/lib/refract/nodes/block_parameter_node.rb +3 -1
  22. data/lib/refract/nodes/block_parameters_node.rb +3 -1
  23. data/lib/refract/nodes/break_node.rb +3 -1
  24. data/lib/refract/nodes/call_and_write_node.rb +3 -1
  25. data/lib/refract/nodes/call_node.rb +6 -3
  26. data/lib/refract/nodes/call_operator_write_node.rb +3 -1
  27. data/lib/refract/nodes/call_or_write_node.rb +3 -1
  28. data/lib/refract/nodes/call_target_node.rb +3 -1
  29. data/lib/refract/nodes/capture_pattern_node.rb +3 -1
  30. data/lib/refract/nodes/case_match_node.rb +3 -1
  31. data/lib/refract/nodes/case_node.rb +3 -1
  32. data/lib/refract/nodes/class_node.rb +3 -1
  33. data/lib/refract/nodes/class_variable_and_write_node.rb +3 -1
  34. data/lib/refract/nodes/class_variable_operator_write_node.rb +3 -1
  35. data/lib/refract/nodes/class_variable_or_write_node.rb +3 -1
  36. data/lib/refract/nodes/class_variable_read_node.rb +3 -1
  37. data/lib/refract/nodes/class_variable_target_node.rb +3 -1
  38. data/lib/refract/nodes/class_variable_write_node.rb +3 -1
  39. data/lib/refract/nodes/constant_and_write_node.rb +3 -1
  40. data/lib/refract/nodes/constant_operator_write_node.rb +3 -1
  41. data/lib/refract/nodes/constant_or_write_node.rb +3 -1
  42. data/lib/refract/nodes/constant_path_and_write_node.rb +3 -1
  43. data/lib/refract/nodes/constant_path_node.rb +14 -0
  44. data/lib/refract/nodes/constant_path_operator_write_node.rb +3 -1
  45. data/lib/refract/nodes/constant_path_or_write_node.rb +3 -1
  46. data/lib/refract/nodes/constant_path_target_node.rb +3 -1
  47. data/lib/refract/nodes/constant_path_write_node.rb +3 -1
  48. data/lib/refract/nodes/constant_read_node.rb +3 -1
  49. data/lib/refract/nodes/constant_target_node.rb +3 -1
  50. data/lib/refract/nodes/constant_write_node.rb +3 -1
  51. data/lib/refract/nodes/def_node.rb +3 -1
  52. data/lib/refract/nodes/defined_node.rb +3 -1
  53. data/lib/refract/nodes/else_node.rb +3 -1
  54. data/lib/refract/nodes/embedded_statements_node.rb +3 -1
  55. data/lib/refract/nodes/embedded_variable_node.rb +3 -1
  56. data/lib/refract/nodes/ensure_node.rb +3 -1
  57. data/lib/refract/nodes/false_node.rb +3 -0
  58. data/lib/refract/nodes/find_pattern_node.rb +3 -1
  59. data/lib/refract/nodes/flip_flop_node.rb +3 -1
  60. data/lib/refract/nodes/float_node.rb +3 -1
  61. data/lib/refract/nodes/for_node.rb +3 -1
  62. data/lib/refract/nodes/forwarding_arguments_node.rb +3 -0
  63. data/lib/refract/nodes/forwarding_parameter_node.rb +3 -0
  64. data/lib/refract/nodes/forwarding_super_node.rb +3 -1
  65. data/lib/refract/nodes/global_variable_and_write_node.rb +3 -1
  66. data/lib/refract/nodes/global_variable_operator_write_node.rb +3 -1
  67. data/lib/refract/nodes/global_variable_or_write_node.rb +3 -1
  68. data/lib/refract/nodes/global_variable_read_node.rb +3 -1
  69. data/lib/refract/nodes/global_variable_target_node.rb +3 -1
  70. data/lib/refract/nodes/global_variable_write_node.rb +3 -1
  71. data/lib/refract/nodes/hash_node.rb +3 -1
  72. data/lib/refract/nodes/hash_pattern_node.rb +3 -1
  73. data/lib/refract/nodes/if_node.rb +5 -2
  74. data/lib/refract/nodes/imaginary_node.rb +3 -1
  75. data/lib/refract/nodes/implicit_node.rb +3 -1
  76. data/lib/refract/nodes/implicit_rest_node.rb +3 -0
  77. data/lib/refract/nodes/in_node.rb +3 -1
  78. data/lib/refract/nodes/index_and_write_node.rb +3 -1
  79. data/lib/refract/nodes/index_operator_write_node.rb +3 -1
  80. data/lib/refract/nodes/index_or_write_node.rb +3 -1
  81. data/lib/refract/nodes/index_target_node.rb +4 -2
  82. data/lib/refract/nodes/instance_variable_and_write_node.rb +3 -1
  83. data/lib/refract/nodes/instance_variable_operator_write_node.rb +3 -1
  84. data/lib/refract/nodes/instance_variable_or_write_node.rb +3 -1
  85. data/lib/refract/nodes/instance_variable_read_node.rb +3 -1
  86. data/lib/refract/nodes/instance_variable_target_node.rb +3 -1
  87. data/lib/refract/nodes/instance_variable_write_node.rb +3 -1
  88. data/lib/refract/nodes/integer_node.rb +3 -1
  89. data/lib/refract/nodes/interpolated_match_last_line_node.rb +3 -1
  90. data/lib/refract/nodes/interpolated_regular_expression_node.rb +3 -1
  91. data/lib/refract/nodes/interpolated_string_node.rb +3 -1
  92. data/lib/refract/nodes/interpolated_symbol_node.rb +3 -1
  93. data/lib/refract/nodes/interpolated_x_string_node.rb +3 -1
  94. data/lib/refract/nodes/it_local_variable_read_node.rb +3 -0
  95. data/lib/refract/nodes/it_parameters_node.rb +3 -0
  96. data/lib/refract/nodes/keyword_hash_node.rb +3 -1
  97. data/lib/refract/nodes/keyword_rest_parameter_node.rb +3 -1
  98. data/lib/refract/nodes/lambda_node.rb +3 -1
  99. data/lib/refract/nodes/local_variable_and_write_node.rb +3 -1
  100. data/lib/refract/nodes/local_variable_operator_write_node.rb +3 -1
  101. data/lib/refract/nodes/local_variable_or_write_node.rb +3 -1
  102. data/lib/refract/nodes/local_variable_read_node.rb +3 -1
  103. data/lib/refract/nodes/local_variable_target_node.rb +3 -1
  104. data/lib/refract/nodes/local_variable_write_node.rb +3 -1
  105. data/lib/refract/nodes/match_last_line_node.rb +3 -1
  106. data/lib/refract/nodes/match_predicate_node.rb +3 -1
  107. data/lib/refract/nodes/match_required_node.rb +3 -1
  108. data/lib/refract/nodes/match_write_node.rb +3 -1
  109. data/lib/refract/nodes/missing_node.rb +3 -0
  110. data/lib/refract/nodes/module_node.rb +3 -1
  111. data/lib/refract/nodes/multi_target_node.rb +3 -1
  112. data/lib/refract/nodes/multi_write_node.rb +3 -1
  113. data/lib/refract/nodes/next_node.rb +3 -1
  114. data/lib/refract/nodes/nil_node.rb +3 -0
  115. data/lib/refract/nodes/no_keywords_parameter_node.rb +3 -0
  116. data/lib/refract/nodes/numbered_parameters_node.rb +3 -0
  117. data/lib/refract/nodes/numbered_reference_read_node.rb +3 -1
  118. data/lib/refract/nodes/optional_keyword_parameter_node.rb +3 -1
  119. data/lib/refract/nodes/optional_parameter_node.rb +3 -1
  120. data/lib/refract/nodes/or_node.rb +3 -1
  121. data/lib/refract/nodes/parameters_node.rb +3 -1
  122. data/lib/refract/nodes/parentheses_node.rb +3 -1
  123. data/lib/refract/nodes/pinned_expression_node.rb +3 -1
  124. data/lib/refract/nodes/pinned_variable_node.rb +3 -1
  125. data/lib/refract/nodes/post_execution_node.rb +3 -1
  126. data/lib/refract/nodes/pre_execution_node.rb +3 -1
  127. data/lib/refract/nodes/program_node.rb +4 -2
  128. data/lib/refract/nodes/range_node.rb +3 -1
  129. data/lib/refract/nodes/rational_node.rb +3 -1
  130. data/lib/refract/nodes/redo_node.rb +3 -0
  131. data/lib/refract/nodes/regular_expression_node.rb +3 -1
  132. data/lib/refract/nodes/required_keyword_parameter_node.rb +3 -1
  133. data/lib/refract/nodes/required_parameter_node.rb +3 -1
  134. data/lib/refract/nodes/rescue_modifier_node.rb +3 -1
  135. data/lib/refract/nodes/rescue_node.rb +3 -1
  136. data/lib/refract/nodes/rest_parameter_node.rb +3 -1
  137. data/lib/refract/nodes/retry_node.rb +3 -0
  138. data/lib/refract/nodes/return_node.rb +3 -1
  139. data/lib/refract/nodes/self_node.rb +3 -0
  140. data/lib/refract/nodes/shareable_constant_node.rb +3 -1
  141. data/lib/refract/nodes/singleton_class_node.rb +3 -1
  142. data/lib/refract/nodes/source_encoding_node.rb +3 -0
  143. data/lib/refract/nodes/source_file_node.rb +3 -0
  144. data/lib/refract/nodes/source_line_node.rb +3 -0
  145. data/lib/refract/nodes/splat_node.rb +3 -1
  146. data/lib/refract/nodes/statements_node.rb +3 -1
  147. data/lib/refract/nodes/string_node.rb +3 -1
  148. data/lib/refract/nodes/super_node.rb +3 -1
  149. data/lib/refract/nodes/symbol_node.rb +5 -2
  150. data/lib/refract/nodes/true_node.rb +3 -0
  151. data/lib/refract/nodes/undef_node.rb +3 -1
  152. data/lib/refract/nodes/unless_node.rb +5 -2
  153. data/lib/refract/nodes/until_node.rb +5 -2
  154. data/lib/refract/nodes/when_node.rb +3 -1
  155. data/lib/refract/nodes/while_node.rb +5 -2
  156. data/lib/refract/nodes/x_string_node.rb +3 -1
  157. data/lib/refract/nodes/yield_node.rb +3 -1
  158. data/lib/refract/version.rb +1 -1
  159. data/lib/refract/visitor.rb +4 -4
  160. data/lib/refract.rb +11 -2
  161. metadata +2 -2
  162. data/lib/refract/nodes/constant_path.rb +0 -12
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class ElseNode < Node
5
- def initialize(statements:)
5
+ def initialize(prism_node: nil, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @statements = statements
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :statements
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class EmbeddedStatementsNode < Node
5
- def initialize(statements:)
5
+ def initialize(prism_node: nil, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @statements = statements
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :statements
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class EmbeddedVariableNode < Node
5
- def initialize(variable:)
5
+ def initialize(prism_node: nil, variable:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @variable = variable
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :variable
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class EnsureNode < Node
5
- def initialize(statements:)
5
+ def initialize(prism_node: nil, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @statements = statements
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :statements
@@ -2,5 +2,8 @@
2
2
 
3
3
  module Refract
4
4
  class FalseNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
5
8
  end
6
9
  end
@@ -2,11 +2,13 @@
2
2
 
3
3
  module Refract
4
4
  class FindPatternNode < Node
5
- def initialize(constant:, left:, requireds:, right:)
5
+ def initialize(prism_node: nil, constant:, left:, requireds:, right:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @constant = constant
7
8
  @left = left
8
9
  @requireds = requireds
9
10
  @right = right
11
+ freeze
10
12
  end
11
13
 
12
14
  attr_accessor :constant, :left, :requireds, :right
@@ -2,10 +2,12 @@
2
2
 
3
3
  module Refract
4
4
  class FlipFlopNode < Node
5
- def initialize(left:, right:, exclude_end:)
5
+ def initialize(prism_node: nil, left:, right:, exclude_end:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @left = left
7
8
  @right = right
8
9
  @exclude_end = exclude_end
10
+ freeze
9
11
  end
10
12
 
11
13
  attr_accessor :left, :right, :exclude_end
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class FloatNode < Node
5
- def initialize(value:)
5
+ def initialize(prism_node: nil, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @value = value
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :value
@@ -2,10 +2,12 @@
2
2
 
3
3
  module Refract
4
4
  class ForNode < Node
5
- def initialize(index:, collection:, statements:)
5
+ def initialize(prism_node: nil, index:, collection:, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @index = index
7
8
  @collection = collection
8
9
  @statements = statements
10
+ freeze
9
11
  end
10
12
 
11
13
  attr_accessor :index, :collection, :statements
@@ -2,5 +2,8 @@
2
2
 
3
3
  module Refract
4
4
  class ForwardingArgumentsNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
5
8
  end
6
9
  end
@@ -2,5 +2,8 @@
2
2
 
3
3
  module Refract
4
4
  class ForwardingParameterNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
5
8
  end
6
9
  end
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class ForwardingSuperNode < Node
5
- def initialize(block:)
5
+ def initialize(prism_node: nil, block:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @block = block
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :block
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class GlobalVariableAndWriteNode < Node
5
- def initialize(name:, value:)
5
+ def initialize(prism_node: nil, name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :name, :value
@@ -2,10 +2,12 @@
2
2
 
3
3
  module Refract
4
4
  class GlobalVariableOperatorWriteNode < Node
5
- def initialize(name:, value:, binary_operator:)
5
+ def initialize(prism_node: nil, name:, value:, binary_operator:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
8
9
  @binary_operator = binary_operator
10
+ freeze
9
11
  end
10
12
 
11
13
  attr_accessor :name, :value, :binary_operator
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class GlobalVariableOrWriteNode < Node
5
- def initialize(name:, value:)
5
+ def initialize(prism_node: nil, name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :name, :value
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class GlobalVariableReadNode < Node
5
- def initialize(name:)
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :name
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class GlobalVariableTargetNode < Node
5
- def initialize(name:)
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :name
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class GlobalVariableWriteNode < Node
5
- def initialize(name:, value:)
5
+ def initialize(prism_node: nil, name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :name, :value
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class HashNode < Node
5
- def initialize(elements:)
5
+ def initialize(prism_node: nil, elements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @elements = elements
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :elements
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class HashPatternNode < Node
5
- def initialize(elements:, rest:)
5
+ def initialize(prism_node: nil, elements:, rest:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @elements = elements
7
8
  @rest = rest
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :elements, :rest
@@ -2,12 +2,15 @@
2
2
 
3
3
  module Refract
4
4
  class IfNode < Node
5
- def initialize(predicate:, statements:, subsequent:)
5
+ def initialize(prism_node: nil, predicate:, statements: nil, subsequent: nil, inline:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @predicate = predicate
7
8
  @statements = statements
8
9
  @subsequent = subsequent
10
+ @inline = inline
11
+ freeze
9
12
  end
10
13
 
11
- attr_accessor :predicate, :statements, :subsequent
14
+ attr_accessor :predicate, :statements, :subsequent, :inline
12
15
  end
13
16
  end
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class ImaginaryNode < Node
5
- def initialize(numeric:)
5
+ def initialize(prism_node: nil, numeric:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @numeric = numeric
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :numeric
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class ImplicitNode < Node
5
- def initialize(value:)
5
+ def initialize(prism_node: nil, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @value = value
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :value
@@ -2,5 +2,8 @@
2
2
 
3
3
  module Refract
4
4
  class ImplicitRestNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
5
8
  end
6
9
  end
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class InNode < Node
5
- def initialize(pattern:, statements:)
5
+ def initialize(prism_node: nil, pattern:, statements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @pattern = pattern
7
8
  @statements = statements
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :pattern, :statements
@@ -2,11 +2,13 @@
2
2
 
3
3
  module Refract
4
4
  class IndexAndWriteNode < Node
5
- def initialize(receiver:, arguments:, block:, value:)
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @receiver = receiver
7
8
  @arguments = arguments
8
9
  @block = block
9
10
  @value = value
11
+ freeze
10
12
  end
11
13
 
12
14
  attr_accessor :receiver, :arguments, :block, :value
@@ -2,12 +2,14 @@
2
2
 
3
3
  module Refract
4
4
  class IndexOperatorWriteNode < Node
5
- def initialize(receiver:, arguments:, block:, binary_operator:, value:)
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:, binary_operator:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @receiver = receiver
7
8
  @arguments = arguments
8
9
  @block = block
9
10
  @binary_operator = binary_operator
10
11
  @value = value
12
+ freeze
11
13
  end
12
14
 
13
15
  attr_accessor :receiver, :arguments, :block, :binary_operator, :value
@@ -2,11 +2,13 @@
2
2
 
3
3
  module Refract
4
4
  class IndexOrWriteNode < Node
5
- def initialize(receiver:, arguments:, block:, value:)
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @receiver = receiver
7
8
  @arguments = arguments
8
9
  @block = block
9
10
  @value = value
11
+ freeze
10
12
  end
11
13
 
12
14
  attr_accessor :receiver, :arguments, :block, :value
@@ -2,12 +2,14 @@
2
2
 
3
3
  module Refract
4
4
  class IndexTargetNode < Node
5
- def initialize(receiver:, arguments:, block:)
5
+ def initialize(prism_node: nil, receiver:, arguments:, block:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @receiver = receiver
7
8
  @arguments = arguments
8
9
  @block = block
10
+ freeze
9
11
  end
10
12
 
11
- attr_reader :receiver, :arguments, :block
13
+ attr_accessor :receiver, :arguments, :block
12
14
  end
13
15
  end
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class InstanceVariableAndWriteNode < Node
5
- def initialize(name:, value:)
5
+ def initialize(prism_node: nil, name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :name, :value
@@ -2,10 +2,12 @@
2
2
 
3
3
  module Refract
4
4
  class InstanceVariableOperatorWriteNode < Node
5
- def initialize(name:, value:, binary_operator:)
5
+ def initialize(prism_node: nil, name:, value:, binary_operator:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
8
9
  @binary_operator = binary_operator
10
+ freeze
9
11
  end
10
12
 
11
13
  attr_accessor :name, :value, :binary_operator
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class InstanceVariableOrWriteNode < Node
5
- def initialize(name:, value:)
5
+ def initialize(prism_node: nil, name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :name, :value
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class InstanceVariableReadNode < Node
5
- def initialize(name:)
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :name
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class InstanceVariableTargetNode < Node
5
- def initialize(name:)
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :name
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class InstanceVariableWriteNode < Node
5
- def initialize(name:, value:)
5
+ def initialize(prism_node: nil, name:, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :name, :value
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class IntegerNode < Node
5
- def initialize(value:)
5
+ def initialize(prism_node: nil, value:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @value = value
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :value
@@ -2,12 +2,14 @@
2
2
 
3
3
  module Refract
4
4
  class InterpolatedMatchLastLineNode < Node
5
- def initialize(parts:, ignore_case:, multi_line:, extended:, once:)
5
+ def initialize(prism_node: nil, parts:, ignore_case:, multi_line:, extended:, once:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @parts = parts
7
8
  @ignore_case = ignore_case
8
9
  @multi_line = multi_line
9
10
  @extended = extended
10
11
  @once = once
12
+ freeze
11
13
  end
12
14
 
13
15
  attr_accessor :parts, :ignore_case, :multi_line, :extended, :once
@@ -2,12 +2,14 @@
2
2
 
3
3
  module Refract
4
4
  class InterpolatedRegularExpressionNode < Node
5
- def initialize(parts:, ignore_case:, multi_line:, extended:, once:)
5
+ def initialize(prism_node: nil, parts:, ignore_case:, multi_line:, extended:, once:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @parts = parts
7
8
  @ignore_case = ignore_case
8
9
  @multi_line = multi_line
9
10
  @extended = extended
10
11
  @once = once
12
+ freeze
11
13
  end
12
14
 
13
15
  attr_accessor :parts, :ignore_case, :multi_line, :extended, :once
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class InterpolatedStringNode < Node
5
- def initialize(parts:)
5
+ def initialize(prism_node: nil, parts:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @parts = parts
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :parts
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class InterpolatedSymbolNode < Node
5
- def initialize(parts:)
5
+ def initialize(prism_node: nil, parts:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @parts = parts
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :parts
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class InterpolatedXStringNode < Node
5
- def initialize(parts:)
5
+ def initialize(prism_node: nil, parts:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @parts = parts
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :parts
@@ -2,5 +2,8 @@
2
2
 
3
3
  module Refract
4
4
  class ItLocalVariableReadNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
5
8
  end
6
9
  end
@@ -2,5 +2,8 @@
2
2
 
3
3
  module Refract
4
4
  class ItParametersNode < Node
5
+ def initialize(prism_node: nil)
6
+ @prism_node = prism_node => Prism::Node | nil
7
+ end
5
8
  end
6
9
  end
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class KeywordHashNode < Node
5
- def initialize(elements:)
5
+ def initialize(prism_node: nil, elements:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @elements = elements
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :elements
@@ -2,8 +2,10 @@
2
2
 
3
3
  module Refract
4
4
  class KeywordRestParameterNode < Node
5
- def initialize(name:)
5
+ def initialize(prism_node: nil, name:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
8
+ freeze
7
9
  end
8
10
 
9
11
  attr_accessor :name
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Refract
4
4
  class LambdaNode < Node
5
- def initialize(parameters:, body:)
5
+ def initialize(prism_node: nil, parameters:, body:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @parameters = parameters
7
8
  @body = body
9
+ freeze
8
10
  end
9
11
 
10
12
  attr_accessor :parameters, :body
@@ -2,10 +2,12 @@
2
2
 
3
3
  module Refract
4
4
  class LocalVariableAndWriteNode < Node
5
- def initialize(name:, value:, depth:)
5
+ def initialize(prism_node: nil, name:, value:, depth:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
8
9
  @depth = depth
10
+ freeze
9
11
  end
10
12
 
11
13
  attr_accessor :name, :value, :depth
@@ -2,11 +2,13 @@
2
2
 
3
3
  module Refract
4
4
  class LocalVariableOperatorWriteNode < Node
5
- def initialize(name:, value:, binary_operator:, depth:)
5
+ def initialize(prism_node: nil, name:, value:, binary_operator:, depth:)
6
+ @prism_node = prism_node => Prism::Node | nil
6
7
  @name = name
7
8
  @value = value
8
9
  @binary_operator = binary_operator
9
10
  @depth = depth
11
+ freeze
10
12
  end
11
13
 
12
14
  attr_accessor :name, :value, :binary_operator, :depth