typeprof 0.6.0 → 0.6.1
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/Gemfile.lock +1 -1
- data/lib/typeprof/import.rb +17 -6
- data/lib/typeprof/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: 3dedfe8da717afcf508820efe445a790336ab877156d5b2de3683ab5043c18ab
|
4
|
+
data.tar.gz: 345fa1163af50a1b01fef26a83a835bfd7813453c6132ebb1036fe8178dd9757
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48972d2ab935ff782a0651eda48afa301531d5c5fff4f1a9ba17d29c54323b127fc3013c29863c21b26d77e81230c2e0318d58d3cde680c57b611c5a77a1214b
|
7
|
+
data.tar.gz: dc29d8282f165f9ddaabecf97f4eb81aaaa43c5defe1d63d083ef1147c2c0e6d2def961fa07f339587902d8524ee66940da742a5b30cd48dcccdcd94262883a8
|
data/Gemfile.lock
CHANGED
data/lib/typeprof/import.rb
CHANGED
@@ -62,6 +62,7 @@ module TypeProf
|
|
62
62
|
class RBS2JSON
|
63
63
|
def initialize(all_env, cur_env)
|
64
64
|
@all_env, @cur_env = all_env, cur_env
|
65
|
+
@env_walker = RBS::EnvironmentWalker.new(env: @cur_env) # Currently, only each_type_name is used
|
65
66
|
end
|
66
67
|
|
67
68
|
def dump_json
|
@@ -237,7 +238,7 @@ module TypeProf
|
|
237
238
|
@all_env.class_decls[name].decls.each do |decl|
|
238
239
|
decl = decl.decl
|
239
240
|
next if decl.is_a?(RBS::AST::Declarations::Module)
|
240
|
-
|
241
|
+
each_reference(decl) {|name| queue << [:visit, name] }
|
241
242
|
end
|
242
243
|
queue << [:visit, name.namespace.to_type_name] if !name.namespace.empty?
|
243
244
|
end
|
@@ -252,13 +253,23 @@ module TypeProf
|
|
252
253
|
end
|
253
254
|
end
|
254
255
|
|
255
|
-
def
|
256
|
+
def each_reference(decl, &blk)
|
256
257
|
yield decl.name
|
257
|
-
|
258
|
+
if decl.super_class
|
259
|
+
name = decl.super_class.name
|
260
|
+
args = decl.super_class.args
|
261
|
+
if args
|
262
|
+
args.each do |ty|
|
263
|
+
@env_walker.each_type_name(ty, &blk)
|
264
|
+
end
|
265
|
+
end
|
266
|
+
else
|
267
|
+
name = RBS::BuiltinNames::Object.name
|
268
|
+
end
|
258
269
|
return if decl.name == RBS::BuiltinNames::BasicObject.name
|
259
|
-
return if decl.name ==
|
260
|
-
@all_env.class_decls[
|
261
|
-
|
270
|
+
return if decl.name == name
|
271
|
+
@all_env.class_decls[name].decls.each do |decl|
|
272
|
+
each_reference(decl.decl, &blk)
|
262
273
|
end
|
263
274
|
end
|
264
275
|
|
data/lib/typeprof/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: typeprof
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yusuke Endoh
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbs
|