typeprof 0.8.0 → 0.9.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/Gemfile.lock +3 -3
- data/lib/typeprof/analyzer.rb +96 -44
- data/lib/typeprof/arguments.rb +2 -0
- data/lib/typeprof/block.rb +6 -2
- data/lib/typeprof/builtin.rb +125 -62
- data/lib/typeprof/container-type.rb +5 -4
- data/lib/typeprof/export.rb +7 -7
- data/lib/typeprof/import.rb +14 -2
- data/lib/typeprof/iseq.rb +23 -7
- data/lib/typeprof/method.rb +13 -14
- data/lib/typeprof/type.rb +52 -2
- data/lib/typeprof/version.rb +1 -1
- data/smoke/alias.rb +4 -4
- data/smoke/alias2.rb +4 -4
- data/smoke/any1.rb +1 -1
- data/smoke/any2.rb +2 -2
- data/smoke/arguments.rb +2 -2
- data/smoke/arguments2.rb +10 -10
- data/smoke/array-each.rb +1 -1
- data/smoke/array-each2.rb +1 -1
- data/smoke/array-each3.rb +1 -1
- data/smoke/array-ltlt.rb +1 -1
- data/smoke/array-ltlt2.rb +1 -1
- data/smoke/array-map.rb +1 -1
- data/smoke/array-map2.rb +1 -1
- data/smoke/array-map3.rb +3 -3
- data/smoke/array-mul.rb +2 -2
- data/smoke/array-plus1.rb +1 -1
- data/smoke/array-plus2.rb +2 -2
- data/smoke/array-pop.rb +1 -1
- data/smoke/array-range-aref.rb +11 -11
- data/smoke/array-replace.rb +1 -1
- data/smoke/array-s-aref.rb +1 -1
- data/smoke/array1.rb +5 -5
- data/smoke/array10.rb +1 -1
- data/smoke/array11.rb +1 -1
- data/smoke/array12.rb +3 -3
- data/smoke/array13.rb +4 -4
- data/smoke/array14.rb +1 -1
- data/smoke/array15.rb +16 -0
- data/smoke/array2.rb +3 -3
- data/smoke/array3.rb +4 -4
- data/smoke/array4.rb +1 -1
- data/smoke/array5.rb +1 -1
- data/smoke/array6.rb +2 -2
- data/smoke/array7.rb +1 -1
- data/smoke/array8.rb +1 -1
- data/smoke/array9.rb +1 -1
- data/smoke/attr-module.rb +26 -0
- data/smoke/attr.rb +5 -5
- data/smoke/autoload.rb +1 -1
- data/smoke/backtrace.rb +3 -3
- data/smoke/block-ambiguous.rb +8 -8
- data/smoke/block-args1-rest.rb +11 -11
- data/smoke/block-args1.rb +10 -10
- data/smoke/block-args2-rest.rb +11 -11
- data/smoke/block-args2.rb +10 -10
- data/smoke/block-args3-rest.rb +13 -13
- data/smoke/block-args3.rb +12 -12
- data/smoke/block-blockarg.rb +4 -4
- data/smoke/block-kwarg.rb +10 -10
- data/smoke/block1.rb +1 -1
- data/smoke/block10.rb +1 -1
- data/smoke/block11.rb +5 -5
- data/smoke/block12.rb +2 -2
- data/smoke/block14.rb +2 -2
- data/smoke/block2.rb +1 -1
- data/smoke/block3.rb +3 -3
- data/smoke/block4.rb +2 -2
- data/smoke/block5.rb +2 -2
- data/smoke/block6.rb +2 -2
- data/smoke/block7.rb +1 -1
- data/smoke/block8.rb +3 -3
- data/smoke/block9.rb +1 -1
- data/smoke/blown.rb +1 -1
- data/smoke/break1.rb +2 -2
- data/smoke/break2.rb +1 -1
- data/smoke/break3.rb +13 -0
- data/smoke/case.rb +1 -1
- data/smoke/case2.rb +1 -1
- data/smoke/case3.rb +17 -0
- data/smoke/class-hierarchy.rb +5 -5
- data/smoke/class-hierarchy2.rb +3 -3
- data/smoke/class-new.rb +15 -0
- data/smoke/class_instance_var.rb +1 -1
- data/smoke/class_method.rb +2 -2
- data/smoke/class_method2.rb +2 -2
- data/smoke/class_method3.rb +2 -2
- data/smoke/constant1.rb +6 -6
- data/smoke/constant2.rb +4 -4
- data/smoke/constant3.rb +1 -1
- data/smoke/constant4.rb +1 -1
- data/smoke/context-sensitive1.rb +1 -1
- data/smoke/cvar.rb +5 -5
- data/smoke/cvar2.rb +2 -2
- data/smoke/define_method.rb +2 -2
- data/smoke/define_method2.rb +2 -2
- data/smoke/define_method3.rb +13 -0
- data/smoke/define_method3.rbs +3 -0
- data/smoke/define_method4.rb +15 -0
- data/smoke/define_method4.rbs +3 -0
- data/smoke/define_method5.rb +12 -0
- data/smoke/demo.rb +6 -6
- data/smoke/demo1.rb +1 -1
- data/smoke/demo10.rb +2 -2
- data/smoke/demo11.rb +1 -1
- data/smoke/demo2.rb +1 -1
- data/smoke/demo3.rb +1 -1
- data/smoke/demo4.rb +3 -3
- data/smoke/demo5.rb +1 -1
- data/smoke/demo6.rb +3 -3
- data/smoke/demo7.rb +1 -1
- data/smoke/demo8.rb +2 -2
- data/smoke/demo9.rb +2 -2
- data/smoke/dummy-execution1.rb +2 -2
- data/smoke/dummy-execution2.rb +2 -2
- data/smoke/dummy_element.rb +14 -0
- data/smoke/ensure1.rb +2 -2
- data/smoke/enumerator.rb +2 -2
- data/smoke/expandarray1.rb +1 -1
- data/smoke/expandarray2.rb +1 -1
- data/smoke/fib.rb +2 -2
- data/smoke/flip-flop.rb +28 -0
- data/smoke/flow1.rb +1 -1
- data/smoke/flow2.rb +1 -1
- data/smoke/flow3.rb +1 -1
- data/smoke/flow5.rb +1 -1
- data/smoke/flow6.rb +1 -1
- data/smoke/flow7.rb +1 -1
- data/smoke/flow8.rb +1 -1
- data/smoke/flow9.rb +12 -0
- data/smoke/freeze.rb +1 -1
- data/smoke/function.rb +2 -2
- data/smoke/gvar.rb +2 -2
- data/smoke/gvar2.rb +2 -2
- data/smoke/hash-bot.rb +12 -0
- data/smoke/hash-fetch.rb +3 -3
- data/smoke/hash-merge-bang.rb +1 -1
- data/smoke/hash1.rb +2 -2
- data/smoke/hash2.rb +1 -1
- data/smoke/hash3.rb +1 -1
- data/smoke/hash4.rb +1 -1
- data/smoke/hash5.rb +1 -1
- data/smoke/inheritance.rb +4 -4
- data/smoke/inheritance2.rb +2 -2
- data/smoke/initialize.rb +5 -5
- data/smoke/instance_eval.rb +2 -2
- data/smoke/instance_eval2.rb +10 -0
- data/smoke/instance_eval3.rb +25 -0
- data/smoke/int_times.rb +1 -1
- data/smoke/integer.rb +1 -1
- data/smoke/ivar.rb +4 -4
- data/smoke/ivar2.rb +4 -4
- data/smoke/ivar3.rb +2 -2
- data/smoke/kernel-class.rb +1 -1
- data/smoke/keyword1.rb +1 -1
- data/smoke/keyword2.rb +1 -1
- data/smoke/keyword3.rb +1 -1
- data/smoke/keyword4.rb +1 -1
- data/smoke/keyword5.rb +1 -1
- data/smoke/kwrest.rb +2 -2
- data/smoke/kwsplat1.rb +4 -4
- data/smoke/kwsplat2.rb +1 -1
- data/smoke/lit-complex.rb +10 -0
- data/smoke/lit-encoding.rb +10 -0
- data/smoke/manual-rbs.rb +3 -3
- data/smoke/manual-rbs2.rb +1 -1
- data/smoke/manual-rbs3.rb +2 -2
- data/smoke/masgn1.rb +1 -1
- data/smoke/masgn2.rb +2 -2
- data/smoke/masgn3.rb +1 -1
- data/smoke/method_in_branch.rb +2 -2
- data/smoke/method_missing.rb +4 -4
- data/smoke/module1.rb +2 -2
- data/smoke/module2.rb +1 -1
- data/smoke/module3.rb +2 -2
- data/smoke/module4.rb +2 -2
- data/smoke/module5.rb +17 -0
- data/smoke/module6.rb +40 -0
- data/smoke/module_function1.rb +3 -3
- data/smoke/module_function2.rb +3 -3
- data/smoke/multiple-include.rb +1 -1
- data/smoke/multiple-superclass.rb +1 -1
- data/smoke/next1.rb +2 -2
- data/smoke/next2.rb +1 -1
- data/smoke/object-send1.rb +3 -3
- data/smoke/object-send2.rb +10 -0
- data/smoke/object-send3.rb +18 -0
- data/smoke/once.rb +1 -1
- data/smoke/optional1.rb +1 -1
- data/smoke/optional2.rb +1 -1
- data/smoke/optional3.rb +1 -1
- data/smoke/parameterizedd-self.rb +2 -2
- data/smoke/parameterizedd-self2.rb +1 -1
- data/smoke/pathname1.rb +1 -1
- data/smoke/pathname2.rb +1 -1
- data/smoke/pattern-match1.rb +1 -1
- data/smoke/pattern-match2.rb +1 -1
- data/smoke/printf.rb +2 -2
- data/smoke/proc.rb +2 -2
- data/smoke/proc2.rb +1 -1
- data/smoke/proc3.rb +1 -1
- data/smoke/proc4.rb +1 -1
- data/smoke/proc5.rb +19 -0
- data/smoke/public.rb +34 -0
- data/smoke/range.rb +1 -1
- data/smoke/rbs-alias.rb +1 -1
- data/smoke/rbs-attr.rb +3 -3
- data/smoke/rbs-attr2.rb +1 -1
- data/smoke/rbs-extend.rb +1 -1
- data/smoke/rbs-interface.rb +4 -4
- data/smoke/rbs-module.rb +26 -0
- data/smoke/rbs-module.rbs +4 -0
- data/smoke/rbs-opt-and-rest.rb +10 -0
- data/smoke/rbs-opt-and-rest.rbs +3 -0
- data/smoke/rbs-proc1.rb +1 -1
- data/smoke/rbs-proc2.rb +2 -2
- data/smoke/rbs-proc3.rb +1 -1
- data/smoke/rbs-record.rb +2 -2
- data/smoke/rbs-tyvar.rb +2 -2
- data/smoke/rbs-tyvar2.rb +2 -2
- data/smoke/rbs-tyvar3.rb +2 -2
- data/smoke/rbs-tyvar4.rb +3 -3
- data/smoke/rbs-tyvar5.rb +1 -1
- data/smoke/rbs-tyvar6.rb +3 -3
- data/smoke/rbs-tyvar7.rb +1 -1
- data/smoke/rbs-vars.rb +6 -6
- data/smoke/redo1.rb +2 -2
- data/smoke/redo2.rb +2 -2
- data/smoke/req-keyword.rb +1 -1
- data/smoke/rescue1.rb +2 -2
- data/smoke/rescue2.rb +2 -2
- data/smoke/rescue3.rb +19 -0
- data/smoke/rescue4.rb +17 -0
- data/smoke/respond_to.rb +1 -1
- data/smoke/rest-farg.rb +1 -1
- data/smoke/rest1.rb +2 -2
- data/smoke/rest2.rb +1 -1
- data/smoke/rest3.rb +6 -6
- data/smoke/rest4.rb +2 -2
- data/smoke/rest5.rb +1 -1
- data/smoke/rest6.rb +1 -1
- data/smoke/retry1.rb +2 -2
- data/smoke/return.rb +1 -1
- data/smoke/singleton_method.rb +1 -1
- data/smoke/step.rb +3 -3
- data/smoke/string-split.rb +1 -1
- data/smoke/struct-keyword_init.rb +20 -0
- data/smoke/struct.rb +1 -1
- data/smoke/struct2.rb +4 -4
- data/smoke/struct3.rb +2 -2
- data/smoke/struct4.rb +7 -0
- data/smoke/struct5.rb +16 -0
- data/smoke/struct6.rb +15 -0
- data/smoke/struct7.rb +17 -0
- data/smoke/stub-keyword.rb +10 -0
- data/smoke/super1.rb +4 -4
- data/smoke/super2.rb +1 -1
- data/smoke/super3.rb +3 -3
- data/smoke/super4.rb +5 -5
- data/smoke/super5.rb +4 -4
- data/smoke/svar1.rb +1 -1
- data/smoke/symbol-proc-attr.rb +22 -0
- data/smoke/symbol-proc-attr2.rb +15 -0
- data/smoke/symbol-proc-bot.rb +13 -0
- data/smoke/symbol-proc.rb +3 -3
- data/smoke/tap1.rb +2 -2
- data/smoke/toplevel.rb +1 -1
- data/smoke/two-map.rb +2 -2
- data/smoke/type_var.rb +1 -1
- data/smoke/typed_method.rb +1 -1
- data/smoke/uninitialize-var.rb +1 -1
- data/smoke/union-recv.rb +2 -2
- data/smoke/user-demo.rb +3 -3
- data/smoke/wrong-extend.rb +2 -2
- data/smoke/wrong-include.rb +2 -2
- data/smoke/wrong-include2.rb +17 -0
- data/typeprof.gemspec +1 -1
- metadata +44 -5
- data/tools/stackprof-wrapper.rb +0 -10
data/smoke/rbs-attr2.rb
CHANGED
data/smoke/rbs-extend.rb
CHANGED
data/smoke/rbs-interface.rb
CHANGED
@@ -18,8 +18,8 @@ __END__
|
|
18
18
|
# Classes
|
19
19
|
class Object
|
20
20
|
private
|
21
|
-
def get_module
|
22
|
-
def get_module_foo
|
23
|
-
def get_interface
|
24
|
-
def get_interface_foo
|
21
|
+
def get_module: -> M
|
22
|
+
def get_module_foo: -> Integer
|
23
|
+
def get_interface: -> _I
|
24
|
+
def get_interface_foo: -> Integer
|
25
25
|
end
|
data/smoke/rbs-module.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
module Foo
|
2
|
+
class << self
|
3
|
+
def foo
|
4
|
+
end
|
5
|
+
|
6
|
+
def foo2
|
7
|
+
foo
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def bar
|
12
|
+
end
|
13
|
+
|
14
|
+
def bar2
|
15
|
+
bar
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
__END__
|
20
|
+
# Classes
|
21
|
+
module Foo
|
22
|
+
# def self.foo: -> Integer
|
23
|
+
# def bar: -> Integer
|
24
|
+
def self.foo2: -> Integer
|
25
|
+
def bar2: -> Integer
|
26
|
+
end
|
data/smoke/rbs-proc1.rb
CHANGED
data/smoke/rbs-proc2.rb
CHANGED
data/smoke/rbs-proc3.rb
CHANGED
data/smoke/rbs-record.rb
CHANGED
data/smoke/rbs-tyvar.rb
CHANGED
data/smoke/rbs-tyvar2.rb
CHANGED
data/smoke/rbs-tyvar3.rb
CHANGED
data/smoke/rbs-tyvar4.rb
CHANGED
@@ -30,7 +30,7 @@ obj.foo(:b)
|
|
30
30
|
__END__
|
31
31
|
# Classes
|
32
32
|
class Foo
|
33
|
-
@ivar
|
34
|
-
def initialize
|
35
|
-
def foo
|
33
|
+
@ivar: Array[Array[String]]
|
34
|
+
def initialize: (Array[Array[String]]) -> Array[Array[String]]
|
35
|
+
def foo: (:a | :b) -> nil
|
36
36
|
end
|
data/smoke/rbs-tyvar5.rb
CHANGED
data/smoke/rbs-tyvar6.rb
CHANGED
data/smoke/rbs-tyvar7.rb
CHANGED
data/smoke/rbs-vars.rb
CHANGED
@@ -22,17 +22,17 @@ end
|
|
22
22
|
|
23
23
|
__END__
|
24
24
|
# Global variables
|
25
|
-
#$gvar
|
25
|
+
#$gvar: :gvar_example
|
26
26
|
|
27
27
|
# Classes
|
28
28
|
class Object
|
29
29
|
private
|
30
|
-
def gvar_test
|
30
|
+
def gvar_test: -> :gvar_example
|
31
31
|
end
|
32
32
|
|
33
33
|
class Foo
|
34
|
-
def const_test
|
35
|
-
def ivar_test
|
36
|
-
def cvar_test
|
37
|
-
def self.cvar_test2
|
34
|
+
def const_test: -> :const_example
|
35
|
+
def ivar_test: -> :ivar_example
|
36
|
+
def cvar_test: -> :cvar_example
|
37
|
+
def self.cvar_test2: -> :cvar_example
|
38
38
|
end
|
data/smoke/redo1.rb
CHANGED
data/smoke/redo2.rb
CHANGED
@@ -18,6 +18,6 @@ __END__
|
|
18
18
|
# Classes
|
19
19
|
class Object
|
20
20
|
private
|
21
|
-
def bar
|
22
|
-
def foo
|
21
|
+
def bar: (Integer | String) -> (Integer | String)
|
22
|
+
def foo: { (Integer) -> (Integer | String) } -> (Integer | String)
|
23
23
|
end
|
data/smoke/req-keyword.rb
CHANGED
data/smoke/rescue1.rb
CHANGED
data/smoke/rescue2.rb
CHANGED
data/smoke/rescue3.rb
ADDED
data/smoke/rescue4.rb
ADDED
data/smoke/respond_to.rb
CHANGED
data/smoke/rest-farg.rb
CHANGED
data/smoke/rest1.rb
CHANGED
@@ -21,6 +21,6 @@ __END__
|
|
21
21
|
# Classes
|
22
22
|
class Object
|
23
23
|
private
|
24
|
-
def foo
|
25
|
-
def bar
|
24
|
+
def foo: (:a | Integer | String, *Integer | String, :z | Integer | String) -> (Array[Integer | String])
|
25
|
+
def bar: (String, ?Integer | String, *String, String) -> Array[String]
|
26
26
|
end
|
data/smoke/rest2.rb
CHANGED
data/smoke/rest3.rb
CHANGED
@@ -28,10 +28,10 @@ __END__
|
|
28
28
|
# Classes
|
29
29
|
class Object
|
30
30
|
private
|
31
|
-
def foo
|
32
|
-
def bar
|
33
|
-
def baz
|
34
|
-
def qux
|
35
|
-
def corge
|
36
|
-
def grault
|
31
|
+
def foo: (*String) -> nil
|
32
|
+
def bar: (*Integer | String) -> nil
|
33
|
+
def baz: (String, *String) -> nil
|
34
|
+
def qux: (Integer, *String) -> nil
|
35
|
+
def corge: (*Integer | String, Integer | String) -> nil
|
36
|
+
def grault: (String, ?Integer | String, *String, String) -> nil
|
37
37
|
end
|
data/smoke/rest4.rb
CHANGED
data/smoke/rest5.rb
CHANGED
data/smoke/rest6.rb
CHANGED
data/smoke/retry1.rb
CHANGED
@@ -16,6 +16,6 @@ __END__
|
|
16
16
|
# Classes
|
17
17
|
class Object
|
18
18
|
private
|
19
|
-
def bar
|
20
|
-
def foo
|
19
|
+
def bar: (Integer | String) -> (Integer | String)
|
20
|
+
def foo: (Integer | String) -> (Integer | String)
|
21
21
|
end
|
data/smoke/return.rb
CHANGED
data/smoke/singleton_method.rb
CHANGED
data/smoke/step.rb
CHANGED
@@ -12,7 +12,7 @@ __END__
|
|
12
12
|
# Classes
|
13
13
|
class Object
|
14
14
|
private
|
15
|
-
def log1
|
16
|
-
def log2
|
17
|
-
def log3
|
15
|
+
def log1: (Integer | Numeric) -> nil
|
16
|
+
def log2: (void) -> nil
|
17
|
+
def log3: (Enumerator[Integer | Numeric]) -> nil
|
18
18
|
end
|
data/smoke/string-split.rb
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
# XXX: Need to support keyword_init
|
2
|
+
Foo = Struct.new(:foo, keyword_init: true)
|
3
|
+
|
4
|
+
class Foo
|
5
|
+
def initialize(foo:)
|
6
|
+
super(foo: foo.to_s)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
Foo.new(42)
|
11
|
+
|
12
|
+
__END__
|
13
|
+
# Errors
|
14
|
+
smoke/struct-keyword_init.rb:10: [error] wrong number of arguments (given 1, expected 0)
|
15
|
+
|
16
|
+
# Classes
|
17
|
+
class Foo < Struct
|
18
|
+
attr_accessor foo(): nil
|
19
|
+
def initialize: (foo: untyped) -> Foo
|
20
|
+
end
|