typeprof 0.10.0 → 0.14.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ def foo
2
+ 5.instance_eval { i }
3
+ end
4
+
5
+ foo
6
+
7
+ __END__
8
+ # Classes
9
+ class Object
10
+ private
11
+ def foo: -> Complex
12
+ end
@@ -3,7 +3,7 @@ Foo[a: 1, b: "str", c: 1.0]
3
3
 
4
4
  __END__
5
5
  # Classes
6
- class Foo < Struct
6
+ class Foo < Struct[untyped]
7
7
  attr_accessor a(): Integer
8
8
  attr_accessor b(): String
9
9
  attr_accessor c(): Float
data/smoke/struct.rb CHANGED
@@ -5,7 +5,7 @@ end
5
5
  Foo.new.a = 1
6
6
  __END__
7
7
  # Classes
8
- class AnonymousStruct_generated_1 < Struct
8
+ class AnonymousStruct_generated_1 < Struct[untyped]
9
9
  attr_accessor a(): untyped
10
10
  end
11
11
 
data/smoke/struct2.rb CHANGED
@@ -18,7 +18,7 @@ class Object
18
18
  def gen_foobar: -> FooBar
19
19
  end
20
20
 
21
- class FooBar < Struct
21
+ class FooBar < Struct[untyped]
22
22
  attr_accessor foo(): Integer | String
23
23
  attr_accessor bar(): :sym?
24
24
  def my_foo: -> (Integer | String)
data/smoke/struct3.rb CHANGED
@@ -7,7 +7,7 @@ App::FooBar.new(1, "str")
7
7
  __END__
8
8
  # Classes
9
9
  class App
10
- class FooBar < Struct
10
+ class FooBar < Struct[untyped]
11
11
  attr_accessor foo(): Integer
12
12
  attr_accessor bar(): String
13
13
  end
data/smoke/struct4.rb CHANGED
@@ -2,6 +2,6 @@ UndefinedConstant::Foo = Struct.new(:foo)
2
2
 
3
3
  __END__
4
4
  # Classes
5
- class AnonymousStruct_generated_1 < Struct
5
+ class AnonymousStruct_generated_1 < Struct[untyped]
6
6
  attr_accessor foo(): untyped
7
7
  end
data/smoke/struct5.rb CHANGED
@@ -10,7 +10,7 @@ Foo.new(42)
10
10
 
11
11
  __END__
12
12
  # Classes
13
- class Foo < Struct
13
+ class Foo < Struct[untyped]
14
14
  attr_accessor foo(): String
15
15
  def initialize: (Integer foo) -> Foo
16
16
  end
data/smoke/struct6.rb CHANGED
@@ -6,7 +6,7 @@ end
6
6
 
7
7
  __END__
8
8
  # Classes
9
- class AnonymousStruct_generated_1 < Struct
9
+ class AnonymousStruct_generated_1 < Struct[untyped]
10
10
  attr_accessor foo(): untyped
11
11
  end
12
12
 
data/smoke/struct7.rb CHANGED
@@ -12,6 +12,6 @@ end
12
12
 
13
13
  __END__
14
14
  # Classes
15
- class Foo < Struct
15
+ class Foo < Struct[untyped]
16
16
  def initialize: -> Foo
17
17
  end
@@ -21,7 +21,7 @@ GEM
21
21
  concurrent-ruby (1.1.7)
22
22
  i18n (1.8.5)
23
23
  concurrent-ruby (~> 1.0)
24
- minitest (5.14.2)
24
+ minitest (5.14.3)
25
25
  minitest-reporters (1.4.2)
26
26
  ansi
27
27
  builder
data/typeprof.gemspec CHANGED
@@ -30,5 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_runtime_dependency "rbs", ">= 0.20.1"
33
+ spec.add_runtime_dependency "rbs", ">= 1.2.0"
34
34
  end
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.10.0
4
+ version: 0.14.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-12-18 00:00:00.000000000 Z
11
+ date: 2021-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbs
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.20.1
19
+ version: 1.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.20.1
26
+ version: 1.2.0
27
27
  description: |
28
28
  TypeProf performs a type analysis of non-annotated Ruby code.
29
29
 
@@ -48,6 +48,7 @@ files:
48
48
  - doc/doc.ja.md
49
49
  - doc/doc.md
50
50
  - doc/ppl2019.pdf
51
+ - doc/todo.md
51
52
  - exe/typeprof
52
53
  - lib/typeprof.rb
53
54
  - lib/typeprof/analyzer.rb
@@ -137,6 +138,7 @@ files:
137
138
  - smoke/break1.rb
138
139
  - smoke/break2.rb
139
140
  - smoke/break3.rb
141
+ - smoke/break4.rb
140
142
  - smoke/case.rb
141
143
  - smoke/case2.rb
142
144
  - smoke/case3.rb
@@ -144,6 +146,7 @@ files:
144
146
  - smoke/class-hierarchy2.rb
145
147
  - smoke/class-new.rb
146
148
  - smoke/class.rb
149
+ - smoke/class_eval.rb
147
150
  - smoke/class_instance_var.rb
148
151
  - smoke/class_method.rb
149
152
  - smoke/class_method2.rb
@@ -163,6 +166,7 @@ files:
163
166
  - smoke/define_method4.rbs
164
167
  - smoke/define_method5.rb
165
168
  - smoke/define_method6.rb
169
+ - smoke/define_method7.rb
166
170
  - smoke/demo.rb
167
171
  - smoke/demo1.rb
168
172
  - smoke/demo10.rb
@@ -184,10 +188,12 @@ files:
184
188
  - smoke/enumerator.rb
185
189
  - smoke/expandarray1.rb
186
190
  - smoke/expandarray2.rb
191
+ - smoke/extended.rb
187
192
  - smoke/fib.rb
188
193
  - smoke/flip-flop.rb
189
194
  - smoke/flow1.rb
190
195
  - smoke/flow10.rb
196
+ - smoke/flow11.rb
191
197
  - smoke/flow2.rb
192
198
  - smoke/flow3.rb
193
199
  - smoke/flow4.rb
@@ -210,12 +216,15 @@ files:
210
216
  - smoke/hash3.rb
211
217
  - smoke/hash4.rb
212
218
  - smoke/hash5.rb
219
+ - smoke/included.rb
213
220
  - smoke/inheritance.rb
214
221
  - smoke/inheritance2.rb
222
+ - smoke/inherited.rb
215
223
  - smoke/initialize.rb
216
224
  - smoke/instance_eval.rb
217
225
  - smoke/instance_eval2.rb
218
226
  - smoke/instance_eval3.rb
227
+ - smoke/instance_eval4.rb
219
228
  - smoke/int_times.rb
220
229
  - smoke/integer.rb
221
230
  - smoke/ivar.rb
@@ -402,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
402
411
  - !ruby/object:Gem::Version
403
412
  version: '0'
404
413
  requirements: []
405
- rubygems_version: 3.1.4
414
+ rubygems_version: 3.2.15
406
415
  signing_key:
407
416
  specification_version: 4
408
417
  summary: TypeProf is a type analysis tool for Ruby code based on abstract interpretation