orthoses 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/orthoses/attribute.rb +28 -55
  3. data/lib/orthoses/constant.rb +0 -1
  4. data/lib/orthoses/content/duplication_checker.rb +19 -2
  5. data/lib/orthoses/content.rb +20 -13
  6. data/lib/orthoses/lazy_trace_point.rb +37 -43
  7. data/lib/orthoses/mixin.rb +29 -39
  8. data/lib/orthoses/rbs_prototype_runtime.rb +3 -3
  9. data/lib/orthoses/trace/attribute.rb +26 -8
  10. data/lib/orthoses/utils.rb +1 -1
  11. data/lib/orthoses/version.rb +1 -1
  12. data/sig/orthoses/attribute.rbs +2 -2
  13. data/sig/orthoses/autoload.rbs +1 -0
  14. data/sig/orthoses/builder.rbs +2 -0
  15. data/sig/orthoses/call_tracer/lazy.rbs +2 -0
  16. data/sig/orthoses/call_tracer.rbs +2 -0
  17. data/sig/orthoses/const_load_error.rbs +3 -0
  18. data/sig/orthoses/constant.rbs +2 -2
  19. data/sig/orthoses/content/array_io.rbs +1 -0
  20. data/sig/orthoses/content/duplication_checker.rbs +5 -0
  21. data/sig/orthoses/content/environment.rbs +7 -7
  22. data/sig/orthoses/content/header_builder.rbs +2 -0
  23. data/sig/orthoses/content.rbs +5 -0
  24. data/sig/orthoses/create_file_by_name.rbs +6 -1
  25. data/sig/orthoses/delegate_class.rbs +1 -1
  26. data/sig/orthoses/filter.rbs +3 -2
  27. data/sig/orthoses/lazy_trace_point/method_added_hook.rbs +6 -0
  28. data/sig/orthoses/lazy_trace_point/signleton_method_added_hook.rbs +5 -0
  29. data/sig/orthoses/lazy_trace_point.rbs +6 -6
  30. data/sig/orthoses/load_rbs.rbs +2 -2
  31. data/sig/orthoses/missing_name/missing_class.rbs +1 -0
  32. data/sig/orthoses/missing_name/missing_module.rbs +1 -0
  33. data/sig/orthoses/missing_name.rbs +1 -0
  34. data/sig/orthoses/mixin.rbs +4 -2
  35. data/sig/orthoses/object_space_all.rbs +1 -1
  36. data/sig/orthoses/outputable/avoid_recursive_ancestor_error.rbs +1 -1
  37. data/sig/orthoses/outputable/constantizable_filter.rbs +1 -0
  38. data/sig/orthoses/outputable/uniq_content_body.rbs +1 -0
  39. data/sig/orthoses/outputable.rbs +2 -0
  40. data/sig/orthoses/path_helper.rbs +2 -0
  41. data/sig/orthoses/pp.rbs +1 -0
  42. data/sig/orthoses/rbs_prototype_rb.rbs +2 -2
  43. data/sig/orthoses/rbs_prototype_runtime.rbs +3 -3
  44. data/sig/orthoses/sort.rbs +1 -0
  45. data/sig/orthoses/store.rbs +1 -0
  46. data/sig/orthoses/tap.rbs +2 -1
  47. data/sig/orthoses/trace/attribute/hook.rbs +11 -0
  48. data/sig/orthoses/trace/attribute.rbs +3 -0
  49. data/sig/orthoses/trace/method.rbs +5 -0
  50. data/sig/orthoses/trace.rbs +2 -0
  51. data/sig/orthoses/utils/type_list.rbs +1 -0
  52. data/sig/orthoses/utils.rbs +2 -0
  53. data/sig/orthoses/walk.rbs +2 -2
  54. data/sig/orthoses/writer.rbs +2 -1
  55. data/sig/orthoses.rbs +5 -5
  56. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0bbf41507135a45b3b2a45ffff90500a68a39f4497bf1fcbd72d94579fd27ae8
4
- data.tar.gz: 8a6daa8a64d8bfbda565e24ec53622ca5530f5624e80f0c6fdfed5ca13b10786
3
+ metadata.gz: dd4d2682b08812b2f8fa633aa299702d38fd509439e4e2ac0b8751a64358b32a
4
+ data.tar.gz: 28118eed7d772c490670f83277ccdabc4d2938ca329f5051f8aebd40be1f08a6
5
5
  SHA512:
6
- metadata.gz: c9d4a29dfc22972be165a703c4e86272a6e045ab34a91f76b560eeb329dca0795dab6eef59f419b50b7da4c390fcfa71d74d217baad3aa65b43f0000a2f7a126
7
- data.tar.gz: 5579c33080fb673b50445fc8193f2876f8065e9ccc7ad2042020539a688f1242bfbe9dab265a780057040051f555f20b04ff62734ef844d25fea099a835d1c2a
6
+ metadata.gz: 1f4262320cb3d9ef5304cbdb53af7cb0e0895bac03e7d98697cf38fc73dabc25b579c6fd4a213ae5c0d97d1763f88dabde2f7f1e6455a084c424ef6b042a3acb
7
+ data.tar.gz: 35e2b8378b602ad6b853ba7f543d807aab514d0f2a7d8b931230912084d40c7222e45d09cfe4b3eddd614f62bcce578cac2b6e14dac08f5578089ecbb7d7895c
@@ -1,98 +1,71 @@
1
1
  module Orthoses
2
2
  class Attribute
3
+ CALL_GRAPH = {}
4
+
3
5
  module Hook
4
6
  def attr(*names)
7
+ (CALL_GRAPH[self]||=[]) << [:attr, names]
5
8
  super
6
9
  end
7
10
 
8
11
  def attr_accessor(*names)
12
+ (CALL_GRAPH[self]||=[]) << [:attr_accessor, names]
9
13
  super
10
14
  end
11
15
 
12
16
  def attr_reader(*names)
17
+ (CALL_GRAPH[self]||=[]) << [:attr_reader, names]
13
18
  super
14
19
  end
15
20
 
16
21
  def attr_writer(*names)
22
+ (CALL_GRAPH[self]||=[]) << [:attr_writer, names]
17
23
  super
18
24
  end
19
25
  end
20
26
 
21
27
  def initialize(loader)
28
+ CALL_GRAPH.clear
22
29
  @loader = loader
23
30
  end
24
31
 
25
32
  def call
26
33
  ::Module.prepend(Hook)
27
34
 
28
- attr = CallTracer.new
29
- attr_accessor = CallTracer.new
30
- attr_reader = CallTracer.new
31
- attr_writer = CallTracer.new
32
-
33
- store = attr.trace(Hook.instance_method(:attr)) do
34
- attr_accessor.trace(Hook.instance_method(:attr_accessor)) do
35
- attr_reader.trace(Hook.instance_method(:attr_reader)) do
36
- attr_writer.trace(Hook.instance_method(:attr_writer)) do
37
- @loader.call
38
- end
39
- end
40
- end
41
- end
35
+ store = @loader.call
42
36
 
43
- attr.captures.each do |capture|
44
- m = capture.method.receiver.to_s.match(/#<Class:([\w:]+)>/)
37
+ CALL_GRAPH.dup.each do |base_mod, calls|
38
+ m = base_mod.to_s.match(/#<Class:([\w:]+)>/)
45
39
  if m && m[1]
46
40
  receiver_name = m[1]
47
41
  prefix = "self."
48
42
  else
49
- receiver_name = Utils.module_name(capture.method.receiver) or next
43
+ receiver_name = Utils.module_name(base_mod) or next
50
44
  prefix = nil
51
45
  end
52
46
  content = store[receiver_name]
53
- names = capture.argument[:names]
54
- if names[1].equal?(true)
55
- content << "attr_accessor #{prefix}#{names[0]}: untyped"
56
- elsif names[1].equal?(false)
57
- content << "attr_reader #{prefix}#{names[0]}: untyped"
58
- else
59
- names.each do |name|
60
- content << "attr_reader #{prefix}#{name}: untyped"
47
+
48
+ calls.each do |(a, names)|
49
+ case a
50
+ when :attr
51
+ if names[1].equal?(true)
52
+ content << "attr_accessor #{prefix}#{names[0]}: untyped"
53
+ elsif names[1].equal?(false)
54
+ content << "attr_reader #{prefix}#{names[0]}: untyped"
55
+ else
56
+ names.each do |name|
57
+ content << "attr_reader #{prefix}#{name}: untyped"
58
+ end
59
+ end
60
+ else
61
+ names.each do |name|
62
+ content << "#{a} #{prefix}#{name}: untyped"
63
+ end
61
64
  end
62
65
  end
63
66
  end
64
67
 
65
- each_definition(attr_accessor) do |receiver_name, name|
66
- store[receiver_name] << "attr_accessor #{name}: untyped"
67
- end
68
- each_definition(attr_reader) do |receiver_name, name|
69
- store[receiver_name] << "attr_reader #{name}: untyped"
70
- end
71
- each_definition(attr_writer) do |receiver_name, name|
72
- store[receiver_name] << "attr_writer #{name}: untyped"
73
- end
74
-
75
68
  store
76
69
  end
77
-
78
- private
79
-
80
- def each_definition(call_tracer)
81
- call_tracer.captures.each do |capture|
82
- m = capture.method.receiver.to_s.match(/#<Class:([\w:]+)>/)
83
- names = capture.argument[:names]
84
- if m && m[1]
85
- receiver_name = m[1]
86
- names.each do |name|
87
- yield [receiver_name, "self.#{name}"]
88
- end
89
- else
90
- receiver_name = Utils.module_name(capture.method.receiver) or next
91
- names.each do |name|
92
- yield [receiver_name, name]
93
- end
94
- end
95
- end
96
- end
97
70
  end
98
71
  end
@@ -14,7 +14,6 @@ module Orthoses
14
14
  @loader.call.tap do |store|
15
15
  will_add_key_and_content = []
16
16
  store.each do |name, _|
17
- next if name == :Module
18
17
  next if name.start_with?('#<')
19
18
 
20
19
  begin
@@ -14,6 +14,7 @@ module Orthoses
14
14
 
15
15
  uniq_members
16
16
  drop_set_method_definition
17
+ drop_by_singleton_instance
17
18
  drop_known_method_definition
18
19
  drop_known_const_definition
19
20
 
@@ -40,6 +41,14 @@ module Orthoses
40
41
  end
41
42
  end
42
43
 
44
+ def drop_by_singleton_instance
45
+ singleton_instances = @uniq_map.values.select { |v| v.instance_of?(RBS::AST::Members::MethodDefinition) && v.kind == :singleton_instance }
46
+ singleton_instances.each do |member|
47
+ @uniq_map.delete([member.class, member.name, :instance])
48
+ @uniq_map.delete([member.class, member.name, :singleton])
49
+ end
50
+ end
51
+
43
52
  def drop_set_method_definition
44
53
  attr_accessors = @uniq_map.values.grep(RBS::AST::Members::AttrAccessor)
45
54
  attr_accessors.each do |member|
@@ -59,18 +68,26 @@ module Orthoses
59
68
  def drop_known_method_definition_recur(d)
60
69
  d.decl.members.each do |member|
61
70
  case member
71
+ when RBS::AST::Members::MethodDefinition
72
+ if member.kind == :singleton_instance
73
+ @uniq_map.delete([member.class, member.name, :instance])
74
+ @uniq_map.delete([member.class, member.name, :singleton])
75
+ end
76
+ @uniq_map.delete(member_key(member))
62
77
  when RBS::AST::Members::LocationOnly
63
78
  # ignore
64
79
  when RBS::AST::Members::AttrAccessor
65
80
  @uniq_map.delete([RBS::AST::Members::MethodDefinition, member.name, member.kind])
66
81
  @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?
82
+ when RBS::AST::Members::Include
83
+ if member.name.interface?
69
84
  # If interface is included, it is shared in the same namespace.
70
85
  drop_known_method_definition_recur(@known_env.interface_decls[member.name])
71
86
  else
72
87
  @uniq_map.delete(member_key(member))
73
88
  end
89
+ else
90
+ @uniq_map.delete(member_key(member))
74
91
  end
75
92
  end
76
93
  end
@@ -102,19 +102,7 @@ module Orthoses
102
102
 
103
103
  case val
104
104
  when Class
105
- superclass =
106
- if val.superclass && val.superclass != Object
107
- super_module_name = Utils.module_name(val.superclass)
108
-
109
- if super_module_name && super_module_name != "Random::Base" # https://github.com/ruby/rbs/pull/977
110
- " < ::#{super_module_name}#{temporary_type_params(super_module_name)}"
111
- else
112
- nil
113
- end
114
- else
115
- nil
116
- end
117
- self.header = "class #{Utils.module_name(val)}#{type_params(name)}#{superclass}"
105
+ self.header = "class #{Utils.module_name(val)}#{type_params(name)}#{build_super_class(val)}"
118
106
  when Module
119
107
  self.header = "module #{Utils.module_name(val)}#{type_params(name)}"
120
108
  else
@@ -124,6 +112,25 @@ module Orthoses
124
112
 
125
113
  private
126
114
 
115
+ def build_super_class(val)
116
+ return nil unless val.superclass && val.superclass != Object
117
+
118
+ begin
119
+ # check private const
120
+ eval(val.superclass.to_s)
121
+ rescue NameError
122
+ return nil
123
+ end
124
+
125
+ super_module_name = Utils.module_name(val.superclass)
126
+ return nil unless super_module_name
127
+
128
+ # https://github.com/ruby/rbs/pull/977
129
+ return nil unless super_module_name != "Random::Base"
130
+
131
+ " < ::#{super_module_name}#{temporary_type_params(super_module_name)}"
132
+ end
133
+
127
134
  class ArrayIO
128
135
  def initialize
129
136
  @outs = []
@@ -10,32 +10,44 @@ module Orthoses
10
10
  # ...
11
11
  # end
12
12
  class LazyTracePoint < TracePoint
13
+ METHOD_METHOD = ::Kernel.instance_method(:method)
14
+ INSTANCE_METHOD_METHOD = ::Module.instance_method(:instance_method)
15
+ UNBOUND_NAME_METHOD = ::Module.instance_method(:name)
16
+ METHOD_ADDED_HOOKS = {}
17
+ SINGLETON_METHOD_ADDED_HOOKS = {}
18
+
13
19
  # for TracePoint target
14
- ::Module.prepend(Module.new{
20
+ module MethodAddedHook
15
21
  def method_added(id)
22
+ begin
23
+ if h = METHOD_ADDED_HOOKS[id]
24
+ if mod_name = UNBOUND_NAME_METHOD.bind(self).call
25
+ h[mod_name]&.call(self, id)
26
+ end
27
+ end
28
+ rescue TypeError => e
29
+ end
16
30
  super
17
31
  end
18
- })
19
- ::BasicObject.prepend(Module.new{
32
+ end
33
+ ::Module.prepend MethodAddedHook
34
+
35
+ module SignletonMethodAddedHook
20
36
  def singleton_method_added(id)
37
+ begin
38
+ if h = SINGLETON_METHOD_ADDED_HOOKS[id]
39
+ if mod_name = UNBOUND_NAME_METHOD.bind(self).call
40
+ h[mod_name]&.call(self, id)
41
+ end
42
+ end
43
+ rescue TypeError => e
44
+ end
21
45
  super
22
46
  end
23
- })
24
-
25
- METHOD_METHOD = ::Kernel.instance_method(:method)
26
- INSTANCE_METHOD_METHOD = ::Module.instance_method(:instance_method)
27
- UNBOUND_NAME_METHOD = ::Module.instance_method(:name)
28
- METHOD_ADDED_METHOD = ::Module.instance_method(:method_added)
29
- SINGLETON_METHOD_ADDED_METHOD = ::BasicObject.instance_method(:singleton_method_added)
30
-
31
- def initialize(*events, &block)
32
- @mod_name = nil
33
- @instance_method_id = nil
34
- @singleton_method_id = nil
35
- super
36
47
  end
48
+ ::BasicObject.prepend SignletonMethodAddedHook
37
49
 
38
- def enable(target: nil, target_line: nil, target_thread: nil, &block)
50
+ def enable(target: nil, &block)
39
51
  return super unless target.kind_of?(String)
40
52
 
41
53
  case
@@ -59,43 +71,25 @@ module Orthoses
59
71
  private
60
72
 
61
73
  def trace_instance_method(&block)
62
- # try to load
63
74
  target = Object.const_get(@mod_name).instance_method(@instance_method_id)
64
75
  enable(target: target, &block)
65
76
  rescue NameError
66
- TracePoint.new(:call) do |tp|
67
- id = tp.binding.local_variable_get(:id)
68
- next unless id == @instance_method_id
69
-
70
- mod_name = UNBOUND_NAME_METHOD.bind(tp.self).call
71
-
72
- next unless mod_name
73
- next unless mod_name == @mod_name
74
-
75
- enable(target: INSTANCE_METHOD_METHOD.bind(tp.self).call(id))
76
- tp.disable
77
- end.enable(target: METHOD_ADDED_METHOD, &block)
77
+ (METHOD_ADDED_HOOKS[@instance_method_id] ||= {})[@mod_name] = ->(const, id) {
78
+ enable(target: INSTANCE_METHOD_METHOD.bind(const).call(id))
79
+ }
80
+ block&.call
78
81
  ensure
79
82
  disable
80
83
  end
81
84
 
82
85
  def trace_singleton_method(&block)
83
- # try to load
84
86
  target = Object.const_get(@mod_name).method(@singleton_method_id)
85
87
  enable(target: target, &block)
86
88
  rescue NameError
87
- TracePoint.new(:call) do |tp|
88
- id = tp.binding.local_variable_get(:id)
89
- next unless id == @singleton_method_id
90
-
91
- mod_name = UNBOUND_NAME_METHOD.bind(tp.self).call
92
-
93
- next unless mod_name
94
- next unless mod_name == @mod_name
95
-
96
- enable(target: METHOD_METHOD.bind(tp.self).call(id))
97
- tp.disable
98
- end.enable(target: SINGLETON_METHOD_ADDED_METHOD, &block)
89
+ (SINGLETON_METHOD_ADDED_HOOKS[@singleton_method_id] ||= {})[@mod_name] = ->(const, id) {
90
+ enable(target: METHOD_METHOD.bind(const).call(id))
91
+ }
92
+ block&.call
99
93
  ensure
100
94
  disable
101
95
  end
@@ -2,19 +2,31 @@
2
2
 
3
3
  module Orthoses
4
4
  class Mixin
5
+ CALL_GRAPH = {}
6
+
5
7
  module Hook
6
8
  def include(*modules)
9
+ modules.each do |m|
10
+ (CALL_GRAPH[self]||=[]) << [:include, m]
11
+ end
7
12
  super
8
13
  end
9
14
  def extend(*modules)
15
+ modules.each do |m|
16
+ (CALL_GRAPH[self]||=[]) << [:extend, m]
17
+ end
10
18
  super
11
19
  end
12
20
  def prepend(*modules)
21
+ modules.each do |m|
22
+ (CALL_GRAPH[self]||=[]) << [:prepend, m]
23
+ end
13
24
  super
14
25
  end
15
26
  end
16
27
 
17
28
  def initialize(loader, if: nil)
29
+ CALL_GRAPH.clear
18
30
  @loader = loader
19
31
  @if = binding.local_variable_get(:if)
20
32
  end
@@ -22,56 +34,34 @@ module Orthoses
22
34
  def call
23
35
  ::Module.prepend(Hook)
24
36
 
25
- include = CallTracer.new
26
- extend = CallTracer.new
27
- prepend = CallTracer.new
37
+ store = @loader.call
28
38
 
29
- store = include.trace(Hook.instance_method(:include)) do
30
- extend.trace(Hook.instance_method(:extend)) do
31
- prepend.trace(Hook.instance_method(:prepend)) do
32
- @loader.call
33
- end
39
+ CALL_GRAPH.dup.each do |base_mod, mixins|
40
+ base_mod_name = Utils.module_name(base_mod) or next
41
+ content = store[base_mod_name]
42
+ mixins.each do |(how, mod)|
43
+ mod_name = Utils.module_name(mod) or next
44
+ next if mod_name.start_with?("Orthoses")
45
+ next unless @if.nil? || @if.call(base_mod, how, mod)
46
+
47
+ store[mod_name].header = "module #{mod_name}"
48
+ content << "#{how} #{mod_name}#{type_params_sig(mod)}"
34
49
  end
35
50
  end
36
51
 
37
- collect_definitions(store, include, :include)
38
- collect_definitions(store, extend, :extend)
39
- collect_definitions(store, prepend, :prepend)
40
-
41
52
  store
42
53
  end
43
54
 
44
55
  private
45
56
 
46
- def collect_definitions(store, call_tracer, how)
47
- call_tracer.captures.each do |capture|
48
- base_mod = capture.method.receiver
49
- next unless base_mod.kind_of?(Module)
50
-
51
- base_mod_name = Utils.module_name(base_mod)
52
- next unless base_mod_name
53
- next if base_mod_name.include?("#")
54
-
55
- content = store[base_mod_name]
56
- capture.argument[:modules].each do |mod|
57
- mod_name = Utils.module_name(mod)
58
- next unless mod_name
59
-
60
- next if mod_name.start_with?("Orthoses")
61
-
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
68
-
69
- next unless @if.nil? || @if.call(base_mod, how, mod)
70
-
71
- store[mod_name].header = "module #{mod_name}"
72
- content << "#{how} #{mod_name}#{type_params_sig}"
57
+ def type_params_sig(mod)
58
+ if type_params = Utils.known_type_params(mod)
59
+ if !type_params.empty?
60
+ return "[#{type_params.map{"untyped"}.join(", ")}]"
73
61
  end
74
62
  end
63
+
64
+ ""
75
65
  end
76
66
  end
77
67
  end
@@ -5,7 +5,7 @@ module Orthoses
5
5
  class RBSPrototypeRuntime
6
6
  def initialize(
7
7
  loader,
8
- patterns:,
8
+ patterns: nil,
9
9
  method_definition_filter: nil,
10
10
  alias_filter: nil,
11
11
  constant_filter: nil,
@@ -31,9 +31,9 @@ module Orthoses
31
31
  attribute_filter: @attribute_filter,
32
32
  )
33
33
 
34
- patterns = @patterns
34
+ patterns = @patterns || store.keys
35
35
  env = RBS::Environment.new
36
- merge = true
36
+ merge = false
37
37
  owners_included = []
38
38
  RBS::Prototype::Runtime.new(
39
39
  patterns: patterns,
@@ -3,6 +3,24 @@
3
3
  module Orthoses
4
4
  class Trace
5
5
  class Attribute
6
+ module Hook
7
+ def attr(*names)
8
+ super
9
+ end
10
+
11
+ def attr_accessor(*names)
12
+ super
13
+ end
14
+
15
+ def attr_reader(*names)
16
+ super
17
+ end
18
+
19
+ def attr_writer(*names)
20
+ super
21
+ end
22
+ end
23
+
6
24
  include Targetable
7
25
 
8
26
  def initialize(loader, patterns:)
@@ -13,17 +31,17 @@ module Orthoses
13
31
  end
14
32
 
15
33
  def call
16
- ::Module.prepend(Orthoses::Attribute::Hook)
17
- store = nil
18
- build_trace_hook.enable(target: Orthoses::Attribute::Hook.instance_method(:attr)) do
19
- build_trace_hook.enable(target: Orthoses::Attribute::Hook.instance_method(:attr_accessor)) do
20
- build_trace_hook.enable(target: Orthoses::Attribute::Hook.instance_method(:attr_reader)) do
21
- build_trace_hook.enable(target: Orthoses::Attribute::Hook.instance_method(:attr_writer)) do
22
- store = @loader.call
34
+ ::Module.prepend(Hook)
35
+ store =
36
+ build_trace_hook.enable(target: Hook.instance_method(:attr)) do
37
+ build_trace_hook.enable(target: Hook.instance_method(:attr_accessor)) do
38
+ build_trace_hook.enable(target: Hook.instance_method(:attr_reader)) do
39
+ build_trace_hook.enable(target: Hook.instance_method(:attr_writer)) do
40
+ @loader.call
41
+ end
23
42
  end
24
43
  end
25
44
  end
26
- end
27
45
 
28
46
  @captured_dict.each do |mod_name, captures|
29
47
  captures.each do |(kind, prefix, name), types|
@@ -182,7 +182,7 @@ module Orthoses
182
182
  raise TypeError
183
183
  end
184
184
  rbs_environment.class_decls[type_name]&.then do |entry|
185
- entry.decls.first.decl.type_params
185
+ entry.type_params
186
186
  end
187
187
  end
188
188
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orthoses
4
- VERSION = "1.8.0"
4
+ VERSION = "1.9.0"
5
5
  end
@@ -1,8 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Attribute
4
+ @loader: Orthoses::_Call
4
5
  def initialize: (Orthoses::_Call loader) -> void
5
6
  def call: () -> Orthoses::store
6
- private def each_definition: (untyped call_tracer) { (untyped) -> untyped } -> untyped
7
- @loader: Orthoses::_Call
7
+ CALL_GRAPH: Hash[untyped, untyped]
8
8
  end
@@ -1,6 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Autoload
4
+ @loader: untyped
4
5
  def initialize: (untyped loader) -> void
5
6
  def call: () -> untyped
6
7
  end
@@ -10,6 +10,8 @@
10
10
  # run ->() { require 'foo' }
11
11
  # end
12
12
  class Orthoses::Builder
13
+ @use: untyped
14
+ @runner: untyped
13
15
  def initialize: () ?{ () [self: Orthoses::Builder] -> untyped } -> void
14
16
  def use: (untyped middleware, *untyped args, **untyped key) ?{ (*untyped, **untyped) -> untyped } -> untyped
15
17
  def run: (untyped loader) -> untyped
@@ -13,6 +13,8 @@
13
13
  # capture.argument[:block]
14
14
  # end
15
15
  class Orthoses::CallTracer::Lazy
16
+ @captures: untyped
17
+ @lazy_trace_point: untyped
16
18
  def initialize: () -> void
17
19
  def trace: (String name) ?{ () -> untyped } -> untyped
18
20
  attr_reader captures: Array[Orthoses::CallTracer::Capture]
@@ -1,6 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::CallTracer
4
+ @captures: untyped
5
+ @target_tp: untyped
4
6
  def initialize: () -> void
5
7
  def trace: (Method | UnboundMethod) ?{ () -> untyped } -> untyped
6
8
  attr_accessor captures: Array[Capture]
@@ -1,6 +1,9 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::ConstLoadError < ::StandardError
4
+ @root: untyped
5
+ @const: untyped
6
+ @error: untyped
4
7
  def initialize: (root: Module, const: Symbol, error: untyped) -> void
5
8
  def message: () -> ::String
6
9
  attr_reader root: Module
@@ -1,10 +1,10 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Constant
4
- def initialize: (Orthoses::_Call loader, ?strict: bool, ?if: ^(Module, Symbol, untyped) -> boolish | nil, ?on_error: ^(Orthoses::ConstLoadError) -> void | nil) -> void
5
- def call: () -> Orthoses::store
6
4
  @loader: Orthoses::_Call
7
5
  @strict: bool
8
6
  @if: ^(Module mod, Symbol const, untyped val, String rbs) -> boolish?
9
7
  @on_error: ^(Orthoses::ConstLoadError) -> void | nil
8
+ def initialize: (Orthoses::_Call loader, ?strict: bool, ?if: ^(Module, Symbol, untyped) -> boolish | nil, ?on_error: ^(Orthoses::ConstLoadError) -> void | nil) -> void
9
+ def call: () -> Orthoses::store
10
10
  end
@@ -1,6 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Content::ArrayIO
4
+ @outs: untyped
4
5
  def initialize: () -> void
5
6
  def puts: (untyped line) -> untyped
6
7
  def to_a: () -> untyped
@@ -2,9 +2,14 @@
2
2
 
3
3
  # Check and drop duplication method, const etc...
4
4
  class Orthoses::Content::DuplicationChecker
5
+ @decl: untyped
6
+ @known_env: untyped
7
+ @builder: untyped
8
+ @uniq_map: untyped
5
9
  def initialize: (untyped decl, ?env: untyped?) -> void
6
10
  def update_decl: () -> (nil | untyped)
7
11
  private def uniq_members: () -> untyped
12
+ private def drop_by_singleton_instance: () -> untyped
8
13
  private def drop_set_method_definition: () -> untyped
9
14
  private def drop_known_method_definition: () -> untyped
10
15
  private def drop_known_method_definition_recur: (untyped d) -> untyped
@@ -1,6 +1,13 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Content::Environment
4
+ @load_env: RBS::Environment
5
+ @known_env: RBS::Environment
6
+ @method_definition_filter: method_definition_filter?
7
+ @alias_filter: alias_filter?
8
+ @constant_filter: constant_filter?
9
+ @mixin_filter: mixin_filter?
10
+ @attribute_filter: attribute_filter?
4
11
  def self.load_from_paths: (untyped paths) -> untyped
5
12
  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
13
  def <<: (RBS::AST::Declarations::t decl) -> RBS::Environment
@@ -16,11 +23,4 @@ class Orthoses::Content::Environment
16
23
  type constant_filter = ^(RBS::AST::Declarations::Constant) -> boolish
17
24
  type mixin_filter = ^(RBS::AST::Members::Mixin) -> boolish
18
25
  type attribute_filter = ^(RBS::AST::Members::Attribute) -> boolish
19
- @load_env: RBS::Environment
20
- @known_env: RBS::Environment
21
- @method_definition_filter: method_definition_filter?
22
- @alias_filter: alias_filter?
23
- @constant_filter: constant_filter?
24
- @mixin_filter: mixin_filter?
25
- @attribute_filter: attribute_filter?
26
26
  end
@@ -1,6 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Content::HeaderBuilder
4
+ @env: untyped
5
+ @resolver: untyped
4
6
  def initialize: (env: untyped) -> void
5
7
  def build: (entry: untyped, ?name_hint: untyped?) -> untyped
6
8
  private def build_module: (entry: untyped, ?name_hint: untyped?) -> ::String
@@ -1,6 +1,10 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Content
4
+ @name: untyped
5
+ @body: untyped
6
+ @header: untyped
7
+ @comment: untyped
4
8
  def initialize: (name: String) -> void
5
9
  def <<: (String) -> void
6
10
  def concat: (Array[String]) -> void
@@ -13,6 +17,7 @@ class Orthoses::Content
13
17
  def sort!: () -> untyped
14
18
  def original_rbs: () -> untyped
15
19
  def auto_header: () -> (nil | untyped)
20
+ private def build_super_class: (untyped val) -> (nil | ::String)
16
21
  private def decl_to_lines: (untyped decl) -> untyped
17
22
  private def uniqed_body_string: () -> String
18
23
  private def uniqed_body_decl: () -> RBS::AST::Declarations::t
@@ -1,7 +1,12 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::CreateFileByName
4
+ @loader: Orthoses::_Call
5
+ @to: untyped
6
+ @header: untyped
7
+ @depth: untyped
8
+ @rmtree: untyped
9
+ @if: untyped
4
10
  def initialize: (Orthoses::_Call loader, to: String, ?header: String?, ?depth: Integer?, ?rmtree: boolish) -> void
5
11
  def call: () -> Orthoses::store
6
- @loader: Orthoses::_Call
7
12
  end
@@ -1,8 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::DelegateClass
4
+ @loader: Orthoses::_Call
4
5
  def initialize: (Orthoses::_Call loader) -> void
5
6
  def call: () -> Orthoses::store
6
7
  def temporary_type_params: (untyped name) -> untyped
7
- @loader: Orthoses::_Call
8
8
  end
@@ -6,8 +6,9 @@
6
6
  # Orthoses.rbs_defined_class?(name)
7
7
  # end
8
8
  class Orthoses::Filter
9
- def initialize: (Orthoses::_Call loader) { (String, Orthoses::Content) -> boolish } -> void
10
- def call: () -> Orthoses::store
11
9
  @loader: Orthoses::_Call
10
+ @if: untyped
12
11
  @block: ^(String, Orthoses::Content) -> boolish
12
+ def initialize: (Orthoses::_Call loader) { (String, Orthoses::Content) -> boolish } -> void
13
+ def call: () -> Orthoses::store
13
14
  end
@@ -0,0 +1,6 @@
1
+ # THIS IS GENERATED CODE from `$ rake sig`
2
+
3
+ # for TracePoint target
4
+ module Orthoses::LazyTracePoint::MethodAddedHook
5
+ def method_added: (untyped id) -> untyped
6
+ end
@@ -0,0 +1,5 @@
1
+ # THIS IS GENERATED CODE from `$ rake sig`
2
+
3
+ module Orthoses::LazyTracePoint::SignletonMethodAddedHook
4
+ def singleton_method_added: (untyped id) -> untyped
5
+ end
@@ -9,15 +9,15 @@
9
9
  # ...
10
10
  # end
11
11
  class Orthoses::LazyTracePoint < ::TracePoint
12
- def method_added: (untyped id) -> untyped
13
- def singleton_method_added: (untyped id) -> untyped
14
- def initialize: (*untyped events) { () -> untyped } -> void
15
- def enable: (?target: untyped?, ?target_line: untyped?, ?target_thread: untyped?) ?{ () -> untyped } -> untyped
12
+ @mod_name: untyped
13
+ @instance_method_id: untyped
14
+ @singleton_method_id: untyped
15
+ def enable: (?target: untyped?) ?{ () -> untyped } -> untyped
16
16
  private def trace_instance_method: () ?{ () -> untyped } -> untyped
17
17
  private def trace_singleton_method: () ?{ () -> untyped } -> untyped
18
18
  INSTANCE_METHOD_METHOD: UnboundMethod
19
- METHOD_ADDED_METHOD: UnboundMethod
19
+ METHOD_ADDED_HOOKS: Hash[untyped, untyped]
20
20
  METHOD_METHOD: UnboundMethod
21
- SINGLETON_METHOD_ADDED_METHOD: UnboundMethod
21
+ SINGLETON_METHOD_ADDED_HOOKS: Hash[untyped, untyped]
22
22
  UNBOUND_NAME_METHOD: UnboundMethod
23
23
  end
@@ -1,9 +1,9 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::LoadRBS
4
+ @loader: Orthoses::_Call
5
+ @paths: paths
4
6
  def initialize: (Orthoses::_Call loader, paths: paths) -> void
5
7
  def call: () -> Orthoses::store
6
8
  type paths = Array[String] | ^() -> Array[String]
7
- @loader: Orthoses::_Call
8
- @paths: paths
9
9
  end
@@ -1,6 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::MissingName::MissingClass
4
+ @store: untyped
4
5
  def initialize: (untyped store) -> void
5
6
  def call: () -> untyped
6
7
  private def recur: (untyped content) -> untyped
@@ -1,6 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::MissingName::MissingModule
4
+ @store: untyped
4
5
  def initialize: (untyped store) -> void
5
6
  def call: () -> untyped
6
7
  private def split_name: (untyped key_name) -> untyped
@@ -1,6 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::MissingName
4
+ @loader: untyped
4
5
  def initialize: (untyped loader) -> void
5
6
  def call: () -> untyped
6
7
  end
@@ -1,8 +1,10 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Mixin
4
+ @loader: Orthoses::_Call
5
+ @if: untyped
4
6
  def initialize: (Orthoses::_Call loader, ?if: nil | ^(Module base_mod, :include | :extend | :prepend how, Module mod) -> boolish) -> void
5
7
  def call: () -> Orthoses::store
6
- private def collect_definitions: (Orthoses::store store, Orthoses::CallTracer call_tracer, :include | :extend | :prepend how) -> void
7
- @loader: Orthoses::_Call
8
+ private def type_params_sig: (untyped mod) -> String
9
+ CALL_GRAPH: Hash[untyped, [ :include | :extend | :prepend, untyped ]]
8
10
  end
@@ -1,7 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::ObjectSpaceAll
4
+ @loader: Orthoses::_Call
4
5
  def initialize: (Orthoses::_Call loader, ?if: ^(Module) -> boolish) -> void
5
6
  def call: () -> Orthoses::store
6
- @loader: Orthoses::_Call
7
7
  end
@@ -3,8 +3,8 @@
3
3
  # AvoidRecursiveAncestorError is an internal middleware
4
4
  # It's using on orthoses/outputable.rb
5
5
  class Orthoses::Outputable::AvoidRecursiveAncestorError
6
+ @loader: Orthoses::_Call
6
7
  def initialize: (Orthoses::_Call loader) -> void
7
8
  def call: () -> Orthoses::store
8
9
  private def collect_mixin_recursive: (untyped store, untyped name, untyped mixins) -> untyped
9
- @loader: Orthoses::_Call
10
10
  end
@@ -3,6 +3,7 @@
3
3
  # Constantizable is an internal middleware
4
4
  # It's using on orthoses/outputable.rb
5
5
  class Orthoses::Outputable::ConstantizableFilter
6
+ @loader: untyped
6
7
  def initialize: (untyped loader) -> void
7
8
  def call: () -> untyped
8
9
  end
@@ -3,6 +3,7 @@
3
3
  # UniqContentBody is an internal middleware
4
4
  # It's using on orthoses/outputable.rb
5
5
  class Orthoses::Outputable::UniqContentBody
6
+ @loader: untyped
6
7
  def initialize: (untyped loader) -> void
7
8
  def call: () -> untyped
8
9
  end
@@ -1,5 +1,7 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  module Orthoses::Outputable
4
+ @loader: untyped
5
+
4
6
  def call: () -> untyped
5
7
  end
@@ -1,6 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::PathHelper
4
+ @current: untyped
5
+ @base_dir: untyped
4
6
  def self.best_version_paths: (untyped current, untyped base_dir) -> untyped
5
7
  def initialize: (untyped current, untyped base_dir) -> void
6
8
  def best_version_paths: () -> untyped
data/sig/orthoses/pp.rbs CHANGED
@@ -3,6 +3,7 @@
3
3
  # Debug current stored values
4
4
  # use Orthoses::PP
5
5
  class Orthoses::PP
6
+ @loader: untyped
6
7
  def initialize: (untyped loader) -> void
7
8
  def call: () -> untyped
8
9
  end
@@ -6,8 +6,6 @@
6
6
  # method_definition_filter: ->(member) { false },
7
7
  # alias_filter: ->(member) { false }
8
8
  class Orthoses::RBSPrototypeRB
9
- def initialize: (Orthoses::_Call loader, paths: Array[_ToS], ?method_definition_filter: Orthoses::Content::Environment::method_definition_filter?, ?alias_filter: Orthoses::Content::Environment::alias_filter?, ?constant_filter: Orthoses::Content::Environment::constant_filter?, ?mixin_filter: Orthoses::Content::Environment::mixin_filter?, ?attribute_filter: Orthoses::Content::Environment::attribute_filter?) -> void
10
- def call: () -> Orthoses::store
11
9
  @loader: Orthoses::_Call
12
10
  @paths: Array[_ToS]
13
11
  @method_definition_filter: Orthoses::Content::Environment::method_definition_filter?
@@ -15,4 +13,6 @@ class Orthoses::RBSPrototypeRB
15
13
  @constant_filter: Orthoses::Content::Environment::constant_filter?
16
14
  @mixin_filter: Orthoses::Content::Environment::mixin_filter?
17
15
  @attribute_filter: Orthoses::Content::Environment::attribute_filter?
16
+ def initialize: (Orthoses::_Call loader, paths: Array[_ToS], ?method_definition_filter: Orthoses::Content::Environment::method_definition_filter?, ?alias_filter: Orthoses::Content::Environment::alias_filter?, ?constant_filter: Orthoses::Content::Environment::constant_filter?, ?mixin_filter: Orthoses::Content::Environment::mixin_filter?, ?attribute_filter: Orthoses::Content::Environment::attribute_filter?) -> void
17
+ def call: () -> Orthoses::store
18
18
  end
@@ -4,13 +4,13 @@
4
4
  # use Orthoses::RBSPrototypeRuntime,
5
5
  # patterns: ['Foo::*']
6
6
  class Orthoses::RBSPrototypeRuntime
7
- def initialize: (Orthoses::_Call loader, patterns: Array[_ToS], ?method_definition_filter: Orthoses::Content::Environment::method_definition_filter?, ?alias_filter: Orthoses::Content::Environment::alias_filter?, ?constant_filter: Orthoses::Content::Environment::constant_filter?, ?mixin_filter: Orthoses::Content::Environment::mixin_filter?, ?attribute_filter: Orthoses::Content::Environment::attribute_filter?) -> void
8
- def call: () -> Orthoses::store
9
7
  @loader: Orthoses::_Call
10
- @patterns: Array[_ToS]
8
+ @patterns: Array[_ToS]?
11
9
  @method_definition_filter: Orthoses::Content::Environment::method_definition_filter?
12
10
  @alias_filter: Orthoses::Content::Environment::alias_filter?
13
11
  @constant_filter: Orthoses::Content::Environment::constant_filter?
14
12
  @mixin_filter: Orthoses::Content::Environment::mixin_filter?
15
13
  @attribute_filter: Orthoses::Content::Environment::attribute_filter?
14
+ def initialize: (Orthoses::_Call loader, ?patterns: Array[_ToS], ?method_definition_filter: Orthoses::Content::Environment::method_definition_filter?, ?alias_filter: Orthoses::Content::Environment::alias_filter?, ?constant_filter: Orthoses::Content::Environment::constant_filter?, ?mixin_filter: Orthoses::Content::Environment::mixin_filter?, ?attribute_filter: Orthoses::Content::Environment::attribute_filter?) -> void
15
+ def call: () -> Orthoses::store
16
16
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  # use Orthoses::Sort
4
4
  class Orthoses::Sort
5
+ @loader: untyped
5
6
  def initialize: (untyped loader) -> void
6
7
  def call: () -> untyped
7
8
  end
@@ -3,6 +3,7 @@
3
3
  # Internal middleware for return store object
4
4
  # Builder set this middleware on last stack by default
5
5
  class Orthoses::Store
6
+ @loader: untyped
6
7
  def initialize: (untyped loader) -> void
7
8
  def call: () -> untyped
8
9
  end
data/sig/orthoses/tap.rbs CHANGED
@@ -4,7 +4,8 @@
4
4
  # store["Foo::Bar"] << "def baz: () -> void"
5
5
  # end
6
6
  class Orthoses::Tap
7
+ @loader: Orthoses::_Call
8
+ @block: untyped
7
9
  def initialize: (Orthoses::_Call loader) -> void
8
10
  def call: () -> Orthoses::store
9
- @loader: Orthoses::_Call
10
11
  end
@@ -0,0 +1,11 @@
1
+ # THIS IS GENERATED CODE from `$ rake sig`
2
+
3
+ module Orthoses::Trace::Attribute::Hook
4
+ def attr: (*untyped names) -> untyped
5
+
6
+ def attr_accessor: (*untyped names) -> untyped
7
+
8
+ def attr_reader: (*untyped names) -> untyped
9
+
10
+ def attr_writer: (*untyped names) -> untyped
11
+ end
@@ -1,6 +1,9 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Trace::Attribute
4
+ @loader: untyped
5
+ @patterns: untyped
6
+ @captured_dict: untyped
4
7
  def initialize: (untyped loader, patterns: untyped) -> void
5
8
  def call: () -> untyped
6
9
  private def build_trace_hook: () -> untyped
@@ -1,6 +1,11 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Trace::Method
4
+ @loader: untyped
5
+ @patterns: untyped
6
+ @stack: untyped
7
+ @args_return_map: untyped
8
+ @alias_map: untyped
4
9
  def initialize: (untyped loader, patterns: untyped) -> void
5
10
  def call: () -> untyped
6
11
  private def build_trace_point: () -> untyped
@@ -1,6 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Trace
4
+ @loader: untyped
5
+ @patterns: untyped
4
6
  def initialize: (untyped loader, patterns: untyped) -> void
5
7
  def call: () -> untyped
6
8
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  # internal
4
4
  class Orthoses::Utils::TypeList
5
+ @types: untyped
5
6
  def initialize: (untyped types) -> void
6
7
  def inject: () -> untyped
7
8
  FALSE_TYPE: RBS::Types::Literal
@@ -1,6 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  module Orthoses::Utils
4
+ self.@env_cache: untyped
5
+
4
6
  def self.unautoload!: () -> untyped
5
7
 
6
8
  def self.each_const_recursive: (Module root, ?cache: Hash[untyped, true], ?on_error: nil | ^(Orthoses::ConstLoadError) -> void) ?{ (Module, Symbol, untyped) -> void } -> void
@@ -1,8 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Walk
4
- def initialize: (Orthoses::_Call loader, root: Module | String) -> void
5
- def call: () -> Orthoses::store
6
4
  @loader: Orthoses::_Call
7
5
  @root: Module | String
6
+ def initialize: (Orthoses::_Call loader, root: Module | String) -> void
7
+ def call: () -> Orthoses::store
8
8
  end
@@ -1,7 +1,8 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  class Orthoses::Writer
4
+ @loader: Orthoses::_Call
5
+ @io: untyped
4
6
  def initialize: (Orthoses::_Call loader, io: _Writer) -> void
5
7
  def call: () -> Orthoses::store
6
- @loader: Orthoses::_Call
7
8
  end
data/sig/orthoses.rbs CHANGED
@@ -1,13 +1,13 @@
1
1
  # THIS IS GENERATED CODE from `$ rake sig`
2
2
 
3
3
  module Orthoses
4
- VERSION: "1.8.0"
4
+ INSTANCE_METHOD_METHOD: UnboundMethod
5
5
 
6
- attr_accessor self.logger: ::Logger
6
+ METHOD_METHOD: UnboundMethod
7
7
 
8
- type store = Hash[String, Orthoses::Content]
8
+ VERSION: String
9
9
 
10
- INSTANCE_METHOD_METHOD: UnboundMethod
10
+ attr_accessor self.logger: ::Logger
11
11
 
12
- METHOD_METHOD: UnboundMethod
12
+ type store = Hash[String, Orthoses::Content]
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orthoses
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ksss
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-14 00:00:00.000000000 Z
11
+ date: 2023-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbs
@@ -100,6 +100,8 @@ files:
100
100
  - sig/orthoses/delegate_class/hook.rbs
101
101
  - sig/orthoses/filter.rbs
102
102
  - sig/orthoses/lazy_trace_point.rbs
103
+ - sig/orthoses/lazy_trace_point/method_added_hook.rbs
104
+ - sig/orthoses/lazy_trace_point/signleton_method_added_hook.rbs
103
105
  - sig/orthoses/load_rbs.rbs
104
106
  - sig/orthoses/missing_name.rbs
105
107
  - sig/orthoses/missing_name/missing_class.rbs
@@ -121,6 +123,7 @@ files:
121
123
  - sig/orthoses/tap.rbs
122
124
  - sig/orthoses/trace.rbs
123
125
  - sig/orthoses/trace/attribute.rbs
126
+ - sig/orthoses/trace/attribute/hook.rbs
124
127
  - sig/orthoses/trace/method.rbs
125
128
  - sig/orthoses/trace/method/info.rbs
126
129
  - sig/orthoses/trace/targetable.rbs