orthoses 1.7.0 → 1.8.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/README.md +10 -3
- data/lib/orthoses/builder.rb +7 -3
- data/lib/orthoses/content/duplication_checker.rb +50 -35
- data/lib/orthoses/content/environment.rb +1 -1
- data/lib/orthoses/create_file_by_name.rb +38 -7
- data/lib/orthoses/missing_name.rb +81 -0
- data/lib/orthoses/mixin.rb +9 -4
- data/lib/orthoses/rbs_prototype_runtime.rb +21 -2
- data/lib/orthoses/utils.rb +1 -1
- data/lib/orthoses/version.rb +1 -1
- data/lib/orthoses.rb +1 -0
- data/sig/orthoses/_call.rbs +1 -1
- data/sig/orthoses/_middle_ware.rbs +1 -1
- data/sig/orthoses/attribute/hook.rbs +1 -1
- data/sig/orthoses/attribute.rbs +1 -1
- data/sig/orthoses/autoload/hook.rbs +1 -1
- data/sig/orthoses/autoload.rbs +1 -1
- data/sig/orthoses/builder/call_logable.rbs +1 -1
- data/sig/orthoses/builder.rbs +5 -4
- data/sig/orthoses/call_tracer/capturable.rbs +1 -1
- data/sig/orthoses/call_tracer/capture.rbs +2 -2
- data/sig/orthoses/call_tracer/lazy.rbs +2 -2
- data/sig/orthoses/call_tracer.rbs +1 -1
- data/sig/orthoses/const_load_error.rbs +1 -1
- data/sig/orthoses/constant.rbs +1 -1
- data/sig/orthoses/content/array_io.rbs +1 -1
- data/sig/orthoses/content/duplication_checker.rbs +5 -3
- data/sig/orthoses/content/environment.rbs +8 -3
- data/sig/orthoses/content/header_builder.rbs +1 -1
- data/sig/orthoses/content.rbs +2 -1
- data/sig/orthoses/create_file_by_name.rbs +2 -2
- data/sig/orthoses/delegate_class/hook.rbs +1 -1
- data/sig/orthoses/delegate_class.rbs +1 -1
- data/sig/orthoses/filter.rbs +1 -1
- data/sig/orthoses/lazy_trace_point.rbs +1 -1
- data/sig/orthoses/load_rbs.rbs +1 -1
- data/sig/orthoses/missing_name/missing_class.rbs +7 -0
- data/sig/orthoses/missing_name/missing_module.rbs +7 -0
- data/sig/orthoses/missing_name.rbs +6 -0
- data/sig/orthoses/mixin/hook.rbs +2 -2
- data/sig/orthoses/mixin.rbs +2 -2
- data/sig/orthoses/name_space_error.rbs +1 -1
- data/sig/orthoses/object_space_all.rbs +1 -1
- data/sig/orthoses/outputable/avoid_recursive_ancestor_error.rbs +1 -1
- data/sig/orthoses/outputable/constantizable_filter.rbs +1 -1
- data/sig/orthoses/outputable/uniq_content_body.rbs +1 -1
- data/sig/orthoses/outputable.rbs +1 -1
- data/sig/orthoses/path_helper.rbs +1 -1
- data/sig/orthoses/pp.rbs +1 -1
- data/sig/orthoses/rbs_prototype_rb.rbs +5 -3
- data/sig/orthoses/rbs_prototype_runtime.rbs +10 -3
- data/sig/orthoses/sort.rbs +1 -1
- data/sig/orthoses/store.rbs +1 -1
- data/sig/orthoses/tap.rbs +1 -1
- data/sig/orthoses/trace/attribute.rbs +1 -1
- data/sig/orthoses/trace/method/info.rbs +1 -1
- data/sig/orthoses/trace/method.rbs +1 -1
- data/sig/orthoses/trace/targetable.rbs +1 -1
- data/sig/orthoses/trace.rbs +1 -1
- data/sig/orthoses/utils/type_list.rbs +1 -1
- data/sig/orthoses/utils/underscore.rbs +1 -1
- data/sig/orthoses/utils.rbs +2 -2
- data/sig/orthoses/walk.rbs +1 -1
- data/sig/orthoses/writer.rbs +1 -1
- data/sig/orthoses.rbs +2 -2
- metadata +6 -21
- data/Gemfile +0 -16
- data/Gemfile.lock +0 -86
- data/examples/minitest/Rakefile +0 -56
- data/examples/rack-test/Gemfile +0 -8
- data/examples/rack-test/Gemfile.lock +0 -30
- data/examples/rack-test/Rakefile +0 -7
- data/examples/rack-test/generate.rb +0 -31
- data/examples/rack-test/out/rack/test/cookie.rbs +0 -28
- data/examples/rack-test/out/rack/test/cookie_jar.rbs +0 -28
- data/examples/rack-test/out/rack/test/fake_app.rbs +0 -13
- data/examples/rack-test/out/rack/test/input_rewinder.rbs +0 -8
- data/examples/rack-test/out/rack/test/methods.rbs +0 -98
- data/examples/rack-test/out/rack/test/session.rbs +0 -186
- data/examples/rack-test/out/rack/test/uploaded_file.rbs +0 -18
- data/examples/rack-test/out/rack/test/utils.rbs +0 -112
- data/examples/rack-test/out/rack/test.rbs +0 -3
- data/examples/simple_middleware.rb +0 -11
- data/examples/simple_middleware.rbs +0 -7
- data/orthoses.gemspec +0 -36
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0bbf41507135a45b3b2a45ffff90500a68a39f4497bf1fcbd72d94579fd27ae8
|
4
|
+
data.tar.gz: 8a6daa8a64d8bfbda565e24ec53622ca5530f5624e80f0c6fdfed5ca13b10786
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9d4a29dfc22972be165a703c4e86272a6e045ab34a91f76b560eeb329dca0795dab6eef59f419b50b7da4c390fcfa71d74d217baad3aa65b43f0000a2f7a126
|
7
|
+
data.tar.gz: 5579c33080fb673b50445fc8193f2876f8065e9ccc7ad2042020539a688f1242bfbe9dab265a780057040051f555f20b04ff62734ef844d25fea099a835d1c2a
|
data/README.md
CHANGED
@@ -29,11 +29,13 @@ For example, You can write script in Rakefile.
|
|
29
29
|
require 'orthoses'
|
30
30
|
|
31
31
|
namespace :rbs do
|
32
|
-
desc "build RBS to sig/
|
32
|
+
desc "build RBS to sig/orthoses"
|
33
33
|
task :build do
|
34
34
|
Orthoses::Builder.new do
|
35
35
|
use Orthoses::CreateFileByName,
|
36
|
-
|
36
|
+
depth: 1,
|
37
|
+
to: "sig/orthoses",
|
38
|
+
rmtree: true,
|
37
39
|
header: "# !!! GENERATED CODE !!!"
|
38
40
|
use Orthoses::Filter do |name, _content|
|
39
41
|
path, _lineno = Object.const_source_location(name)
|
@@ -53,7 +55,7 @@ namespace :rbs do
|
|
53
55
|
end
|
54
56
|
```
|
55
57
|
|
56
|
-
Then, you can see the result files under `sig/
|
58
|
+
Then, you can see the result files under `sig/orthoses`.
|
57
59
|
|
58
60
|
## Utils
|
59
61
|
|
@@ -177,6 +179,11 @@ Sort signatures by class/module.
|
|
177
179
|
|
178
180
|
Trace the argument and return value objects when the method is actually called and determine the type.
|
179
181
|
|
182
|
+
## Orthoses::MissingName
|
183
|
+
|
184
|
+
Completes undefined class/module names.
|
185
|
+
If it is unknown whether it is a class or a module, it is defined as an empty module, and if it is a superclass, it is defined as an empty class.
|
186
|
+
|
180
187
|
## Development
|
181
188
|
|
182
189
|
After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/orthoses/builder.rb
CHANGED
@@ -13,7 +13,7 @@ module Orthoses
|
|
13
13
|
class Builder
|
14
14
|
def initialize(&block)
|
15
15
|
@use = []
|
16
|
-
@
|
16
|
+
@runner = nil
|
17
17
|
instance_eval(&block) if block
|
18
18
|
end
|
19
19
|
|
@@ -37,7 +37,11 @@ module Orthoses
|
|
37
37
|
|
38
38
|
def run(loader)
|
39
39
|
use Store
|
40
|
-
|
40
|
+
reset_runner(loader)
|
41
|
+
end
|
42
|
+
|
43
|
+
def reset_runner(loader)
|
44
|
+
@runner = proc do
|
41
45
|
Orthoses.logger.info("[loader].call start")
|
42
46
|
loader.call.tap do
|
43
47
|
Orthoses.logger.info("[loader].call end")
|
@@ -46,7 +50,7 @@ module Orthoses
|
|
46
50
|
end
|
47
51
|
|
48
52
|
def to_loader
|
49
|
-
@use.reverse.inject(@
|
53
|
+
@use.reverse.inject(@runner) { |current, next_proc| next_proc[current] }
|
50
54
|
end
|
51
55
|
|
52
56
|
def call
|
@@ -4,71 +4,86 @@ module Orthoses
|
|
4
4
|
class DuplicationChecker
|
5
5
|
def initialize(decl, env: nil)
|
6
6
|
@decl = decl
|
7
|
-
@
|
7
|
+
@known_env = env || Utils.rbs_environment
|
8
|
+
@builder = RBS::DefinitionBuilder.new(env: @known_env)
|
9
|
+
@uniq_map = {}
|
8
10
|
end
|
9
11
|
|
10
12
|
def update_decl
|
11
13
|
return unless @decl.respond_to?(:members)
|
12
14
|
|
13
|
-
|
14
|
-
drop_set_method_definition
|
15
|
-
drop_known_method_definition
|
15
|
+
uniq_members
|
16
|
+
drop_set_method_definition
|
17
|
+
drop_known_method_definition
|
18
|
+
drop_known_const_definition
|
16
19
|
|
17
|
-
@decl.members.replace(uniq_map.values)
|
20
|
+
@decl.members.replace(@uniq_map.values)
|
21
|
+
|
22
|
+
@uniq_map.clear
|
18
23
|
end
|
19
24
|
|
20
25
|
private
|
21
26
|
|
22
27
|
def uniq_members
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
Orthoses.logger.info("#{@decl.name} \"#{member.location.source}\" was droped since duplication")
|
34
|
-
end
|
28
|
+
@decl.members.each do |member|
|
29
|
+
if member.instance_of?(RBS::AST::Members::MethodDefinition) && member.overloading?
|
30
|
+
# avoid to duplicate and keep order
|
31
|
+
@uniq_map[Object.new] = member
|
32
|
+
else
|
33
|
+
key = member_key(member)
|
34
|
+
drop_member = @uniq_map[key]
|
35
|
+
@uniq_map[key] = member
|
36
|
+
if drop_member
|
37
|
+
Orthoses.logger.info("#{@decl.name} \"#{member.location.source}\" was droped since duplication")
|
35
38
|
end
|
36
39
|
end
|
37
40
|
end
|
38
41
|
end
|
39
42
|
|
40
|
-
def drop_set_method_definition
|
41
|
-
attr_accessors = uniq_map.values.grep(RBS::AST::Members::AttrAccessor)
|
43
|
+
def drop_set_method_definition
|
44
|
+
attr_accessors = @uniq_map.values.grep(RBS::AST::Members::AttrAccessor)
|
42
45
|
attr_accessors.each do |member|
|
43
|
-
uniq_map.delete([RBS::AST::Members::MethodDefinition, :"#{member.name}=", member.kind])
|
46
|
+
@uniq_map.delete([RBS::AST::Members::MethodDefinition, :"#{member.name}=", member.kind])
|
44
47
|
end
|
45
48
|
end
|
46
49
|
|
47
|
-
def drop_known_method_definition
|
50
|
+
def drop_known_method_definition
|
48
51
|
decl_name = @decl.name.absolute!
|
49
|
-
if m_entry = @
|
52
|
+
if m_entry = @known_env.class_decls[decl_name]
|
50
53
|
m_entry.decls.each do |d|
|
51
|
-
d
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
54
|
+
drop_known_method_definition_recur(d)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def drop_known_method_definition_recur(d)
|
60
|
+
d.decl.members.each do |member|
|
61
|
+
case member
|
62
|
+
when RBS::AST::Members::LocationOnly
|
63
|
+
# ignore
|
64
|
+
when RBS::AST::Members::AttrAccessor
|
65
|
+
@uniq_map.delete([RBS::AST::Members::MethodDefinition, member.name, member.kind])
|
66
|
+
@uniq_map.delete([RBS::AST::Members::MethodDefinition, :"#{member.name}=", member.kind])
|
67
|
+
else
|
68
|
+
if member.kind_of?(RBS::AST::Members::Include) && member.name.interface?
|
69
|
+
# If interface is included, it is shared in the same namespace.
|
70
|
+
drop_known_method_definition_recur(@known_env.interface_decls[member.name])
|
71
|
+
else
|
72
|
+
@uniq_map.delete(member_key(member))
|
61
73
|
end
|
62
74
|
end
|
63
75
|
end
|
76
|
+
end
|
64
77
|
|
65
|
-
|
78
|
+
def drop_known_const_definition
|
79
|
+
decl_name = @decl.name.absolute!
|
80
|
+
constants_in_uniq_map = @uniq_map.select do |key, value|
|
66
81
|
value.kind_of?(RBS::AST::Declarations::Constant)
|
67
82
|
end
|
68
83
|
constants_in_uniq_map.each do |key, value|
|
69
84
|
type_name = decl_name + value.name
|
70
|
-
if @
|
71
|
-
uniq_map.delete(key)
|
85
|
+
if @known_env.constant_decls[type_name]
|
86
|
+
@uniq_map.delete(key)
|
72
87
|
end
|
73
88
|
end
|
74
89
|
end
|
@@ -42,7 +42,7 @@ module Orthoses
|
|
42
42
|
def write_to(store:)
|
43
43
|
each do |add_content|
|
44
44
|
content = store[add_content.name]
|
45
|
-
content.header
|
45
|
+
content.header = add_content.header
|
46
46
|
content.comment ||= add_content.comment
|
47
47
|
content.concat(add_content.body)
|
48
48
|
end
|
@@ -6,31 +6,62 @@ module Orthoses
|
|
6
6
|
class CreateFileByName
|
7
7
|
prepend Outputable
|
8
8
|
|
9
|
-
def initialize(loader, base_dir
|
9
|
+
def initialize(loader, base_dir: nil, to: nil, header: nil, if: nil, depth: nil, rmtree: false)
|
10
|
+
unless base_dir.nil?
|
11
|
+
warn "[Orthoses::CreateFileByName] base_dir: option is deprecated. Please use to: option instead."
|
12
|
+
end
|
13
|
+
|
14
|
+
to = to || base_dir
|
15
|
+
unless to
|
16
|
+
raise ArgumentError, "should set to: option"
|
17
|
+
end
|
18
|
+
|
19
|
+
relative_path_from_pwd = Pathname(to).expand_path.relative_path_from(Pathname.pwd).to_s
|
20
|
+
unless relative_path_from_pwd == "." || !relative_path_from_pwd.match?(%r{\A[/\.]})
|
21
|
+
raise ArgumentError, "to=\"#{to}\" should be under current dir=\"#{Pathname.pwd}\"."
|
22
|
+
end
|
23
|
+
|
10
24
|
@loader = loader
|
11
|
-
@
|
25
|
+
@to = to
|
12
26
|
@header = header
|
27
|
+
@depth = depth
|
28
|
+
@rmtree = rmtree
|
13
29
|
@if = binding.local_variable_get(:if)
|
14
30
|
end
|
15
31
|
|
16
32
|
using Utils::Underscore
|
17
33
|
|
18
34
|
def call
|
35
|
+
if @rmtree
|
36
|
+
Orthoses.logger.debug("Remove dir #{@to} since `rmtree: true`")
|
37
|
+
Pathname(@to).rmtree rescue nil
|
38
|
+
end
|
39
|
+
|
19
40
|
store = @loader.call
|
20
41
|
|
21
|
-
store.
|
22
|
-
|
42
|
+
store.select! do |name, content|
|
43
|
+
@if.nil? || @if.call(name, content)
|
44
|
+
end
|
45
|
+
grouped = store.group_by do |name, _|
|
46
|
+
splitted = name.to_s.split('::')
|
47
|
+
(@depth ? splitted[0, @depth] : splitted).join('::')
|
48
|
+
end
|
23
49
|
|
24
|
-
|
50
|
+
grouped.each do |group_name, group|
|
51
|
+
file_path = Pathname("#{@to}/#{group_name.split('::').map(&:underscore).join('/')}.rbs")
|
25
52
|
file_path.dirname.mkpath
|
26
53
|
file_path.open('w+') do |out|
|
27
54
|
if @header
|
28
55
|
out.puts @header
|
29
56
|
out.puts
|
30
57
|
end
|
31
|
-
|
58
|
+
group.sort!
|
59
|
+
contents = group.map do |(name, content)|
|
60
|
+
content.to_rbs
|
61
|
+
end.join("\n")
|
62
|
+
out.puts contents
|
63
|
+
Orthoses.logger.info("Generate file to #{file_path.to_s}")
|
32
64
|
end
|
33
|
-
Orthoses.logger.info("Generate file to #{file_path.to_s}")
|
34
65
|
end
|
35
66
|
end
|
36
67
|
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Orthoses
|
4
|
+
class MissingName
|
5
|
+
def initialize(loader)
|
6
|
+
@loader = loader
|
7
|
+
end
|
8
|
+
|
9
|
+
def call
|
10
|
+
@loader.call.tap do |store|
|
11
|
+
MissingClass.new(store).call
|
12
|
+
MissingModule.new(store).call
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
class MissingClass
|
19
|
+
def initialize(store)
|
20
|
+
@store = store
|
21
|
+
end
|
22
|
+
|
23
|
+
def call
|
24
|
+
@store.values.each do |content|
|
25
|
+
recur(content)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def recur(content)
|
32
|
+
content.auto_header
|
33
|
+
if content.header && content.header.include?("<")
|
34
|
+
_, superclass = content.header.split(/\s*<\s*/, 2)
|
35
|
+
superclass.sub!(/\[.*/, "")
|
36
|
+
new_name = TypeName(superclass).relative!.to_s
|
37
|
+
recur(@store[new_name])
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class MissingModule
|
43
|
+
def initialize(store)
|
44
|
+
@store = store
|
45
|
+
end
|
46
|
+
|
47
|
+
def call
|
48
|
+
missings = []
|
49
|
+
@store.keys.each do |key_name|
|
50
|
+
missings.concat split_name(key_name)
|
51
|
+
end
|
52
|
+
missings.uniq!
|
53
|
+
missings.each do |missing|
|
54
|
+
@store[missing].header = "module #{missing}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def split_name(key_name)
|
61
|
+
ret = []
|
62
|
+
|
63
|
+
type_name = TypeName(key_name).relative!
|
64
|
+
if !Utils.rbs_defined_class?(type_name.to_s) && !@store.has_key?(type_name.to_s)
|
65
|
+
ret << type_name.to_s
|
66
|
+
end
|
67
|
+
|
68
|
+
path = type_name.namespace.path
|
69
|
+
path.each_with_index do |sym, index|
|
70
|
+
name = path[0, index + 1].join("::")
|
71
|
+
next if name.empty?
|
72
|
+
if !Utils.rbs_defined_class?(name) && !@store.has_key?(name)
|
73
|
+
ret << name
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
ret
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
data/lib/orthoses/mixin.rb
CHANGED
@@ -50,6 +50,7 @@ module Orthoses
|
|
50
50
|
|
51
51
|
base_mod_name = Utils.module_name(base_mod)
|
52
52
|
next unless base_mod_name
|
53
|
+
next if base_mod_name.include?("#")
|
53
54
|
|
54
55
|
content = store[base_mod_name]
|
55
56
|
capture.argument[:modules].each do |mod|
|
@@ -58,13 +59,17 @@ module Orthoses
|
|
58
59
|
|
59
60
|
next if mod_name.start_with?("Orthoses")
|
60
61
|
|
61
|
-
|
62
|
-
|
62
|
+
type_params_sig = ""
|
63
|
+
if type_params = Utils.known_type_params(mod)
|
64
|
+
if !type_params.empty?
|
65
|
+
type_params_sig = "[#{type_params.map{"untyped"}.join(", ")}]"
|
66
|
+
end
|
67
|
+
end
|
63
68
|
|
64
69
|
next unless @if.nil? || @if.call(base_mod, how, mod)
|
65
70
|
|
66
|
-
store[mod_name]
|
67
|
-
content << "#{how} #{mod_name}"
|
71
|
+
store[mod_name].header = "module #{mod_name}"
|
72
|
+
content << "#{how} #{mod_name}#{type_params_sig}"
|
68
73
|
end
|
69
74
|
end
|
70
75
|
end
|
@@ -3,14 +3,33 @@ module Orthoses
|
|
3
3
|
# use Orthoses::RBSPrototypeRuntime,
|
4
4
|
# patterns: ['Foo::*']
|
5
5
|
class RBSPrototypeRuntime
|
6
|
-
def initialize(
|
6
|
+
def initialize(
|
7
|
+
loader,
|
8
|
+
patterns:,
|
9
|
+
method_definition_filter: nil,
|
10
|
+
alias_filter: nil,
|
11
|
+
constant_filter: nil,
|
12
|
+
mixin_filter: nil,
|
13
|
+
attribute_filter: nil
|
14
|
+
)
|
7
15
|
@loader = loader
|
8
16
|
@patterns = patterns
|
17
|
+
@method_definition_filter = method_definition_filter
|
18
|
+
@alias_filter = alias_filter
|
19
|
+
@constant_filter = constant_filter
|
20
|
+
@mixin_filter = mixin_filter
|
21
|
+
@attribute_filter = attribute_filter
|
9
22
|
end
|
10
23
|
|
11
24
|
def call
|
12
25
|
@loader.call.tap do |store|
|
13
|
-
content_env = Orthoses::Content::Environment.new
|
26
|
+
content_env = Orthoses::Content::Environment.new(
|
27
|
+
method_definition_filter: @method_definition_filter,
|
28
|
+
alias_filter: @alias_filter,
|
29
|
+
constant_filter: @constant_filter,
|
30
|
+
mixin_filter: @mixin_filter,
|
31
|
+
attribute_filter: @attribute_filter,
|
32
|
+
)
|
14
33
|
|
15
34
|
patterns = @patterns
|
16
35
|
env = RBS::Environment.new
|
data/lib/orthoses/utils.rb
CHANGED
data/lib/orthoses/version.rb
CHANGED
data/lib/orthoses.rb
CHANGED
@@ -17,6 +17,7 @@ module Orthoses
|
|
17
17
|
autoload :Mixin, 'orthoses/mixin'
|
18
18
|
autoload :LazyTracePoint, 'orthoses/lazy_trace_point'
|
19
19
|
autoload :LoadRBS, 'orthoses/load_rbs'
|
20
|
+
autoload :MissingName, 'orthoses/missing_name'
|
20
21
|
autoload :ObjectSpaceAll, 'orthoses/object_space_all'
|
21
22
|
autoload :Outputable, 'orthoses/outputable'
|
22
23
|
autoload :PathHelper, 'orthoses/path_helper'
|
data/sig/orthoses/_call.rbs
CHANGED
data/sig/orthoses/attribute.rbs
CHANGED
data/sig/orthoses/autoload.rbs
CHANGED
data/sig/orthoses/builder.rbs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
3
|
# Middleware builder like the Rack
|
4
4
|
# Builder.new do
|
@@ -10,9 +10,10 @@
|
|
10
10
|
# run ->() { require 'foo' }
|
11
11
|
# end
|
12
12
|
class Orthoses::Builder
|
13
|
-
def initialize: () ?{ () -> untyped } -> void
|
14
|
-
def use: (untyped middleware, *untyped args, **untyped key) ?{ () -> untyped } -> untyped
|
13
|
+
def initialize: () ?{ () [self: Orthoses::Builder] -> untyped } -> void
|
14
|
+
def use: (untyped middleware, *untyped args, **untyped key) ?{ (*untyped, **untyped) -> untyped } -> untyped
|
15
15
|
def run: (untyped loader) -> untyped
|
16
|
+
def reset_runner: (untyped loader) -> untyped
|
16
17
|
def to_loader: () -> untyped
|
17
|
-
def call: ()
|
18
|
+
def call: () -> Orthoses::store
|
18
19
|
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
|
-
class Orthoses::CallTracer::Capture
|
3
|
+
class Orthoses::CallTracer::Capture < ::Struct[untyped]
|
4
4
|
def method: () -> Method
|
5
5
|
def argument: () -> Hash[Symbol, untyped]
|
6
6
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
3
|
# CallTracer::Lazy is possible to perform a trace
|
4
4
|
# equivalent to CallTracer before method is defined.
|
@@ -15,5 +15,5 @@
|
|
15
15
|
class Orthoses::CallTracer::Lazy
|
16
16
|
def initialize: () -> void
|
17
17
|
def trace: (String name) ?{ () -> untyped } -> untyped
|
18
|
-
attr_reader captures: Array[
|
18
|
+
attr_reader captures: Array[Orthoses::CallTracer::Capture]
|
19
19
|
end
|
data/sig/orthoses/constant.rbs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
3
|
class Orthoses::Constant
|
4
4
|
def initialize: (Orthoses::_Call loader, ?strict: bool, ?if: ^(Module, Symbol, untyped) -> boolish | nil, ?on_error: ^(Orthoses::ConstLoadError) -> void | nil) -> void
|
@@ -1,11 +1,13 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
3
|
# Check and drop duplication method, const etc...
|
4
4
|
class Orthoses::Content::DuplicationChecker
|
5
5
|
def initialize: (untyped decl, ?env: untyped?) -> void
|
6
6
|
def update_decl: () -> (nil | untyped)
|
7
7
|
private def uniq_members: () -> untyped
|
8
|
-
private def drop_set_method_definition: (
|
9
|
-
private def drop_known_method_definition: (
|
8
|
+
private def drop_set_method_definition: () -> untyped
|
9
|
+
private def drop_known_method_definition: () -> untyped
|
10
|
+
private def drop_known_method_definition_recur: (untyped d) -> untyped
|
11
|
+
private def drop_known_const_definition: () -> untyped
|
10
12
|
private def member_key: (untyped member) -> untyped
|
11
13
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
3
|
class Orthoses::Content::Environment
|
4
4
|
def self.load_from_paths: (untyped paths) -> untyped
|
5
|
-
def initialize: (?constant_filter: constant_filter?, ?mixin_filter: mixin_filter?, ?attribute_filter: attribute_filter?) -> void
|
5
|
+
def initialize: (?method_definition_filter: method_definition_filter?, ?alias_filter: alias_filter?, ?constant_filter: constant_filter?, ?mixin_filter: mixin_filter?, ?attribute_filter: attribute_filter?) -> void
|
6
6
|
def <<: (RBS::AST::Declarations::t decl) -> RBS::Environment
|
7
7
|
def write_to: (store: Orthoses::store) -> void
|
8
8
|
def each: () { (Orthoses::Content) -> void } -> void
|
@@ -11,10 +11,15 @@ class Orthoses::Content::Environment
|
|
11
11
|
# end
|
12
12
|
private def avoid_generic_parameter_mismatch_error: () -> untyped
|
13
13
|
private def decls_to_lines: (untyped decls) -> untyped
|
14
|
+
type method_definition_filter = ^(RBS::AST::Members::MethodDefinition) -> boolish
|
15
|
+
type alias_filter = ^(RBS::AST::Members::Alias) -> boolish
|
14
16
|
type constant_filter = ^(RBS::AST::Declarations::Constant) -> boolish
|
15
17
|
type mixin_filter = ^(RBS::AST::Members::Mixin) -> boolish
|
16
18
|
type attribute_filter = ^(RBS::AST::Members::Attribute) -> boolish
|
17
|
-
@
|
19
|
+
@load_env: RBS::Environment
|
20
|
+
@known_env: RBS::Environment
|
21
|
+
@method_definition_filter: method_definition_filter?
|
22
|
+
@alias_filter: alias_filter?
|
18
23
|
@constant_filter: constant_filter?
|
19
24
|
@mixin_filter: mixin_filter?
|
20
25
|
@attribute_filter: attribute_filter?
|
data/sig/orthoses/content.rbs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# THIS IS GENERATED CODE from `$ rake
|
1
|
+
# THIS IS GENERATED CODE from `$ rake sig`
|
2
2
|
|
3
3
|
class Orthoses::Content
|
4
4
|
def initialize: (name: String) -> void
|
@@ -21,4 +21,5 @@ class Orthoses::Content
|
|
21
21
|
attr_reader name: String
|
22
22
|
attr_reader body: Array[String]
|
23
23
|
attr_accessor header: String?
|
24
|
+
attr_accessor comment: String?
|
24
25
|
end
|