node_mutation 1.12.3 → 1.13.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/lib/node_mutation/adapter.rb +12 -8
- data/lib/node_mutation/parser_adapter.rb +8 -4
- data/lib/node_mutation/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d8929809b3553b4b57c7f79ad54c83e3084da686b477ff082c18c43a2950042
|
4
|
+
data.tar.gz: bd72ffdee180460d73eda354fc1435b9c55f2c0156625264fd437a7f164912e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz: '
|
6
|
+
metadata.gz: 0ada057b589f14d161050ad80cdba1080c70e1102f041cd65e0a6f180cbb34d5e6a462d7d70abe41983da644b3853a46e7389f8adff14e5ae57f2e177bcbf551
|
7
|
+
data.tar.gz: '038bb2377ffcce14069cfcaccfe2a6d6d28728c80cef80d2e7c46da0e6d93f28f9c39dd0b3f690d7df1488962ad40f2ffe57d18018c5c115017e008757df6905'
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -35,29 +35,33 @@ class NodeMutation::Adapter
|
|
35
35
|
|
36
36
|
# Get start position of ast node
|
37
37
|
# @param node [Node] ast node
|
38
|
-
# @
|
39
|
-
|
38
|
+
# @param child_name [String] child name selector
|
39
|
+
# @return [Number] start position of node or child node
|
40
|
+
def get_start(node, child_name = nil)
|
40
41
|
raise NotImplementedError, "get_start is not implemented"
|
41
42
|
end
|
42
43
|
|
43
44
|
# Get end position of ast node
|
44
45
|
# @param node [Node] ast node
|
45
|
-
# @
|
46
|
-
|
46
|
+
# @param child_name [String] child name selector
|
47
|
+
# @return [Number] end position of node or child node
|
48
|
+
def get_end(node, child_name = nil)
|
47
49
|
raise NotImplementedError, "get_end is not implemented"
|
48
50
|
end
|
49
51
|
|
50
52
|
# Get start location of ast node
|
51
53
|
# @param node [Node] ast node
|
52
|
-
# @
|
53
|
-
|
54
|
+
# @param child_name [String] child name selector
|
55
|
+
# @return [{ line: Number, column: Number }] start location of node or child node
|
56
|
+
def get_start_loc(node, child_name = nil)
|
54
57
|
raise NotImplementedError, "get_start_loc is not implemented"
|
55
58
|
end
|
56
59
|
|
57
60
|
# Get end location of ast node
|
58
61
|
# @param node [Node] ast node
|
59
|
-
# @
|
60
|
-
|
62
|
+
# @param child_name [String] child name selector
|
63
|
+
# @return [{ line: Number, column: Number }] end location of node or child node
|
64
|
+
def get_end_loc(node, child_name = nil)
|
61
65
|
raise NotImplementedError, "get_end_loc is not implemented"
|
62
66
|
end
|
63
67
|
|
@@ -145,20 +145,24 @@ class NodeMutation::ParserAdapter < NodeMutation::Adapter
|
|
145
145
|
end
|
146
146
|
end
|
147
147
|
|
148
|
-
def get_start(node)
|
148
|
+
def get_start(node, child_name = nil)
|
149
|
+
node = child_node_by_name(node, child_name) if child_name
|
149
150
|
node.loc.expression.begin_pos
|
150
151
|
end
|
151
152
|
|
152
|
-
def get_end(node)
|
153
|
+
def get_end(node, child_name = nil)
|
154
|
+
node = child_node_by_name(node, child_name) if child_name
|
153
155
|
node.loc.expression.end_pos
|
154
156
|
end
|
155
157
|
|
156
|
-
def get_start_loc(node)
|
158
|
+
def get_start_loc(node, child_name = nil)
|
159
|
+
node = child_node_by_name(node, child_name) if child_name
|
157
160
|
begin_loc = node.loc.expression.begin
|
158
161
|
NodeMutation::Struct::Location.new(begin_loc.line, begin_loc.column)
|
159
162
|
end
|
160
163
|
|
161
|
-
def get_end_loc(node)
|
164
|
+
def get_end_loc(node, child_name = nil)
|
165
|
+
node = child_node_by_name(node, child_name) if child_name
|
162
166
|
end_loc = node.loc.expression.end
|
163
167
|
NodeMutation::Struct::Location.new(end_loc.line, end_loc.column)
|
164
168
|
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.
|
4
|
+
version: 1.13.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: 2023-03-
|
11
|
+
date: 2023-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubis
|