node_mutation 1.23.1 → 1.23.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d39b10154354f3e35da27b09c378c6d518f47e67249b08143bd452dad5c14292
4
- data.tar.gz: d3f988104df2610c420c7d5622b3f18775e64f878a2978ebc48ca2dbccd3f783
3
+ metadata.gz: e941ef481546d5db16679d319312e0541c63b61cf5dceefcef91b97625e9ee18
4
+ data.tar.gz: e0638f659b75f11cbfadcbddb2a108e50b2e0055918a608b352661a54f5b66b6
5
5
  SHA512:
6
- metadata.gz: d31f713b129027619f955d8fb96c41562a760d1203333ee6f552f3aed99f76350b0e705649428a249fb63db75c871a562199273f8f21f4956439b7391b9f365c
7
- data.tar.gz: 16dfcebbf38b0ca70fa02a4e4d5b22ca2915cb2b74e2d77a3b1840ac5bd476bbcbb55d4824e88343fc44f86ee55ed306ea4c6f2e1a022a740660949ccd19a044
6
+ metadata.gz: 5546f83edb1e5cbf6550a9400bacee3d478ead1f8898572be71aaa1e136ffb4fe62aea1927f5eae517d8cbc171b3371700fda96ca8ec3b581e38b5a257194467
7
+ data.tar.gz: cdd3a1497c5e6a4e451cdba7af3b55287a3859a4b435b7a8c63108851b1599babd17e78c68d91126ae382c6ecfc98ce2d982d6f871a0ab7c828e9685d3a1cce5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # NodeMutation
2
2
 
3
+ ## 1.23.3 (2024-02-20)
4
+
5
+ * `child_node_range` supports `LocalVariableReadNode#name`
6
+
7
+ ## 1.23.2 (2024-02-17)
8
+
9
+ * Get prism node `source` without prism_ext
10
+
3
11
  ## 1.23.1 (2024-02-16)
4
12
 
5
13
  * Get `PrismAdapter`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- node_mutation (1.23.1)
4
+ node_mutation (1.23.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -40,8 +40,8 @@ GEM
40
40
  parser_node_ext (1.2.2)
41
41
  parser
42
42
  prettier_print (1.2.1)
43
- prism (0.22.0)
44
- prism_ext (0.2.1)
43
+ prism (0.24.0)
44
+ prism_ext (0.2.3)
45
45
  prism
46
46
  pry (0.14.1)
47
47
  coderay (~> 1.1)
@@ -67,7 +67,7 @@ GEM
67
67
  shellany (0.0.1)
68
68
  syntax_tree (6.2.0)
69
69
  prettier_print (>= 1.2.0)
70
- syntax_tree_ext (0.6.3)
70
+ syntax_tree_ext (0.7.2)
71
71
  syntax_tree
72
72
  thor (1.2.1)
73
73
 
@@ -6,10 +6,10 @@ require 'prism_ext'
6
6
  class NodeMutation::PrismAdapter < NodeMutation::Adapter
7
7
  def get_source(node)
8
8
  if node.is_a?(Array)
9
- return node.first.source[node.first.location.start_offset...node.last.location.end_offset]
9
+ return node.first.instance_variable_get(:@source).source[node.first.location.start_offset...node.last.location.end_offset]
10
10
  end
11
11
 
12
- node.source[node.location.start_offset...node.location.end_offset]
12
+ node.to_source
13
13
  end
14
14
 
15
15
  # It gets the new source code after evaluating the node.
@@ -92,7 +92,7 @@ class NodeMutation::PrismAdapter < NodeMutation::Adapter
92
92
  end
93
93
 
94
94
  def file_source(node)
95
- node.source
95
+ node.instance_variable_get(:@source).source
96
96
  end
97
97
 
98
98
  # Get the range of the child node.
@@ -141,6 +141,8 @@ class NodeMutation::PrismAdapter < NodeMutation::Adapter
141
141
  NodeMutation::Struct::Range.new(node_loc.start_offset, node_loc.end_offset) if node_loc
142
142
  elsif node.is_a?(Prism::CallNode) && child_name.to_sym == :name
143
143
  NodeMutation::Struct::Range.new(node.message_loc.start_offset, node.message_loc.end_offset)
144
+ elsif node.is_a?(Prism::LocalVariableReadNode) && child_name.to_sym == :name
145
+ NodeMutation::Struct::Range.new(node.location.start_offset, node.location.end_offset)
144
146
  else
145
147
  raise NodeMutation::MethodNotSupported,
146
148
  "#{direct_child_name} is not supported for #{get_source(node)}" unless node.respond_to?(direct_child_name)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class NodeMutation
4
- VERSION = "1.23.1"
4
+ VERSION = "1.23.3"
5
5
  end
@@ -1,18 +1,18 @@
1
1
  class NodeMutation::Struct
2
2
  class Action < ::Struct
3
- atr_accessor type (): Symbol
4
- atr_accessor start (): Integer
5
- atr_accessor end (): Integer
6
- atr_accessor new_code (): String
3
+ attr_accessor type (): Symbol
4
+ attr_accessor start (): Integer
5
+ attr_accessor end (): Integer
6
+ attr_accessor new_code (): String
7
7
  end
8
8
 
9
9
  class Location < ::Struct
10
- atr_accessor line (): Integer
11
- atr_accessor column (): Integer
10
+ attr_accessor line (): Integer
11
+ attr_accessor column (): Integer
12
12
  end
13
13
 
14
14
  class Range < ::Struct
15
- atr_accessor start (): Integer
16
- atr_accessor end (): Integer
15
+ attr_accessor start (): Integer
16
+ attr_accessor end (): Integer
17
17
  end
18
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: node_mutation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.23.1
4
+ version: 1.23.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-16 00:00:00.000000000 Z
11
+ date: 2024-02-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: ast node mutation apis
14
14
  email: