parser_node_ext 0.4.0 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54f47aa3cbd58cec27d151340e935bf687be7c9cb63c523cdd8174869aebaf7e
4
- data.tar.gz: e3e940453872b9bd0abd24a2b11b8d07c59e35613717b365b9810b0461cd1f28
3
+ metadata.gz: b9bee187df49c963339ad5b6ed34721fb558e93b066593ac8fdf34ae453932f4
4
+ data.tar.gz: 960b04b95fb1ae5414d4ca820f22e1b2ae117c47e2d4502c9503848fc5048c19
5
5
  SHA512:
6
- metadata.gz: 573b0ae05b18d25c04bc1efeac3f763c3872eee302d1b23fa11c054d32a1ea84afc86e7984e3ae6892f55bc39c4b0c8faadf133da1d53af6b387b8a57f55f685
7
- data.tar.gz: b8b718a0dec190ce6b563fa9edd842d38869a58f7bc43799297e6ed88268f2fd5427315791c5b4cec62046d510056165b60683d36709d86790675eb19b14b655
6
+ metadata.gz: 6a1432adf0618a77279d580ae9ad8de92a5e601c15256bedbafd870d3f46348c07143c11e25c4e3717dd6de19a99f22f1ce0306247ef5ad0f9529799d04fe0e1
7
+ data.tar.gz: 84e0d2ed48ba5650714e0bf994b43b7d9ef8f1191cf24941bf8a376963128145cbb970adb05f3e22f60ba6184d31f598f3b38b1a333b3d8a541149f3298cf9b5
data/CHANGELOG.md CHANGED
@@ -1,8 +1,12 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.4.1 (2022-10-21)
4
+
5
+ * Update error message
6
+
3
7
  ## 0.4.0 (2022-07-07)
4
8
 
5
- * raise `MethodNotSupported` error
9
+ * Raise `MethodNotSupported` error
6
10
 
7
11
  ## 0.3.0 (2022-07-04)
8
12
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- parser_node_ext (0.4.0)
4
+ parser_node_ext (0.5.0)
5
5
  parser
6
6
 
7
7
  GEM
@@ -9,7 +9,7 @@ GEM
9
9
  specs:
10
10
  ast (2.4.2)
11
11
  diff-lcs (1.5.0)
12
- parser (3.1.2.0)
12
+ parser (3.1.3.0)
13
13
  ast (~> 2.4.1)
14
14
  rake (13.0.6)
15
15
  rspec (3.11.0)
@@ -28,6 +28,7 @@ GEM
28
28
 
29
29
  PLATFORMS
30
30
  x86_64-darwin-21
31
+ x86_64-darwin-22
31
32
  x86_64-linux
32
33
 
33
34
  DEPENDENCIES
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ParserNodeExt
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
  end
@@ -22,20 +22,27 @@ module ParserNodeExt
22
22
  def: %i[name arguments body],
23
23
  definded?: %i[arguments],
24
24
  defs: %i[self name arguments body],
25
+ false: [],
26
+ float: [],
25
27
  hash: %i[pairs],
28
+ int: [],
26
29
  ivasgn: %i[left_value right_value],
27
30
  ivar: %i[name],
28
31
  lvar: %i[name],
29
32
  lvasgn: %i[left_value right_value],
30
33
  masgn: %i[left_value right_value],
31
34
  module: %i[name body],
35
+ nil: [],
32
36
  or: %i[left_value right_value],
33
37
  or_asgn: %i[left_value right_value],
34
38
  pair: %i[key value],
35
39
  restarg: %i[name],
36
40
  send: %i[receiver message arguments],
41
+ str: [],
37
42
  super: %i[arguments],
38
- zsuper: %i[]
43
+ sym: [],
44
+ true: [],
45
+ zsuper: []
39
46
  }
40
47
 
41
48
  def self.included(base)
@@ -93,7 +100,7 @@ module ParserNodeExt
93
100
  index = TYPE_CHILDREN[type]&.index(method_name)
94
101
  return children[index] if index
95
102
 
96
- raise MethodNotSupported, "#{method_name} is not handled for #{debug_info}"
103
+ raise MethodNotSupported, "#{method_name} is not supported for #{self}"
97
104
  end
98
105
  end
99
106
 
@@ -110,7 +117,7 @@ module ParserNodeExt
110
117
  index = TYPE_CHILDREN[type]&.index(:left_value)
111
118
  return children[index] if index
112
119
 
113
- raise MethodNotSupported, "#{left_value} is not handled for #{debug_info}"
120
+ raise MethodNotSupported, "#{left_value} is not supported for #{self}"
114
121
  end
115
122
 
116
123
  # Get arguments of node.
@@ -131,7 +138,7 @@ module ParserNodeExt
131
138
  when :defined?
132
139
  children
133
140
  else
134
- raise MethodNotSupported, "arguments is not handled for #{debug_info}"
141
+ raise MethodNotSupported, "arguments is not supported for #{self}"
135
142
  end
136
143
  end
137
144
 
@@ -155,7 +162,7 @@ module ParserNodeExt
155
162
 
156
163
  :begin == children[3].type ? children[3].body : children[3..-1]
157
164
  else
158
- raise MethodNotSupported, "body is not handled for #{debug_info}"
165
+ raise MethodNotSupported, "body is not supported for #{self}"
159
166
  end
160
167
  end
161
168
 
@@ -170,7 +177,7 @@ module ParserNodeExt
170
177
  if :if == type
171
178
  children[0]
172
179
  else
173
- raise MethodNotSupported, "condition is not handled for #{debug_info}"
180
+ raise MethodNotSupported, "condition is not supported for #{self}"
174
181
  end
175
182
  end
176
183
 
@@ -184,7 +191,7 @@ module ParserNodeExt
184
191
  if :hash == type
185
192
  children.map { |child| child.children[0] }
186
193
  else
187
- raise MethodNotSupported, "keys is not handled for #{debug_info}"
194
+ raise MethodNotSupported, "keys is not supported for #{self}"
188
195
  end
189
196
  end
190
197
 
@@ -198,7 +205,7 @@ module ParserNodeExt
198
205
  if :hash == type
199
206
  children.map { |child| child.children[1] }
200
207
  else
201
- raise MethodNotSupported, "keys is not handled for #{debug_info}"
208
+ raise MethodNotSupported, "keys is not supported for #{self}"
202
209
  end
203
210
  end
204
211
 
@@ -213,7 +220,7 @@ module ParserNodeExt
213
220
  if :hash == type
214
221
  children.any? { |pair_node| pair_node.key.to_value == key }
215
222
  else
216
- raise MethodNotSupported, "key? is not handled for #{debug_info}"
223
+ raise MethodNotSupported, "key? is not supported for #{self}"
217
224
  end
218
225
  end
219
226
 
@@ -229,7 +236,7 @@ module ParserNodeExt
229
236
  value_node = children.find { |pair_node| pair_node.key.to_value == key }
230
237
  value_node&.value
231
238
  else
232
- raise MethodNotSupported, "hash_value is not handled for #{debug_info}"
239
+ raise MethodNotSupported, "hash_value is not supported for #{self}"
233
240
  end
234
241
  end
235
242
 
@@ -330,19 +337,6 @@ module ParserNodeExt
330
337
 
331
338
  super
332
339
  end
333
-
334
- # Return the debug info.
335
- #
336
- # @return [String] file, line, source and node.
337
- def debug_info
338
- "\n" +
339
- [
340
- "file: #{loc.expression.source_buffer.name}",
341
- "line: #{loc.expression.line}",
342
- "source: #{to_source}",
343
- "node: #{inspect}"
344
- ].join("\n")
345
- end
346
340
  end
347
341
  end
348
342
  end
@@ -373,7 +367,7 @@ end
373
367
  # +type: 'send', receiver: { type: 'send', receiver: { type: 'send', message: 'config' }, message: 'active_record' }, message: 'identity_map='+
374
368
  #
375
369
  # Source Code to Ast Node
376
- # {https://synvert-playground.xinminlabs.com/ruby}
370
+ # {https://playground.synvert.net/ruby}
377
371
  class Parser::AST::Node
378
372
  include ParserNodeExt
379
373
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parser_node_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Huang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-07 00:00:00.000000000 Z
11
+ date: 2022-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: '0'
65
65
  requirements: []
66
- rubygems_version: 3.3.7
66
+ rubygems_version: 3.3.26
67
67
  signing_key:
68
68
  specification_version: 4
69
69
  summary: extend parser node