ruby-lint 0.9.1 → 1.0.0.pre.preview1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CONTRIBUTING.md +9 -11
  4. data/Gemfile +6 -3
  5. data/MANIFEST +7 -1
  6. data/README.md +15 -24
  7. data/benchmark/bootup.rb +13 -0
  8. data/checksum/ruby-lint-0.9.1.gem.sha512 +1 -0
  9. data/doc/code_analysis.md +20 -0
  10. data/doc/css/common.css +1 -0
  11. data/doc/images/flow.png +0 -0
  12. data/lib/ruby-lint.rb +1 -3
  13. data/lib/ruby-lint/analysis/base.rb +12 -2
  14. data/lib/ruby-lint/analysis/undefined_variables.rb +3 -2
  15. data/lib/ruby-lint/analysis/unused_variables.rb +3 -2
  16. data/lib/ruby-lint/ast/node.rb +1 -1
  17. data/lib/ruby-lint/benchmark/average.rb +115 -0
  18. data/lib/ruby-lint/cli/analyze.rb +19 -1
  19. data/lib/ruby-lint/constant_loader.rb +1 -3
  20. data/lib/ruby-lint/constant_path.rb +112 -0
  21. data/lib/ruby-lint/definition_builder/base.rb +0 -2
  22. data/lib/ruby-lint/definition_builder/ruby_module.rb +1 -1
  23. data/lib/ruby-lint/definitions/core/array.rb +304 -73
  24. data/lib/ruby-lint/definitions/core/fixnum.rb +575 -19
  25. data/lib/ruby-lint/definitions/core/float.rb +2650 -95
  26. data/lib/ruby-lint/definitions/core/hash.rb +926 -85
  27. data/lib/ruby-lint/definitions/core/ruby_copyright.rb +3 -1
  28. data/lib/ruby-lint/definitions/core/ruby_description.rb +3 -1
  29. data/lib/ruby-lint/definitions/core/ruby_engine.rb +3 -1
  30. data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +3 -1
  31. data/lib/ruby-lint/definitions/core/ruby_platform.rb +3 -1
  32. data/lib/ruby-lint/definitions/core/ruby_release_date.rb +3 -1
  33. data/lib/ruby-lint/definitions/core/ruby_version.rb +3 -1
  34. data/lib/ruby-lint/definitions/core/string.rb +847 -134
  35. data/lib/ruby-lint/definitions/core/string_io.rb +370 -25
  36. data/lib/ruby-lint/definitions/core/struct.rb +611 -146
  37. data/lib/ruby-lint/file_loader.rb +5 -6
  38. data/lib/ruby-lint/file_scanner.rb +44 -11
  39. data/lib/ruby-lint/inspector.rb +12 -2
  40. data/lib/ruby-lint/runner.rb +6 -2
  41. data/lib/ruby-lint/version.rb +1 -1
  42. data/lib/ruby-lint/virtual_machine.rb +19 -5
  43. data/ruby-lint.gemspec +1 -3
  44. data/spec/ruby-lint/analysis/argument_amount_spec.rb +5 -5
  45. data/spec/ruby-lint/analysis/base_spec.rb +4 -0
  46. data/spec/ruby-lint/analysis/shadowing_variables_spec.rb +4 -4
  47. data/spec/ruby-lint/analysis/undefined_methods_spec.rb +6 -6
  48. data/spec/ruby-lint/analysis/undefined_variables_spec.rb +5 -5
  49. data/spec/ruby-lint/analysis/unused_variables_spec.rb +12 -12
  50. data/spec/ruby-lint/cli/analyze_spec.rb +10 -0
  51. data/spec/ruby-lint/constant_path.rb +63 -0
  52. data/spec/ruby-lint/definition/ruby_object_spec.rb +2 -2
  53. data/spec/ruby-lint/report_spec.rb +2 -2
  54. data/spec/ruby-lint/runner_spec.rb +17 -0
  55. data/spec/ruby-lint/virtual_machine/assignments/assignment_arguments_spec.rb +14 -0
  56. data/spec/ruby-lint/virtual_machine/assignments/constants_spec.rb +23 -0
  57. data/spec/ruby-lint/virtual_machine/location_spec.rb +4 -4
  58. data/spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb +4 -4
  59. data/task/build.rake +2 -7
  60. data/task/doc.rake +3 -1
  61. data/task/generate.rake +3 -0
  62. metadata +20 -36
  63. checksums.yaml.gz.asc +0 -17
  64. data.tar.gz.asc +0 -17
  65. data/lib/ruby-lint/helper/constant_paths.rb +0 -50
  66. metadata.gz.asc +0 -17
@@ -1,13 +1,12 @@
1
- ##
2
- # Constant: Struct
3
- # Created: 2013-04-01 18:33:55 +0200
4
- # Platform: rbx 2.0.0.rc1
1
+ # This file was automatically generated, any manual changes will be lost the
2
+ # next time this file is generated.
5
3
  #
4
+ # Created: 2013-11-11 21:42:41 +0100
5
+ # Platform: rbx 2.1.1
6
+
6
7
  RubyLint::GlobalScope.definitions.define_constant('Struct') do |klass|
7
8
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
8
9
 
9
- klass.define_method('__class_init__')
10
-
11
10
  klass.define_method('_specialize') do |method|
12
11
  method.define_argument('attrs')
13
12
  end
@@ -24,7 +23,6 @@ RubyLint::GlobalScope.definitions.define_constant('Struct') do |klass|
24
23
  klass.define_method('new') do |method|
25
24
  method.define_argument('klass_name')
26
25
  method.define_rest_argument('attrs')
27
- method.define_block_argument('block')
28
26
  end
29
27
 
30
28
  klass.define_method('subclass_new') do |method|
@@ -48,248 +46,526 @@ RubyLint::GlobalScope.definitions.define_constant('Struct') do |klass|
48
46
  method.define_argument('ms')
49
47
  end
50
48
 
51
- klass.define_instance_method('each') do |method|
52
- method.define_block_argument('block')
49
+ klass.define_instance_method('all?')
50
+
51
+ klass.define_instance_method('any?')
52
+
53
+ klass.define_instance_method('chunk') do |method|
54
+ method.define_optional_argument('initial_state')
55
+ end
56
+
57
+ klass.define_instance_method('collect')
58
+
59
+ klass.define_instance_method('collect_concat')
60
+
61
+ klass.define_instance_method('count') do |method|
62
+ method.define_optional_argument('item')
63
+ end
64
+
65
+ klass.define_instance_method('cycle') do |method|
66
+ method.define_optional_argument('many')
67
+ end
68
+
69
+ klass.define_instance_method('detect') do |method|
70
+ method.define_optional_argument('ifnone')
71
+ end
72
+
73
+ klass.define_instance_method('drop') do |method|
74
+ method.define_argument('n')
75
+ end
76
+
77
+ klass.define_instance_method('drop_while')
78
+
79
+ klass.define_instance_method('each')
80
+
81
+ klass.define_instance_method('each_cons') do |method|
82
+ method.define_argument('num')
83
+ end
84
+
85
+ klass.define_instance_method('each_entry') do |method|
86
+ method.define_rest_argument('pass')
53
87
  end
54
88
 
55
89
  klass.define_instance_method('each_pair')
56
90
 
91
+ klass.define_instance_method('each_slice') do |method|
92
+ method.define_argument('slice_size')
93
+ end
94
+
95
+ klass.define_instance_method('each_with_index') do |method|
96
+ method.define_rest_argument('args')
97
+ end
98
+
99
+ klass.define_instance_method('each_with_object') do |method|
100
+ method.define_argument('memo')
101
+ end
102
+
103
+ klass.define_instance_method('entries') do |method|
104
+ method.define_rest_argument('arg')
105
+ end
106
+
57
107
  klass.define_instance_method('eql?') do |method|
58
108
  method.define_argument('other')
59
109
  end
60
110
 
111
+ klass.define_instance_method('find') do |method|
112
+ method.define_optional_argument('ifnone')
113
+ end
114
+
115
+ klass.define_instance_method('find_all')
116
+
117
+ klass.define_instance_method('find_index') do |method|
118
+ method.define_optional_argument('value')
119
+ end
120
+
121
+ klass.define_instance_method('first') do |method|
122
+ method.define_optional_argument('n')
123
+ end
124
+
125
+ klass.define_instance_method('flat_map')
126
+
127
+ klass.define_instance_method('grep') do |method|
128
+ method.define_argument('pattern')
129
+ end
130
+
131
+ klass.define_instance_method('group_by')
132
+
61
133
  klass.define_instance_method('hash')
62
134
 
135
+ klass.define_instance_method('include?') do |method|
136
+ method.define_argument('obj')
137
+ end
138
+
139
+ klass.define_instance_method('initialize') do |method|
140
+ method.define_rest_argument('args')
141
+ end
142
+
143
+ klass.define_instance_method('inject') do |method|
144
+ method.define_optional_argument('initial')
145
+ method.define_optional_argument('sym')
146
+ end
147
+
63
148
  klass.define_instance_method('inspect')
64
149
 
65
150
  klass.define_instance_method('instance_variables')
66
151
 
152
+ klass.define_instance_method('lazy')
153
+
67
154
  klass.define_instance_method('length')
68
155
 
156
+ klass.define_instance_method('map')
157
+
158
+ klass.define_instance_method('max')
159
+
160
+ klass.define_instance_method('max_by')
161
+
162
+ klass.define_instance_method('member?') do |method|
163
+ method.define_argument('obj')
164
+ end
165
+
69
166
  klass.define_instance_method('members')
70
167
 
71
- klass.define_instance_method('select') do |method|
72
- method.define_block_argument('block')
168
+ klass.define_instance_method('min')
169
+
170
+ klass.define_instance_method('min_by')
171
+
172
+ klass.define_instance_method('minmax')
173
+
174
+ klass.define_instance_method('minmax_by')
175
+
176
+ klass.define_instance_method('none?')
177
+
178
+ klass.define_instance_method('one?')
179
+
180
+ klass.define_instance_method('partition')
181
+
182
+ klass.define_instance_method('reduce') do |method|
183
+ method.define_optional_argument('initial')
184
+ method.define_optional_argument('sym')
73
185
  end
74
186
 
187
+ klass.define_instance_method('reject')
188
+
189
+ klass.define_instance_method('reverse_each')
190
+
191
+ klass.define_instance_method('select')
192
+
75
193
  klass.define_instance_method('size')
76
194
 
195
+ klass.define_instance_method('slice_before') do |method|
196
+ method.define_optional_argument('arg')
197
+ end
198
+
199
+ klass.define_instance_method('sort')
200
+
201
+ klass.define_instance_method('sort_by')
202
+
203
+ klass.define_instance_method('take') do |method|
204
+ method.define_argument('n')
205
+ end
206
+
207
+ klass.define_instance_method('take_while')
208
+
77
209
  klass.define_instance_method('to_a')
78
210
 
211
+ klass.define_instance_method('to_h')
212
+
79
213
  klass.define_instance_method('to_s')
80
214
 
215
+ klass.define_instance_method('to_set') do |method|
216
+ method.define_optional_argument('klass')
217
+ method.define_rest_argument('args')
218
+ method.define_block_argument('block')
219
+ end
220
+
81
221
  klass.define_instance_method('values')
82
222
 
83
223
  klass.define_instance_method('values_at') do |method|
84
224
  method.define_rest_argument('args')
85
225
  end
226
+
227
+ klass.define_instance_method('with_object') do |method|
228
+ method.define_argument('memo')
229
+ end
230
+
231
+ klass.define_instance_method('zip') do |method|
232
+ method.define_rest_argument('args')
233
+ end
86
234
  end
87
235
 
88
- ##
89
- # Constant: Struct::Group
90
- # Created: 2013-04-01 18:33:55 +0200
91
- # Platform: rbx 2.0.0.rc1
92
- #
93
- RubyLint::GlobalScope.definitions.define_constant('Struct::Group') do |klass|
94
- klass.inherits(RubyLint::GlobalScope.constant_proxy('Rubinius::FFI::Struct'))
236
+ RubyLint::GlobalScope.definitions.define_constant('Struct::Enumerator') do |klass|
237
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
95
238
 
96
- klass.define_method('__class_init__')
239
+ klass.define_instance_method('all?')
97
240
 
98
- klass.define_instance_method('gid')
241
+ klass.define_instance_method('any?')
99
242
 
100
- klass.define_instance_method('mem')
243
+ klass.define_instance_method('chunk') do |method|
244
+ method.define_optional_argument('initial_state')
245
+ end
101
246
 
102
- klass.define_instance_method('name')
247
+ klass.define_instance_method('collect')
103
248
 
104
- klass.define_instance_method('passwd')
105
- end
249
+ klass.define_instance_method('collect_concat')
106
250
 
107
- ##
108
- # Constant: Struct::Group::FFI
109
- # Created: 2013-04-01 18:33:55 +0200
110
- # Platform: rbx 2.0.0.rc1
111
- #
112
- RubyLint::GlobalScope.definitions.define_constant('Struct::Group::FFI') do |klass|
251
+ klass.define_instance_method('count') do |method|
252
+ method.define_optional_argument('item')
253
+ end
113
254
 
114
- klass.define_method('__module_init__')
255
+ klass.define_instance_method('cycle') do |method|
256
+ method.define_optional_argument('many')
257
+ end
115
258
 
116
- klass.define_method('add_typedef') do |method|
117
- method.define_argument('current')
118
- method.define_argument('add')
259
+ klass.define_instance_method('detect') do |method|
260
+ method.define_optional_argument('ifnone')
119
261
  end
120
262
 
121
- klass.define_method('config') do |method|
122
- method.define_argument('name')
263
+ klass.define_instance_method('drop') do |method|
264
+ method.define_argument('n')
123
265
  end
124
266
 
125
- klass.define_method('config_hash') do |method|
126
- method.define_argument('name')
267
+ klass.define_instance_method('drop_while')
268
+
269
+ klass.define_instance_method('each') do |method|
270
+ method.define_rest_argument('args')
127
271
  end
128
272
 
129
- klass.define_method('errno')
273
+ klass.define_instance_method('each_cons') do |method|
274
+ method.define_argument('num')
275
+ end
130
276
 
131
- klass.define_method('find_type') do |method|
132
- method.define_argument('name')
277
+ klass.define_instance_method('each_entry') do |method|
278
+ method.define_rest_argument('pass')
133
279
  end
134
280
 
135
- klass.define_method('generate_function') do |method|
136
- method.define_argument('ptr')
137
- method.define_argument('name')
138
- method.define_argument('args')
139
- method.define_argument('ret')
281
+ klass.define_instance_method('each_slice') do |method|
282
+ method.define_argument('slice_size')
140
283
  end
141
284
 
142
- klass.define_method('generate_trampoline') do |method|
143
- method.define_argument('obj')
144
- method.define_argument('name')
145
- method.define_argument('args')
146
- method.define_argument('ret')
285
+ klass.define_instance_method('each_with_index')
286
+
287
+ klass.define_instance_method('each_with_object') do |method|
288
+ method.define_argument('memo')
147
289
  end
148
290
 
149
- klass.define_method('size_to_type') do |method|
150
- method.define_argument('size')
291
+ klass.define_instance_method('entries') do |method|
292
+ method.define_rest_argument('arg')
151
293
  end
152
294
 
153
- klass.define_method('type_size') do |method|
154
- method.define_argument('type')
295
+ klass.define_instance_method('find') do |method|
296
+ method.define_optional_argument('ifnone')
155
297
  end
156
- end
157
298
 
158
- ##
159
- # Constant: Struct::Group::InlineArray
160
- # Created: 2013-04-01 18:33:55 +0200
161
- # Platform: rbx 2.0.0.rc1
162
- #
163
- RubyLint::GlobalScope.definitions.define_constant('Struct::Group::InlineArray') do |klass|
164
- klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
299
+ klass.define_instance_method('find_all')
165
300
 
166
- klass.define_method('__class_init__')
301
+ klass.define_instance_method('find_index') do |method|
302
+ method.define_optional_argument('value')
303
+ end
167
304
 
168
- klass.define_instance_method('[]') do |method|
169
- method.define_argument('idx')
305
+ klass.define_instance_method('first') do |method|
306
+ method.define_optional_argument('n')
170
307
  end
171
308
 
172
- klass.define_instance_method('[]=') do |method|
173
- method.define_argument('idx')
174
- method.define_argument('val')
309
+ klass.define_instance_method('flat_map')
310
+
311
+ klass.define_instance_method('grep') do |method|
312
+ method.define_argument('pattern')
175
313
  end
176
314
 
177
- klass.define_instance_method('each')
315
+ klass.define_instance_method('group_by')
316
+
317
+ klass.define_instance_method('include?') do |method|
318
+ method.define_argument('obj')
319
+ end
178
320
 
179
321
  klass.define_instance_method('initialize') do |method|
180
- method.define_argument('type')
181
- method.define_argument('ptr')
322
+ method.define_optional_argument('receiver_or_size')
323
+ method.define_optional_argument('method_name')
324
+ method.define_rest_argument('method_args')
325
+ end
326
+
327
+ klass.define_instance_method('inject') do |method|
328
+ method.define_optional_argument('initial')
329
+ method.define_optional_argument('sym')
330
+ end
331
+
332
+ klass.define_instance_method('lazy')
333
+
334
+ klass.define_instance_method('map')
335
+
336
+ klass.define_instance_method('max')
337
+
338
+ klass.define_instance_method('max_by')
339
+
340
+ klass.define_instance_method('member?') do |method|
341
+ method.define_argument('obj')
342
+ end
343
+
344
+ klass.define_instance_method('min')
345
+
346
+ klass.define_instance_method('min_by')
347
+
348
+ klass.define_instance_method('minmax')
349
+
350
+ klass.define_instance_method('minmax_by')
351
+
352
+ klass.define_instance_method('next')
353
+
354
+ klass.define_instance_method('next_values')
355
+
356
+ klass.define_instance_method('none?')
357
+
358
+ klass.define_instance_method('one?')
359
+
360
+ klass.define_instance_method('partition')
361
+
362
+ klass.define_instance_method('peek')
363
+
364
+ klass.define_instance_method('peek_values')
365
+
366
+ klass.define_instance_method('reduce') do |method|
367
+ method.define_optional_argument('initial')
368
+ method.define_optional_argument('sym')
182
369
  end
183
370
 
371
+ klass.define_instance_method('reject')
372
+
373
+ klass.define_instance_method('reverse_each')
374
+
375
+ klass.define_instance_method('rewind')
376
+
377
+ klass.define_instance_method('select')
378
+
184
379
  klass.define_instance_method('size')
185
380
 
186
- klass.define_instance_method('to_a')
381
+ klass.define_instance_method('slice_before') do |method|
382
+ method.define_optional_argument('arg')
383
+ end
187
384
 
188
- klass.define_instance_method('to_ptr')
189
- end
385
+ klass.define_instance_method('sort')
190
386
 
191
- ##
192
- # Constant: Struct::Group::InlineCharArray
193
- # Created: 2013-04-01 18:33:55 +0200
194
- # Platform: rbx 2.0.0.rc1
195
- #
196
- RubyLint::GlobalScope.definitions.define_constant('Struct::Group::InlineCharArray') do |klass|
197
- klass.inherits(RubyLint::GlobalScope.constant_proxy('Rubinius::FFI::Struct::InlineArray'))
387
+ klass.define_instance_method('sort_by')
198
388
 
199
- klass.define_method('__class_init__')
389
+ klass.define_instance_method('take') do |method|
390
+ method.define_argument('n')
391
+ end
200
392
 
201
- klass.define_instance_method('inspect')
393
+ klass.define_instance_method('take_while')
202
394
 
203
- klass.define_instance_method('to_s')
395
+ klass.define_instance_method('to_a') do |method|
396
+ method.define_rest_argument('arg')
397
+ end
398
+
399
+ klass.define_instance_method('to_set') do |method|
400
+ method.define_optional_argument('klass')
401
+ method.define_rest_argument('args')
402
+ method.define_block_argument('block')
403
+ end
404
+
405
+ klass.define_instance_method('with_index') do |method|
406
+ method.define_optional_argument('offset')
407
+ end
408
+
409
+ klass.define_instance_method('with_object') do |method|
410
+ method.define_argument('memo')
411
+ end
204
412
 
205
- klass.define_instance_method('to_str')
413
+ klass.define_instance_method('zip') do |method|
414
+ method.define_rest_argument('args')
415
+ end
206
416
  end
207
417
 
208
- ##
209
- # Constant: Struct::Passwd
210
- # Created: 2013-04-01 18:33:55 +0200
211
- # Platform: rbx 2.0.0.rc1
212
- #
213
- RubyLint::GlobalScope.definitions.define_constant('Struct::Passwd') do |klass|
418
+ RubyLint::GlobalScope.definitions.define_constant('Struct::Group') do |klass|
214
419
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Rubinius::FFI::Struct'))
215
420
 
216
- klass.define_method('__class_init__')
421
+ klass.define_method('config') do |method|
422
+ method.define_argument('base')
423
+ method.define_rest_argument('fields')
424
+ end
217
425
 
218
- klass.define_instance_method('dir')
426
+ klass.define_method('find_nested_parent')
219
427
 
220
- klass.define_instance_method('gecos')
428
+ klass.define_method('layout') do |method|
429
+ method.define_rest_argument('spec')
430
+ end
431
+
432
+ klass.define_method('members')
433
+
434
+ klass.define_method('offset_of') do |method|
435
+ method.define_argument('name')
436
+ end
437
+
438
+ klass.define_method('offsets')
439
+
440
+ klass.define_method('size')
441
+
442
+ klass.define_instance_method('[]') do |method|
443
+ method.define_argument('field')
444
+ end
445
+
446
+ klass.define_instance_method('[]=') do |method|
447
+ method.define_argument('field')
448
+ method.define_argument('val')
449
+ end
450
+
451
+ klass.define_instance_method('free')
221
452
 
222
453
  klass.define_instance_method('gid')
223
454
 
455
+ klass.define_instance_method('initialize') do |method|
456
+ method.define_optional_argument('pointer')
457
+ method.define_rest_argument('spec')
458
+ end
459
+
460
+ klass.define_instance_method('initialize_copy') do |method|
461
+ method.define_argument('ptr')
462
+ end
463
+
464
+ klass.define_instance_method('mem')
465
+
466
+ klass.define_instance_method('members')
467
+
224
468
  klass.define_instance_method('name')
225
469
 
470
+ klass.define_instance_method('null?')
471
+
472
+ klass.define_instance_method('offset_of') do |method|
473
+ method.define_argument('name')
474
+ end
475
+
476
+ klass.define_instance_method('offsets')
477
+
226
478
  klass.define_instance_method('passwd')
227
479
 
228
- klass.define_instance_method('shell')
480
+ klass.define_instance_method('pointer')
229
481
 
230
- klass.define_instance_method('uid')
482
+ klass.define_instance_method('size')
483
+
484
+ klass.define_instance_method('to_ptr')
485
+
486
+ klass.define_instance_method('values')
231
487
  end
232
488
 
233
- ##
234
- # Constant: Struct::Passwd::InlineArray
235
- # Created: 2013-04-01 18:33:55 +0200
236
- # Platform: rbx 2.0.0.rc1
237
- #
238
- RubyLint::GlobalScope.definitions.define_constant('Struct::Passwd::InlineArray') do |klass|
239
- klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
489
+ RubyLint::GlobalScope.definitions.define_constant('Struct::Passwd') do |klass|
490
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Rubinius::FFI::Struct'))
491
+
492
+ klass.define_method('config') do |method|
493
+ method.define_argument('base')
494
+ method.define_rest_argument('fields')
495
+ end
240
496
 
241
- klass.define_method('__class_init__')
497
+ klass.define_method('find_nested_parent')
498
+
499
+ klass.define_method('layout') do |method|
500
+ method.define_rest_argument('spec')
501
+ end
502
+
503
+ klass.define_method('members')
504
+
505
+ klass.define_method('offset_of') do |method|
506
+ method.define_argument('name')
507
+ end
508
+
509
+ klass.define_method('offsets')
510
+
511
+ klass.define_method('size')
242
512
 
243
513
  klass.define_instance_method('[]') do |method|
244
- method.define_argument('idx')
514
+ method.define_argument('field')
245
515
  end
246
516
 
247
517
  klass.define_instance_method('[]=') do |method|
248
- method.define_argument('idx')
518
+ method.define_argument('field')
249
519
  method.define_argument('val')
250
520
  end
251
521
 
252
- klass.define_instance_method('each')
522
+ klass.define_instance_method('dir')
523
+
524
+ klass.define_instance_method('free')
525
+
526
+ klass.define_instance_method('gecos')
527
+
528
+ klass.define_instance_method('gid')
253
529
 
254
530
  klass.define_instance_method('initialize') do |method|
255
- method.define_argument('type')
531
+ method.define_optional_argument('pointer')
532
+ method.define_rest_argument('spec')
533
+ end
534
+
535
+ klass.define_instance_method('initialize_copy') do |method|
256
536
  method.define_argument('ptr')
257
537
  end
258
538
 
259
- klass.define_instance_method('size')
539
+ klass.define_instance_method('members')
260
540
 
261
- klass.define_instance_method('to_a')
541
+ klass.define_instance_method('name')
262
542
 
263
- klass.define_instance_method('to_ptr')
264
- end
543
+ klass.define_instance_method('null?')
265
544
 
266
- ##
267
- # Constant: Struct::Passwd::InlineCharArray
268
- # Created: 2013-04-01 18:33:55 +0200
269
- # Platform: rbx 2.0.0.rc1
270
- #
271
- RubyLint::GlobalScope.definitions.define_constant('Struct::Passwd::InlineCharArray') do |klass|
272
- klass.inherits(RubyLint::GlobalScope.constant_proxy('Rubinius::FFI::Struct::InlineArray'))
545
+ klass.define_instance_method('offset_of') do |method|
546
+ method.define_argument('name')
547
+ end
273
548
 
274
- klass.define_method('__class_init__')
549
+ klass.define_instance_method('offsets')
275
550
 
276
- klass.define_instance_method('inspect')
551
+ klass.define_instance_method('passwd')
277
552
 
278
- klass.define_instance_method('to_s')
553
+ klass.define_instance_method('pointer')
554
+
555
+ klass.define_instance_method('shell')
556
+
557
+ klass.define_instance_method('size')
558
+
559
+ klass.define_instance_method('to_ptr')
279
560
 
280
- klass.define_instance_method('to_str')
561
+ klass.define_instance_method('uid')
562
+
563
+ klass.define_instance_method('values')
281
564
  end
282
565
 
283
- ##
284
- # Constant: Struct::SortedElement
285
- # Created: 2013-04-01 18:33:55 +0200
286
- # Platform: rbx 2.0.0.rc1
287
- #
288
566
  RubyLint::GlobalScope.definitions.define_constant('Struct::SortedElement') do |klass|
289
567
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
290
568
 
291
- klass.define_method('__class_init__')
292
-
293
569
  klass.define_instance_method('<=>') do |method|
294
570
  method.define_argument('other')
295
571
  end
@@ -304,11 +580,6 @@ RubyLint::GlobalScope.definitions.define_constant('Struct::SortedElement') do |k
304
580
  klass.define_instance_method('value')
305
581
  end
306
582
 
307
- ##
308
- # Constant: Struct::Tms
309
- # Created: 2013-04-01 18:33:55 +0200
310
- # Platform: rbx 2.0.0.rc1
311
- #
312
583
  RubyLint::GlobalScope.definitions.define_constant('Struct::Tms') do |klass|
313
584
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Struct'))
314
585
 
@@ -316,11 +587,50 @@ RubyLint::GlobalScope.definitions.define_constant('Struct::Tms') do |klass|
316
587
  method.define_rest_argument('args')
317
588
  end
318
589
 
319
- klass.define_method('__class_init__')
590
+ klass.define_method('_specialize') do |method|
591
+ method.define_argument('attrs')
592
+ end
593
+
594
+ klass.define_method('length')
595
+
596
+ klass.define_method('make_struct') do |method|
597
+ method.define_argument('name')
598
+ method.define_argument('attrs')
599
+ end
600
+
601
+ klass.define_method('members')
320
602
 
321
603
  klass.define_method('new') do |method|
322
604
  method.define_rest_argument('args')
323
- method.define_block_argument('block')
605
+ end
606
+
607
+ klass.define_method('subclass_new') do |method|
608
+ method.define_rest_argument('args')
609
+ end
610
+
611
+ klass.define_instance_method('[]') do |method|
612
+ method.define_argument('var')
613
+ end
614
+
615
+ klass.define_instance_method('[]=') do |method|
616
+ method.define_argument('var')
617
+ method.define_argument('obj')
618
+ end
619
+
620
+ klass.define_instance_method('all?')
621
+
622
+ klass.define_instance_method('any?')
623
+
624
+ klass.define_instance_method('chunk') do |method|
625
+ method.define_optional_argument('initial_state')
626
+ end
627
+
628
+ klass.define_instance_method('collect')
629
+
630
+ klass.define_instance_method('collect_concat')
631
+
632
+ klass.define_instance_method('count') do |method|
633
+ method.define_optional_argument('item')
324
634
  end
325
635
 
326
636
  klass.define_instance_method('cstime')
@@ -331,10 +641,159 @@ RubyLint::GlobalScope.definitions.define_constant('Struct::Tms') do |klass|
331
641
 
332
642
  klass.define_instance_method('cutime=')
333
643
 
644
+ klass.define_instance_method('cycle') do |method|
645
+ method.define_optional_argument('many')
646
+ end
647
+
648
+ klass.define_instance_method('detect') do |method|
649
+ method.define_optional_argument('ifnone')
650
+ end
651
+
652
+ klass.define_instance_method('drop') do |method|
653
+ method.define_argument('n')
654
+ end
655
+
656
+ klass.define_instance_method('drop_while')
657
+
658
+ klass.define_instance_method('each')
659
+
660
+ klass.define_instance_method('each_cons') do |method|
661
+ method.define_argument('num')
662
+ end
663
+
664
+ klass.define_instance_method('each_entry') do |method|
665
+ method.define_rest_argument('pass')
666
+ end
667
+
668
+ klass.define_instance_method('each_pair')
669
+
670
+ klass.define_instance_method('each_slice') do |method|
671
+ method.define_argument('slice_size')
672
+ end
673
+
674
+ klass.define_instance_method('each_with_index') do |method|
675
+ method.define_rest_argument('args')
676
+ end
677
+
678
+ klass.define_instance_method('each_with_object') do |method|
679
+ method.define_argument('memo')
680
+ end
681
+
682
+ klass.define_instance_method('entries') do |method|
683
+ method.define_rest_argument('arg')
684
+ end
685
+
686
+ klass.define_instance_method('find') do |method|
687
+ method.define_optional_argument('ifnone')
688
+ end
689
+
690
+ klass.define_instance_method('find_all')
691
+
692
+ klass.define_instance_method('find_index') do |method|
693
+ method.define_optional_argument('value')
694
+ end
695
+
696
+ klass.define_instance_method('first') do |method|
697
+ method.define_optional_argument('n')
698
+ end
699
+
700
+ klass.define_instance_method('flat_map')
701
+
702
+ klass.define_instance_method('grep') do |method|
703
+ method.define_argument('pattern')
704
+ end
705
+
706
+ klass.define_instance_method('group_by')
707
+
708
+ klass.define_instance_method('include?') do |method|
709
+ method.define_argument('obj')
710
+ end
711
+
712
+ klass.define_instance_method('initialize') do |method|
713
+ method.define_optional_argument('utime')
714
+ method.define_optional_argument('stime')
715
+ method.define_optional_argument('cutime')
716
+ method.define_optional_argument('cstime')
717
+ method.define_optional_argument('tutime')
718
+ method.define_optional_argument('tstime')
719
+ end
720
+
721
+ klass.define_instance_method('inject') do |method|
722
+ method.define_optional_argument('initial')
723
+ method.define_optional_argument('sym')
724
+ end
725
+
726
+ klass.define_instance_method('lazy')
727
+
728
+ klass.define_instance_method('length')
729
+
730
+ klass.define_instance_method('map')
731
+
732
+ klass.define_instance_method('max')
733
+
734
+ klass.define_instance_method('max_by')
735
+
736
+ klass.define_instance_method('member?') do |method|
737
+ method.define_argument('obj')
738
+ end
739
+
740
+ klass.define_instance_method('members')
741
+
742
+ klass.define_instance_method('min')
743
+
744
+ klass.define_instance_method('min_by')
745
+
746
+ klass.define_instance_method('minmax')
747
+
748
+ klass.define_instance_method('minmax_by')
749
+
750
+ klass.define_instance_method('none?')
751
+
752
+ klass.define_instance_method('one?')
753
+
754
+ klass.define_instance_method('partition')
755
+
756
+ klass.define_instance_method('reduce') do |method|
757
+ method.define_optional_argument('initial')
758
+ method.define_optional_argument('sym')
759
+ end
760
+
761
+ klass.define_instance_method('reject')
762
+
763
+ klass.define_instance_method('reverse_each')
764
+
765
+ klass.define_instance_method('select')
766
+
767
+ klass.define_instance_method('size')
768
+
769
+ klass.define_instance_method('slice_before') do |method|
770
+ method.define_optional_argument('arg')
771
+ end
772
+
773
+ klass.define_instance_method('sort')
774
+
775
+ klass.define_instance_method('sort_by')
776
+
334
777
  klass.define_instance_method('stime')
335
778
 
336
779
  klass.define_instance_method('stime=')
337
780
 
781
+ klass.define_instance_method('take') do |method|
782
+ method.define_argument('n')
783
+ end
784
+
785
+ klass.define_instance_method('take_while')
786
+
787
+ klass.define_instance_method('to_a')
788
+
789
+ klass.define_instance_method('to_h')
790
+
791
+ klass.define_instance_method('to_set') do |method|
792
+ method.define_optional_argument('klass')
793
+ method.define_rest_argument('args')
794
+ method.define_block_argument('block')
795
+ end
796
+
338
797
  klass.define_instance_method('tstime')
339
798
 
340
799
  klass.define_instance_method('tstime=')
@@ -346,14 +805,20 @@ RubyLint::GlobalScope.definitions.define_constant('Struct::Tms') do |klass|
346
805
  klass.define_instance_method('utime')
347
806
 
348
807
  klass.define_instance_method('utime=')
349
- end
350
808
 
351
- ##
352
- # Constant: Struct::Tms::STRUCT_ATTRS
353
- # Created: 2013-04-01 18:33:55 +0200
354
- # Platform: rbx 2.0.0.rc1
355
- #
356
- RubyLint::GlobalScope.definitions.define_constant('Struct::Tms::STRUCT_ATTRS') do |klass|
809
+ klass.define_instance_method('values')
810
+
811
+ klass.define_instance_method('values_at') do |method|
812
+ method.define_rest_argument('args')
813
+ end
814
+
815
+ klass.define_instance_method('with_object') do |method|
816
+ method.define_argument('memo')
817
+ end
818
+
819
+ klass.define_instance_method('zip') do |method|
820
+ method.define_rest_argument('args')
821
+ end
357
822
  end
358
823
 
359
- RubyLint::GlobalScope.definitions.lookup(:const, 'Struct').deep_freeze
824
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Struct').deep_freeze