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: Float
3
- # Created: 2013-04-01 18:33:54 +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 20:17:44 +0100
5
+ # Platform: rbx 2.1.1
6
+
6
7
  RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
7
8
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Numeric'))
8
9
 
9
- klass.define_method('__class_init__')
10
-
11
10
  klass.define_method('induced_from') do |method|
12
11
  method.define_argument('obj')
13
12
  end
@@ -28,6 +27,8 @@ RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
28
27
  method.define_argument('other')
29
28
  end
30
29
 
30
+ klass.define_instance_method('+@')
31
+
31
32
  klass.define_instance_method('-') do |method|
32
33
  method.define_argument('other')
33
34
  end
@@ -68,18 +69,33 @@ RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
68
69
 
69
70
  klass.define_instance_method('abs')
70
71
 
72
+ klass.define_instance_method('abs2')
73
+
71
74
  klass.define_instance_method('angle')
72
75
 
73
76
  klass.define_instance_method('arg')
74
77
 
78
+ klass.define_instance_method('between?') do |method|
79
+ method.define_argument('min')
80
+ method.define_argument('max')
81
+ end
82
+
75
83
  klass.define_instance_method('ceil')
76
84
 
77
85
  klass.define_instance_method('coerce') do |method|
78
86
  method.define_argument('other')
79
87
  end
80
88
 
89
+ klass.define_instance_method('conj')
90
+
91
+ klass.define_instance_method('conjugate')
92
+
81
93
  klass.define_instance_method('denominator')
82
94
 
95
+ klass.define_instance_method('div') do |method|
96
+ method.define_argument('other')
97
+ end
98
+
83
99
  klass.define_instance_method('divide') do |method|
84
100
  method.define_argument('other')
85
101
  end
@@ -102,12 +118,22 @@ RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
102
118
 
103
119
  klass.define_instance_method('floor')
104
120
 
121
+ klass.define_instance_method('i')
122
+
123
+ klass.define_instance_method('imag')
124
+
105
125
  klass.define_instance_method('imaginary')
106
126
 
107
127
  klass.define_instance_method('infinite?')
108
128
 
129
+ klass.define_instance_method('initialize_copy') do |method|
130
+ method.define_argument('other')
131
+ end
132
+
109
133
  klass.define_instance_method('inspect')
110
134
 
135
+ klass.define_instance_method('integer?')
136
+
111
137
  klass.define_instance_method('magnitude')
112
138
 
113
139
  klass.define_instance_method('modulo') do |method|
@@ -116,10 +142,24 @@ RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
116
142
 
117
143
  klass.define_instance_method('nan?')
118
144
 
145
+ klass.define_instance_method('negative?')
146
+
147
+ klass.define_instance_method('nonzero?')
148
+
119
149
  klass.define_instance_method('numerator')
120
150
 
121
151
  klass.define_instance_method('phase')
122
152
 
153
+ klass.define_instance_method('polar')
154
+
155
+ klass.define_instance_method('prec') do |method|
156
+ method.define_argument('klass')
157
+ end
158
+
159
+ klass.define_instance_method('prec_f')
160
+
161
+ klass.define_instance_method('prec_i')
162
+
123
163
  klass.define_instance_method('quo') do |method|
124
164
  method.define_argument('other')
125
165
  end
@@ -128,10 +168,34 @@ RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
128
168
  method.define_optional_argument('eps')
129
169
  end
130
170
 
171
+ klass.define_instance_method('real')
172
+
173
+ klass.define_instance_method('real?')
174
+
175
+ klass.define_instance_method('rect')
176
+
177
+ klass.define_instance_method('rectangular')
178
+
179
+ klass.define_instance_method('redo_compare') do |method|
180
+ method.define_argument('meth')
181
+ method.define_argument('right')
182
+ end
183
+
184
+ klass.define_instance_method('remainder') do |method|
185
+ method.define_argument('other')
186
+ end
187
+
131
188
  klass.define_instance_method('round') do |method|
132
189
  method.define_optional_argument('ndigits')
133
190
  end
134
191
 
192
+ klass.define_instance_method('step') do |method|
193
+ method.define_argument('limit')
194
+ method.define_optional_argument('step')
195
+ end
196
+
197
+ klass.define_instance_method('to_c')
198
+
135
199
  klass.define_instance_method('to_f')
136
200
 
137
201
  klass.define_instance_method('to_i')
@@ -149,32 +213,400 @@ RubyLint::GlobalScope.definitions.define_constant('Float') do |klass|
149
213
  klass.define_instance_method('to_s_minimal')
150
214
 
151
215
  klass.define_instance_method('truncate')
216
+
217
+ klass.define_instance_method('zero?')
152
218
  end
153
219
 
154
- ##
155
- # Constant: Float::DIG
156
- # Created: 2013-04-01 18:33:54 +0200
157
- # Platform: rbx 2.0.0.rc1
158
- #
159
220
  RubyLint::GlobalScope.definitions.define_constant('Float::DIG') do |klass|
221
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
222
+
223
+ klass.define_method('%') do |method|
224
+ method.define_argument('o')
225
+ end
226
+
227
+ klass.define_method('&') do |method|
228
+ method.define_argument('o')
229
+ end
230
+
231
+ klass.define_method('*') do |method|
232
+ method.define_argument('o')
233
+ end
234
+
235
+ klass.define_method('**') do |method|
236
+ method.define_argument('o')
237
+ end
238
+
239
+ klass.define_method('+') do |method|
240
+ method.define_argument('o')
241
+ end
242
+
243
+ klass.define_method('+@')
244
+
245
+ klass.define_method('-') do |method|
246
+ method.define_argument('o')
247
+ end
248
+
249
+ klass.define_method('-@')
250
+
251
+ klass.define_method('/') do |method|
252
+ method.define_argument('o')
253
+ end
254
+
255
+ klass.define_method('<<') do |method|
256
+ method.define_argument('other')
257
+ end
258
+
259
+ klass.define_method('>>') do |method|
260
+ method.define_argument('other')
261
+ end
262
+
263
+ klass.define_method('[]') do |method|
264
+ method.define_argument('index')
265
+ end
266
+
267
+ klass.define_method('^') do |method|
268
+ method.define_argument('o')
269
+ end
270
+
271
+ klass.define_method('abs')
272
+
273
+ klass.define_method('abs2')
274
+
275
+ klass.define_method('angle')
276
+
277
+ klass.define_method('arg')
278
+
279
+ klass.define_method('between?') do |method|
280
+ method.define_argument('min')
281
+ method.define_argument('max')
282
+ end
283
+
284
+ klass.define_method('ceil')
285
+
286
+ klass.define_method('chr') do |method|
287
+ method.define_optional_argument('enc')
288
+ end
289
+
290
+ klass.define_method('coerce') do |method|
291
+ method.define_argument('other')
292
+ end
293
+
294
+ klass.define_method('conj')
295
+
296
+ klass.define_method('conjugate')
297
+
298
+ klass.define_method('denominator')
299
+
300
+ klass.define_method('div') do |method|
301
+ method.define_argument('o')
302
+ end
303
+
304
+ klass.define_method('divide') do |method|
305
+ method.define_argument('o')
306
+ end
307
+
308
+ klass.define_method('divmod') do |method|
309
+ method.define_argument('other')
310
+ end
311
+
312
+ klass.define_method('downto') do |method|
313
+ method.define_argument('val')
314
+ end
315
+
316
+ klass.define_method('even?')
317
+
318
+ klass.define_method('fdiv') do |method|
319
+ method.define_argument('n')
320
+ end
321
+
322
+ klass.define_method('floor')
323
+
324
+ klass.define_method('gcd') do |method|
325
+ method.define_argument('other')
326
+ end
327
+
328
+ klass.define_method('gcdlcm') do |method|
329
+ method.define_argument('other')
330
+ end
331
+
332
+ klass.define_method('i')
333
+
334
+ klass.define_method('imag')
335
+
336
+ klass.define_method('imaginary')
337
+
338
+ klass.define_method('integer?')
339
+
340
+ klass.define_method('lcm') do |method|
341
+ method.define_argument('other')
342
+ end
343
+
344
+ klass.define_method('magnitude')
345
+
346
+ klass.define_method('modulo') do |method|
347
+ method.define_argument('o')
348
+ end
349
+
350
+ klass.define_method('next')
351
+
352
+ klass.define_method('nonzero?')
353
+
354
+ klass.define_method('numerator')
355
+
356
+ klass.define_method('odd?')
357
+
358
+ klass.define_method('ord')
359
+
360
+ klass.define_method('phase')
361
+
362
+ klass.define_method('polar')
363
+
364
+ klass.define_method('prec') do |method|
365
+ method.define_argument('klass')
366
+ end
367
+
368
+ klass.define_method('prec_f')
369
+
370
+ klass.define_method('prec_i')
371
+
372
+ klass.define_method('pred')
373
+
374
+ klass.define_method('quo') do |method|
375
+ method.define_argument('other')
376
+ end
377
+
378
+ klass.define_method('rationalize') do |method|
379
+ method.define_optional_argument('eps')
380
+ end
381
+
382
+ klass.define_method('real')
383
+
384
+ klass.define_method('real?')
385
+
386
+ klass.define_method('rect')
387
+
388
+ klass.define_method('rectangular')
389
+
390
+ klass.define_method('redo_compare') do |method|
391
+ method.define_argument('meth')
392
+ method.define_argument('right')
393
+ end
394
+
395
+ klass.define_method('remainder') do |method|
396
+ method.define_argument('other')
397
+ end
398
+
399
+ klass.define_method('round') do |method|
400
+ method.define_optional_argument('ndigits')
401
+ end
402
+
403
+ klass.define_method('size')
404
+
405
+ klass.define_method('step') do |method|
406
+ method.define_argument('limit')
407
+ method.define_optional_argument('step')
408
+ end
409
+
410
+ klass.define_method('succ')
411
+
412
+ klass.define_method('times')
413
+
414
+ klass.define_method('to_c')
415
+
416
+ klass.define_method('to_f')
417
+
418
+ klass.define_method('to_i')
419
+
420
+ klass.define_method('to_int')
421
+
422
+ klass.define_method('to_r')
423
+
424
+ klass.define_method('truncate')
425
+
426
+ klass.define_method('upto') do |method|
427
+ method.define_argument('val')
428
+ end
429
+
430
+ klass.define_method('zero?')
431
+
432
+ klass.define_method('|') do |method|
433
+ method.define_argument('o')
434
+ end
435
+
436
+ klass.define_method('~')
160
437
  end
161
438
 
162
- ##
163
- # Constant: Float::EPSILON
164
- # Created: 2013-04-01 18:33:54 +0200
165
- # Platform: rbx 2.0.0.rc1
166
- #
167
439
  RubyLint::GlobalScope.definitions.define_constant('Float::EPSILON') do |klass|
440
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
441
+
442
+ klass.define_method('%') do |method|
443
+ method.define_argument('other')
444
+ end
445
+
446
+ klass.define_method('*') do |method|
447
+ method.define_argument('other')
448
+ end
449
+
450
+ klass.define_method('**') do |method|
451
+ method.define_argument('other')
452
+ end
453
+
454
+ klass.define_method('+') do |method|
455
+ method.define_argument('other')
456
+ end
457
+
458
+ klass.define_method('+@')
459
+
460
+ klass.define_method('-') do |method|
461
+ method.define_argument('other')
462
+ end
463
+
464
+ klass.define_method('-@')
465
+
466
+ klass.define_method('/') do |method|
467
+ method.define_argument('other')
468
+ end
469
+
470
+ klass.define_method('abs')
471
+
472
+ klass.define_method('abs2')
473
+
474
+ klass.define_method('angle')
475
+
476
+ klass.define_method('arg')
477
+
478
+ klass.define_method('between?') do |method|
479
+ method.define_argument('min')
480
+ method.define_argument('max')
481
+ end
482
+
483
+ klass.define_method('ceil')
484
+
485
+ klass.define_method('coerce') do |method|
486
+ method.define_argument('other')
487
+ end
488
+
489
+ klass.define_method('conj')
490
+
491
+ klass.define_method('conjugate')
492
+
493
+ klass.define_method('denominator')
494
+
495
+ klass.define_method('div') do |method|
496
+ method.define_argument('other')
497
+ end
498
+
499
+ klass.define_method('divide') do |method|
500
+ method.define_argument('other')
501
+ end
502
+
503
+ klass.define_method('divmod') do |method|
504
+ method.define_argument('other')
505
+ end
506
+
507
+ klass.define_method('dtoa')
508
+
509
+ klass.define_method('fdiv') do |method|
510
+ method.define_argument('other')
511
+ end
512
+
513
+ klass.define_method('finite?')
514
+
515
+ klass.define_method('floor')
516
+
517
+ klass.define_method('i')
518
+
519
+ klass.define_method('imag')
520
+
521
+ klass.define_method('imaginary')
522
+
523
+ klass.define_method('infinite?')
524
+
525
+ klass.define_method('integer?')
526
+
527
+ klass.define_method('magnitude')
528
+
529
+ klass.define_method('modulo') do |method|
530
+ method.define_argument('other')
531
+ end
532
+
533
+ klass.define_method('nan?')
534
+
535
+ klass.define_method('negative?')
536
+
537
+ klass.define_method('nonzero?')
538
+
539
+ klass.define_method('numerator')
540
+
541
+ klass.define_method('phase')
542
+
543
+ klass.define_method('polar')
544
+
545
+ klass.define_method('prec') do |method|
546
+ method.define_argument('klass')
547
+ end
548
+
549
+ klass.define_method('prec_f')
550
+
551
+ klass.define_method('prec_i')
552
+
553
+ klass.define_method('quo') do |method|
554
+ method.define_argument('other')
555
+ end
556
+
557
+ klass.define_method('rationalize') do |method|
558
+ method.define_optional_argument('eps')
559
+ end
560
+
561
+ klass.define_method('real')
562
+
563
+ klass.define_method('real?')
564
+
565
+ klass.define_method('rect')
566
+
567
+ klass.define_method('rectangular')
568
+
569
+ klass.define_method('redo_compare') do |method|
570
+ method.define_argument('meth')
571
+ method.define_argument('right')
572
+ end
573
+
574
+ klass.define_method('remainder') do |method|
575
+ method.define_argument('other')
576
+ end
577
+
578
+ klass.define_method('round') do |method|
579
+ method.define_optional_argument('ndigits')
580
+ end
581
+
582
+ klass.define_method('step') do |method|
583
+ method.define_argument('limit')
584
+ method.define_optional_argument('step')
585
+ end
586
+
587
+ klass.define_method('to_c')
588
+
589
+ klass.define_method('to_f')
590
+
591
+ klass.define_method('to_i')
592
+
593
+ klass.define_method('to_int')
594
+
595
+ klass.define_method('to_packed') do |method|
596
+ method.define_argument('size')
597
+ end
598
+
599
+ klass.define_method('to_r')
600
+
601
+ klass.define_method('to_s_minimal')
602
+
603
+ klass.define_method('truncate')
604
+
605
+ klass.define_method('zero?')
168
606
  end
169
607
 
170
- ##
171
- # Constant: Float::FFI
172
- # Created: 2013-04-01 18:33:54 +0200
173
- # Platform: rbx 2.0.0.rc1
174
- #
175
608
  RubyLint::GlobalScope.definitions.define_constant('Float::FFI') do |klass|
176
-
177
- klass.define_method('__module_init__')
609
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
178
610
 
179
611
  klass.define_method('add_typedef') do |method|
180
612
  method.define_argument('current')
@@ -209,6 +641,8 @@ RubyLint::GlobalScope.definitions.define_constant('Float::FFI') do |klass|
209
641
  method.define_argument('ret')
210
642
  end
211
643
 
644
+ klass.define_method('initialize')
645
+
212
646
  klass.define_method('size_to_type') do |method|
213
647
  method.define_argument('size')
214
648
  end
@@ -218,92 +652,2213 @@ RubyLint::GlobalScope.definitions.define_constant('Float::FFI') do |klass|
218
652
  end
219
653
  end
220
654
 
221
- ##
222
- # Constant: Float::INFINITY
223
- # Created: 2013-04-01 18:33:54 +0200
224
- # Platform: rbx 2.0.0.rc1
225
- #
226
655
  RubyLint::GlobalScope.definitions.define_constant('Float::INFINITY') do |klass|
656
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
657
+
658
+ klass.define_method('%') do |method|
659
+ method.define_argument('other')
660
+ end
661
+
662
+ klass.define_method('*') do |method|
663
+ method.define_argument('other')
664
+ end
665
+
666
+ klass.define_method('**') do |method|
667
+ method.define_argument('other')
668
+ end
669
+
670
+ klass.define_method('+') do |method|
671
+ method.define_argument('other')
672
+ end
673
+
674
+ klass.define_method('+@')
675
+
676
+ klass.define_method('-') do |method|
677
+ method.define_argument('other')
678
+ end
679
+
680
+ klass.define_method('-@')
681
+
682
+ klass.define_method('/') do |method|
683
+ method.define_argument('other')
684
+ end
685
+
686
+ klass.define_method('abs')
687
+
688
+ klass.define_method('abs2')
689
+
690
+ klass.define_method('angle')
691
+
692
+ klass.define_method('arg')
693
+
694
+ klass.define_method('between?') do |method|
695
+ method.define_argument('min')
696
+ method.define_argument('max')
697
+ end
698
+
699
+ klass.define_method('ceil')
700
+
701
+ klass.define_method('coerce') do |method|
702
+ method.define_argument('other')
703
+ end
704
+
705
+ klass.define_method('conj')
706
+
707
+ klass.define_method('conjugate')
708
+
709
+ klass.define_method('denominator')
710
+
711
+ klass.define_method('div') do |method|
712
+ method.define_argument('other')
713
+ end
714
+
715
+ klass.define_method('divide') do |method|
716
+ method.define_argument('other')
717
+ end
718
+
719
+ klass.define_method('divmod') do |method|
720
+ method.define_argument('other')
721
+ end
722
+
723
+ klass.define_method('dtoa')
724
+
725
+ klass.define_method('fdiv') do |method|
726
+ method.define_argument('other')
727
+ end
728
+
729
+ klass.define_method('finite?')
730
+
731
+ klass.define_method('floor')
732
+
733
+ klass.define_method('i')
734
+
735
+ klass.define_method('imag')
736
+
737
+ klass.define_method('imaginary')
738
+
739
+ klass.define_method('infinite?')
740
+
741
+ klass.define_method('integer?')
742
+
743
+ klass.define_method('magnitude')
744
+
745
+ klass.define_method('modulo') do |method|
746
+ method.define_argument('other')
747
+ end
748
+
749
+ klass.define_method('nan?')
750
+
751
+ klass.define_method('negative?')
752
+
753
+ klass.define_method('nonzero?')
754
+
755
+ klass.define_method('numerator')
756
+
757
+ klass.define_method('phase')
758
+
759
+ klass.define_method('polar')
760
+
761
+ klass.define_method('prec') do |method|
762
+ method.define_argument('klass')
763
+ end
764
+
765
+ klass.define_method('prec_f')
766
+
767
+ klass.define_method('prec_i')
768
+
769
+ klass.define_method('quo') do |method|
770
+ method.define_argument('other')
771
+ end
772
+
773
+ klass.define_method('rationalize') do |method|
774
+ method.define_optional_argument('eps')
775
+ end
776
+
777
+ klass.define_method('real')
778
+
779
+ klass.define_method('real?')
780
+
781
+ klass.define_method('rect')
782
+
783
+ klass.define_method('rectangular')
784
+
785
+ klass.define_method('redo_compare') do |method|
786
+ method.define_argument('meth')
787
+ method.define_argument('right')
788
+ end
789
+
790
+ klass.define_method('remainder') do |method|
791
+ method.define_argument('other')
792
+ end
793
+
794
+ klass.define_method('round') do |method|
795
+ method.define_optional_argument('ndigits')
796
+ end
797
+
798
+ klass.define_method('step') do |method|
799
+ method.define_argument('limit')
800
+ method.define_optional_argument('step')
801
+ end
802
+
803
+ klass.define_method('to_c')
804
+
805
+ klass.define_method('to_f')
806
+
807
+ klass.define_method('to_i')
808
+
809
+ klass.define_method('to_int')
810
+
811
+ klass.define_method('to_packed') do |method|
812
+ method.define_argument('size')
813
+ end
814
+
815
+ klass.define_method('to_r')
816
+
817
+ klass.define_method('to_s_minimal')
818
+
819
+ klass.define_method('truncate')
820
+
821
+ klass.define_method('zero?')
227
822
  end
228
823
 
229
- ##
230
- # Constant: Float::MANT_DIG
231
- # Created: 2013-04-01 18:33:54 +0200
232
- # Platform: rbx 2.0.0.rc1
233
- #
234
824
  RubyLint::GlobalScope.definitions.define_constant('Float::MANT_DIG') do |klass|
825
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
826
+
827
+ klass.define_method('%') do |method|
828
+ method.define_argument('o')
829
+ end
830
+
831
+ klass.define_method('&') do |method|
832
+ method.define_argument('o')
833
+ end
834
+
835
+ klass.define_method('*') do |method|
836
+ method.define_argument('o')
837
+ end
838
+
839
+ klass.define_method('**') do |method|
840
+ method.define_argument('o')
841
+ end
842
+
843
+ klass.define_method('+') do |method|
844
+ method.define_argument('o')
845
+ end
846
+
847
+ klass.define_method('+@')
848
+
849
+ klass.define_method('-') do |method|
850
+ method.define_argument('o')
851
+ end
852
+
853
+ klass.define_method('-@')
854
+
855
+ klass.define_method('/') do |method|
856
+ method.define_argument('o')
857
+ end
858
+
859
+ klass.define_method('<<') do |method|
860
+ method.define_argument('other')
861
+ end
862
+
863
+ klass.define_method('>>') do |method|
864
+ method.define_argument('other')
865
+ end
866
+
867
+ klass.define_method('[]') do |method|
868
+ method.define_argument('index')
869
+ end
870
+
871
+ klass.define_method('^') do |method|
872
+ method.define_argument('o')
873
+ end
874
+
875
+ klass.define_method('abs')
876
+
877
+ klass.define_method('abs2')
878
+
879
+ klass.define_method('angle')
880
+
881
+ klass.define_method('arg')
882
+
883
+ klass.define_method('between?') do |method|
884
+ method.define_argument('min')
885
+ method.define_argument('max')
886
+ end
887
+
888
+ klass.define_method('ceil')
889
+
890
+ klass.define_method('chr') do |method|
891
+ method.define_optional_argument('enc')
892
+ end
893
+
894
+ klass.define_method('coerce') do |method|
895
+ method.define_argument('other')
896
+ end
897
+
898
+ klass.define_method('conj')
899
+
900
+ klass.define_method('conjugate')
901
+
902
+ klass.define_method('denominator')
903
+
904
+ klass.define_method('div') do |method|
905
+ method.define_argument('o')
906
+ end
907
+
908
+ klass.define_method('divide') do |method|
909
+ method.define_argument('o')
910
+ end
911
+
912
+ klass.define_method('divmod') do |method|
913
+ method.define_argument('other')
914
+ end
915
+
916
+ klass.define_method('downto') do |method|
917
+ method.define_argument('val')
918
+ end
919
+
920
+ klass.define_method('even?')
921
+
922
+ klass.define_method('fdiv') do |method|
923
+ method.define_argument('n')
924
+ end
925
+
926
+ klass.define_method('floor')
927
+
928
+ klass.define_method('gcd') do |method|
929
+ method.define_argument('other')
930
+ end
931
+
932
+ klass.define_method('gcdlcm') do |method|
933
+ method.define_argument('other')
934
+ end
935
+
936
+ klass.define_method('i')
937
+
938
+ klass.define_method('imag')
939
+
940
+ klass.define_method('imaginary')
941
+
942
+ klass.define_method('integer?')
943
+
944
+ klass.define_method('lcm') do |method|
945
+ method.define_argument('other')
946
+ end
947
+
948
+ klass.define_method('magnitude')
949
+
950
+ klass.define_method('modulo') do |method|
951
+ method.define_argument('o')
952
+ end
953
+
954
+ klass.define_method('next')
955
+
956
+ klass.define_method('nonzero?')
957
+
958
+ klass.define_method('numerator')
959
+
960
+ klass.define_method('odd?')
961
+
962
+ klass.define_method('ord')
963
+
964
+ klass.define_method('phase')
965
+
966
+ klass.define_method('polar')
967
+
968
+ klass.define_method('prec') do |method|
969
+ method.define_argument('klass')
970
+ end
971
+
972
+ klass.define_method('prec_f')
973
+
974
+ klass.define_method('prec_i')
975
+
976
+ klass.define_method('pred')
977
+
978
+ klass.define_method('quo') do |method|
979
+ method.define_argument('other')
980
+ end
981
+
982
+ klass.define_method('rationalize') do |method|
983
+ method.define_optional_argument('eps')
984
+ end
985
+
986
+ klass.define_method('real')
987
+
988
+ klass.define_method('real?')
989
+
990
+ klass.define_method('rect')
991
+
992
+ klass.define_method('rectangular')
993
+
994
+ klass.define_method('redo_compare') do |method|
995
+ method.define_argument('meth')
996
+ method.define_argument('right')
997
+ end
998
+
999
+ klass.define_method('remainder') do |method|
1000
+ method.define_argument('other')
1001
+ end
1002
+
1003
+ klass.define_method('round') do |method|
1004
+ method.define_optional_argument('ndigits')
1005
+ end
1006
+
1007
+ klass.define_method('size')
1008
+
1009
+ klass.define_method('step') do |method|
1010
+ method.define_argument('limit')
1011
+ method.define_optional_argument('step')
1012
+ end
1013
+
1014
+ klass.define_method('succ')
1015
+
1016
+ klass.define_method('times')
1017
+
1018
+ klass.define_method('to_c')
1019
+
1020
+ klass.define_method('to_f')
1021
+
1022
+ klass.define_method('to_i')
1023
+
1024
+ klass.define_method('to_int')
1025
+
1026
+ klass.define_method('to_r')
1027
+
1028
+ klass.define_method('truncate')
1029
+
1030
+ klass.define_method('upto') do |method|
1031
+ method.define_argument('val')
1032
+ end
1033
+
1034
+ klass.define_method('zero?')
1035
+
1036
+ klass.define_method('|') do |method|
1037
+ method.define_argument('o')
1038
+ end
1039
+
1040
+ klass.define_method('~')
235
1041
  end
236
1042
 
237
- ##
238
- # Constant: Float::MAX
239
- # Created: 2013-04-01 18:33:54 +0200
240
- # Platform: rbx 2.0.0.rc1
241
- #
242
1043
  RubyLint::GlobalScope.definitions.define_constant('Float::MAX') do |klass|
243
- end
1044
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
244
1045
 
245
- ##
246
- # Constant: Float::MAX_10_EXP
247
- # Created: 2013-04-01 18:33:54 +0200
248
- # Platform: rbx 2.0.0.rc1
249
- #
250
- RubyLint::GlobalScope.definitions.define_constant('Float::MAX_10_EXP') do |klass|
251
- end
1046
+ klass.define_method('%') do |method|
1047
+ method.define_argument('other')
1048
+ end
252
1049
 
253
- ##
254
- # Constant: Float::MAX_EXP
255
- # Created: 2013-04-01 18:33:54 +0200
256
- # Platform: rbx 2.0.0.rc1
257
- #
258
- RubyLint::GlobalScope.definitions.define_constant('Float::MAX_EXP') do |klass|
259
- end
1050
+ klass.define_method('*') do |method|
1051
+ method.define_argument('other')
1052
+ end
260
1053
 
261
- ##
262
- # Constant: Float::MIN
263
- # Created: 2013-04-01 18:33:54 +0200
264
- # Platform: rbx 2.0.0.rc1
265
- #
266
- RubyLint::GlobalScope.definitions.define_constant('Float::MIN') do |klass|
267
- end
1054
+ klass.define_method('**') do |method|
1055
+ method.define_argument('other')
1056
+ end
268
1057
 
269
- ##
270
- # Constant: Float::MIN_10_EXP
271
- # Created: 2013-04-01 18:33:54 +0200
272
- # Platform: rbx 2.0.0.rc1
273
- #
274
- RubyLint::GlobalScope.definitions.define_constant('Float::MIN_10_EXP') do |klass|
275
- end
1058
+ klass.define_method('+') do |method|
1059
+ method.define_argument('other')
1060
+ end
276
1061
 
277
- ##
278
- # Constant: Float::MIN_EXP
279
- # Created: 2013-04-01 18:33:54 +0200
280
- # Platform: rbx 2.0.0.rc1
281
- #
282
- RubyLint::GlobalScope.definitions.define_constant('Float::MIN_EXP') do |klass|
283
- end
1062
+ klass.define_method('+@')
284
1063
 
285
- ##
286
- # Constant: Float::NAN
287
- # Created: 2013-04-01 18:33:54 +0200
288
- # Platform: rbx 2.0.0.rc1
289
- #
290
- RubyLint::GlobalScope.definitions.define_constant('Float::NAN') do |klass|
291
- end
1064
+ klass.define_method('-') do |method|
1065
+ method.define_argument('other')
1066
+ end
292
1067
 
293
- ##
294
- # Constant: Float::RADIX
295
- # Created: 2013-04-01 18:33:54 +0200
296
- # Platform: rbx 2.0.0.rc1
297
- #
298
- RubyLint::GlobalScope.definitions.define_constant('Float::RADIX') do |klass|
299
- end
1068
+ klass.define_method('-@')
300
1069
 
301
- ##
302
- # Constant: Float::ROUNDS
303
- # Created: 2013-04-01 18:33:54 +0200
304
- # Platform: rbx 2.0.0.rc1
305
- #
306
- RubyLint::GlobalScope.definitions.define_constant('Float::ROUNDS') do |klass|
1070
+ klass.define_method('/') do |method|
1071
+ method.define_argument('other')
1072
+ end
1073
+
1074
+ klass.define_method('abs')
1075
+
1076
+ klass.define_method('abs2')
1077
+
1078
+ klass.define_method('angle')
1079
+
1080
+ klass.define_method('arg')
1081
+
1082
+ klass.define_method('between?') do |method|
1083
+ method.define_argument('min')
1084
+ method.define_argument('max')
1085
+ end
1086
+
1087
+ klass.define_method('ceil')
1088
+
1089
+ klass.define_method('coerce') do |method|
1090
+ method.define_argument('other')
1091
+ end
1092
+
1093
+ klass.define_method('conj')
1094
+
1095
+ klass.define_method('conjugate')
1096
+
1097
+ klass.define_method('denominator')
1098
+
1099
+ klass.define_method('div') do |method|
1100
+ method.define_argument('other')
1101
+ end
1102
+
1103
+ klass.define_method('divide') do |method|
1104
+ method.define_argument('other')
1105
+ end
1106
+
1107
+ klass.define_method('divmod') do |method|
1108
+ method.define_argument('other')
1109
+ end
1110
+
1111
+ klass.define_method('dtoa')
1112
+
1113
+ klass.define_method('fdiv') do |method|
1114
+ method.define_argument('other')
1115
+ end
1116
+
1117
+ klass.define_method('finite?')
1118
+
1119
+ klass.define_method('floor')
1120
+
1121
+ klass.define_method('i')
1122
+
1123
+ klass.define_method('imag')
1124
+
1125
+ klass.define_method('imaginary')
1126
+
1127
+ klass.define_method('infinite?')
1128
+
1129
+ klass.define_method('integer?')
1130
+
1131
+ klass.define_method('magnitude')
1132
+
1133
+ klass.define_method('modulo') do |method|
1134
+ method.define_argument('other')
1135
+ end
1136
+
1137
+ klass.define_method('nan?')
1138
+
1139
+ klass.define_method('negative?')
1140
+
1141
+ klass.define_method('nonzero?')
1142
+
1143
+ klass.define_method('numerator')
1144
+
1145
+ klass.define_method('phase')
1146
+
1147
+ klass.define_method('polar')
1148
+
1149
+ klass.define_method('prec') do |method|
1150
+ method.define_argument('klass')
1151
+ end
1152
+
1153
+ klass.define_method('prec_f')
1154
+
1155
+ klass.define_method('prec_i')
1156
+
1157
+ klass.define_method('quo') do |method|
1158
+ method.define_argument('other')
1159
+ end
1160
+
1161
+ klass.define_method('rationalize') do |method|
1162
+ method.define_optional_argument('eps')
1163
+ end
1164
+
1165
+ klass.define_method('real')
1166
+
1167
+ klass.define_method('real?')
1168
+
1169
+ klass.define_method('rect')
1170
+
1171
+ klass.define_method('rectangular')
1172
+
1173
+ klass.define_method('redo_compare') do |method|
1174
+ method.define_argument('meth')
1175
+ method.define_argument('right')
1176
+ end
1177
+
1178
+ klass.define_method('remainder') do |method|
1179
+ method.define_argument('other')
1180
+ end
1181
+
1182
+ klass.define_method('round') do |method|
1183
+ method.define_optional_argument('ndigits')
1184
+ end
1185
+
1186
+ klass.define_method('step') do |method|
1187
+ method.define_argument('limit')
1188
+ method.define_optional_argument('step')
1189
+ end
1190
+
1191
+ klass.define_method('to_c')
1192
+
1193
+ klass.define_method('to_f')
1194
+
1195
+ klass.define_method('to_i')
1196
+
1197
+ klass.define_method('to_int')
1198
+
1199
+ klass.define_method('to_packed') do |method|
1200
+ method.define_argument('size')
1201
+ end
1202
+
1203
+ klass.define_method('to_r')
1204
+
1205
+ klass.define_method('to_s_minimal')
1206
+
1207
+ klass.define_method('truncate')
1208
+
1209
+ klass.define_method('zero?')
1210
+ end
1211
+
1212
+ RubyLint::GlobalScope.definitions.define_constant('Float::MAX_10_EXP') do |klass|
1213
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
1214
+
1215
+ klass.define_method('%') do |method|
1216
+ method.define_argument('o')
1217
+ end
1218
+
1219
+ klass.define_method('&') do |method|
1220
+ method.define_argument('o')
1221
+ end
1222
+
1223
+ klass.define_method('*') do |method|
1224
+ method.define_argument('o')
1225
+ end
1226
+
1227
+ klass.define_method('**') do |method|
1228
+ method.define_argument('o')
1229
+ end
1230
+
1231
+ klass.define_method('+') do |method|
1232
+ method.define_argument('o')
1233
+ end
1234
+
1235
+ klass.define_method('+@')
1236
+
1237
+ klass.define_method('-') do |method|
1238
+ method.define_argument('o')
1239
+ end
1240
+
1241
+ klass.define_method('-@')
1242
+
1243
+ klass.define_method('/') do |method|
1244
+ method.define_argument('o')
1245
+ end
1246
+
1247
+ klass.define_method('<<') do |method|
1248
+ method.define_argument('other')
1249
+ end
1250
+
1251
+ klass.define_method('>>') do |method|
1252
+ method.define_argument('other')
1253
+ end
1254
+
1255
+ klass.define_method('[]') do |method|
1256
+ method.define_argument('index')
1257
+ end
1258
+
1259
+ klass.define_method('^') do |method|
1260
+ method.define_argument('o')
1261
+ end
1262
+
1263
+ klass.define_method('abs')
1264
+
1265
+ klass.define_method('abs2')
1266
+
1267
+ klass.define_method('angle')
1268
+
1269
+ klass.define_method('arg')
1270
+
1271
+ klass.define_method('between?') do |method|
1272
+ method.define_argument('min')
1273
+ method.define_argument('max')
1274
+ end
1275
+
1276
+ klass.define_method('ceil')
1277
+
1278
+ klass.define_method('chr') do |method|
1279
+ method.define_optional_argument('enc')
1280
+ end
1281
+
1282
+ klass.define_method('coerce') do |method|
1283
+ method.define_argument('other')
1284
+ end
1285
+
1286
+ klass.define_method('conj')
1287
+
1288
+ klass.define_method('conjugate')
1289
+
1290
+ klass.define_method('denominator')
1291
+
1292
+ klass.define_method('div') do |method|
1293
+ method.define_argument('o')
1294
+ end
1295
+
1296
+ klass.define_method('divide') do |method|
1297
+ method.define_argument('o')
1298
+ end
1299
+
1300
+ klass.define_method('divmod') do |method|
1301
+ method.define_argument('other')
1302
+ end
1303
+
1304
+ klass.define_method('downto') do |method|
1305
+ method.define_argument('val')
1306
+ end
1307
+
1308
+ klass.define_method('even?')
1309
+
1310
+ klass.define_method('fdiv') do |method|
1311
+ method.define_argument('n')
1312
+ end
1313
+
1314
+ klass.define_method('floor')
1315
+
1316
+ klass.define_method('gcd') do |method|
1317
+ method.define_argument('other')
1318
+ end
1319
+
1320
+ klass.define_method('gcdlcm') do |method|
1321
+ method.define_argument('other')
1322
+ end
1323
+
1324
+ klass.define_method('i')
1325
+
1326
+ klass.define_method('imag')
1327
+
1328
+ klass.define_method('imaginary')
1329
+
1330
+ klass.define_method('integer?')
1331
+
1332
+ klass.define_method('lcm') do |method|
1333
+ method.define_argument('other')
1334
+ end
1335
+
1336
+ klass.define_method('magnitude')
1337
+
1338
+ klass.define_method('modulo') do |method|
1339
+ method.define_argument('o')
1340
+ end
1341
+
1342
+ klass.define_method('next')
1343
+
1344
+ klass.define_method('nonzero?')
1345
+
1346
+ klass.define_method('numerator')
1347
+
1348
+ klass.define_method('odd?')
1349
+
1350
+ klass.define_method('ord')
1351
+
1352
+ klass.define_method('phase')
1353
+
1354
+ klass.define_method('polar')
1355
+
1356
+ klass.define_method('prec') do |method|
1357
+ method.define_argument('klass')
1358
+ end
1359
+
1360
+ klass.define_method('prec_f')
1361
+
1362
+ klass.define_method('prec_i')
1363
+
1364
+ klass.define_method('pred')
1365
+
1366
+ klass.define_method('quo') do |method|
1367
+ method.define_argument('other')
1368
+ end
1369
+
1370
+ klass.define_method('rationalize') do |method|
1371
+ method.define_optional_argument('eps')
1372
+ end
1373
+
1374
+ klass.define_method('real')
1375
+
1376
+ klass.define_method('real?')
1377
+
1378
+ klass.define_method('rect')
1379
+
1380
+ klass.define_method('rectangular')
1381
+
1382
+ klass.define_method('redo_compare') do |method|
1383
+ method.define_argument('meth')
1384
+ method.define_argument('right')
1385
+ end
1386
+
1387
+ klass.define_method('remainder') do |method|
1388
+ method.define_argument('other')
1389
+ end
1390
+
1391
+ klass.define_method('round') do |method|
1392
+ method.define_optional_argument('ndigits')
1393
+ end
1394
+
1395
+ klass.define_method('size')
1396
+
1397
+ klass.define_method('step') do |method|
1398
+ method.define_argument('limit')
1399
+ method.define_optional_argument('step')
1400
+ end
1401
+
1402
+ klass.define_method('succ')
1403
+
1404
+ klass.define_method('times')
1405
+
1406
+ klass.define_method('to_c')
1407
+
1408
+ klass.define_method('to_f')
1409
+
1410
+ klass.define_method('to_i')
1411
+
1412
+ klass.define_method('to_int')
1413
+
1414
+ klass.define_method('to_r')
1415
+
1416
+ klass.define_method('truncate')
1417
+
1418
+ klass.define_method('upto') do |method|
1419
+ method.define_argument('val')
1420
+ end
1421
+
1422
+ klass.define_method('zero?')
1423
+
1424
+ klass.define_method('|') do |method|
1425
+ method.define_argument('o')
1426
+ end
1427
+
1428
+ klass.define_method('~')
1429
+ end
1430
+
1431
+ RubyLint::GlobalScope.definitions.define_constant('Float::MAX_EXP') do |klass|
1432
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
1433
+
1434
+ klass.define_method('%') do |method|
1435
+ method.define_argument('o')
1436
+ end
1437
+
1438
+ klass.define_method('&') do |method|
1439
+ method.define_argument('o')
1440
+ end
1441
+
1442
+ klass.define_method('*') do |method|
1443
+ method.define_argument('o')
1444
+ end
1445
+
1446
+ klass.define_method('**') do |method|
1447
+ method.define_argument('o')
1448
+ end
1449
+
1450
+ klass.define_method('+') do |method|
1451
+ method.define_argument('o')
1452
+ end
1453
+
1454
+ klass.define_method('+@')
1455
+
1456
+ klass.define_method('-') do |method|
1457
+ method.define_argument('o')
1458
+ end
1459
+
1460
+ klass.define_method('-@')
1461
+
1462
+ klass.define_method('/') do |method|
1463
+ method.define_argument('o')
1464
+ end
1465
+
1466
+ klass.define_method('<<') do |method|
1467
+ method.define_argument('other')
1468
+ end
1469
+
1470
+ klass.define_method('>>') do |method|
1471
+ method.define_argument('other')
1472
+ end
1473
+
1474
+ klass.define_method('[]') do |method|
1475
+ method.define_argument('index')
1476
+ end
1477
+
1478
+ klass.define_method('^') do |method|
1479
+ method.define_argument('o')
1480
+ end
1481
+
1482
+ klass.define_method('abs')
1483
+
1484
+ klass.define_method('abs2')
1485
+
1486
+ klass.define_method('angle')
1487
+
1488
+ klass.define_method('arg')
1489
+
1490
+ klass.define_method('between?') do |method|
1491
+ method.define_argument('min')
1492
+ method.define_argument('max')
1493
+ end
1494
+
1495
+ klass.define_method('ceil')
1496
+
1497
+ klass.define_method('chr') do |method|
1498
+ method.define_optional_argument('enc')
1499
+ end
1500
+
1501
+ klass.define_method('coerce') do |method|
1502
+ method.define_argument('other')
1503
+ end
1504
+
1505
+ klass.define_method('conj')
1506
+
1507
+ klass.define_method('conjugate')
1508
+
1509
+ klass.define_method('denominator')
1510
+
1511
+ klass.define_method('div') do |method|
1512
+ method.define_argument('o')
1513
+ end
1514
+
1515
+ klass.define_method('divide') do |method|
1516
+ method.define_argument('o')
1517
+ end
1518
+
1519
+ klass.define_method('divmod') do |method|
1520
+ method.define_argument('other')
1521
+ end
1522
+
1523
+ klass.define_method('downto') do |method|
1524
+ method.define_argument('val')
1525
+ end
1526
+
1527
+ klass.define_method('even?')
1528
+
1529
+ klass.define_method('fdiv') do |method|
1530
+ method.define_argument('n')
1531
+ end
1532
+
1533
+ klass.define_method('floor')
1534
+
1535
+ klass.define_method('gcd') do |method|
1536
+ method.define_argument('other')
1537
+ end
1538
+
1539
+ klass.define_method('gcdlcm') do |method|
1540
+ method.define_argument('other')
1541
+ end
1542
+
1543
+ klass.define_method('i')
1544
+
1545
+ klass.define_method('imag')
1546
+
1547
+ klass.define_method('imaginary')
1548
+
1549
+ klass.define_method('integer?')
1550
+
1551
+ klass.define_method('lcm') do |method|
1552
+ method.define_argument('other')
1553
+ end
1554
+
1555
+ klass.define_method('magnitude')
1556
+
1557
+ klass.define_method('modulo') do |method|
1558
+ method.define_argument('o')
1559
+ end
1560
+
1561
+ klass.define_method('next')
1562
+
1563
+ klass.define_method('nonzero?')
1564
+
1565
+ klass.define_method('numerator')
1566
+
1567
+ klass.define_method('odd?')
1568
+
1569
+ klass.define_method('ord')
1570
+
1571
+ klass.define_method('phase')
1572
+
1573
+ klass.define_method('polar')
1574
+
1575
+ klass.define_method('prec') do |method|
1576
+ method.define_argument('klass')
1577
+ end
1578
+
1579
+ klass.define_method('prec_f')
1580
+
1581
+ klass.define_method('prec_i')
1582
+
1583
+ klass.define_method('pred')
1584
+
1585
+ klass.define_method('quo') do |method|
1586
+ method.define_argument('other')
1587
+ end
1588
+
1589
+ klass.define_method('rationalize') do |method|
1590
+ method.define_optional_argument('eps')
1591
+ end
1592
+
1593
+ klass.define_method('real')
1594
+
1595
+ klass.define_method('real?')
1596
+
1597
+ klass.define_method('rect')
1598
+
1599
+ klass.define_method('rectangular')
1600
+
1601
+ klass.define_method('redo_compare') do |method|
1602
+ method.define_argument('meth')
1603
+ method.define_argument('right')
1604
+ end
1605
+
1606
+ klass.define_method('remainder') do |method|
1607
+ method.define_argument('other')
1608
+ end
1609
+
1610
+ klass.define_method('round') do |method|
1611
+ method.define_optional_argument('ndigits')
1612
+ end
1613
+
1614
+ klass.define_method('size')
1615
+
1616
+ klass.define_method('step') do |method|
1617
+ method.define_argument('limit')
1618
+ method.define_optional_argument('step')
1619
+ end
1620
+
1621
+ klass.define_method('succ')
1622
+
1623
+ klass.define_method('times')
1624
+
1625
+ klass.define_method('to_c')
1626
+
1627
+ klass.define_method('to_f')
1628
+
1629
+ klass.define_method('to_i')
1630
+
1631
+ klass.define_method('to_int')
1632
+
1633
+ klass.define_method('to_r')
1634
+
1635
+ klass.define_method('truncate')
1636
+
1637
+ klass.define_method('upto') do |method|
1638
+ method.define_argument('val')
1639
+ end
1640
+
1641
+ klass.define_method('zero?')
1642
+
1643
+ klass.define_method('|') do |method|
1644
+ method.define_argument('o')
1645
+ end
1646
+
1647
+ klass.define_method('~')
1648
+ end
1649
+
1650
+ RubyLint::GlobalScope.definitions.define_constant('Float::MIN') do |klass|
1651
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
1652
+
1653
+ klass.define_method('%') do |method|
1654
+ method.define_argument('other')
1655
+ end
1656
+
1657
+ klass.define_method('*') do |method|
1658
+ method.define_argument('other')
1659
+ end
1660
+
1661
+ klass.define_method('**') do |method|
1662
+ method.define_argument('other')
1663
+ end
1664
+
1665
+ klass.define_method('+') do |method|
1666
+ method.define_argument('other')
1667
+ end
1668
+
1669
+ klass.define_method('+@')
1670
+
1671
+ klass.define_method('-') do |method|
1672
+ method.define_argument('other')
1673
+ end
1674
+
1675
+ klass.define_method('-@')
1676
+
1677
+ klass.define_method('/') do |method|
1678
+ method.define_argument('other')
1679
+ end
1680
+
1681
+ klass.define_method('abs')
1682
+
1683
+ klass.define_method('abs2')
1684
+
1685
+ klass.define_method('angle')
1686
+
1687
+ klass.define_method('arg')
1688
+
1689
+ klass.define_method('between?') do |method|
1690
+ method.define_argument('min')
1691
+ method.define_argument('max')
1692
+ end
1693
+
1694
+ klass.define_method('ceil')
1695
+
1696
+ klass.define_method('coerce') do |method|
1697
+ method.define_argument('other')
1698
+ end
1699
+
1700
+ klass.define_method('conj')
1701
+
1702
+ klass.define_method('conjugate')
1703
+
1704
+ klass.define_method('denominator')
1705
+
1706
+ klass.define_method('div') do |method|
1707
+ method.define_argument('other')
1708
+ end
1709
+
1710
+ klass.define_method('divide') do |method|
1711
+ method.define_argument('other')
1712
+ end
1713
+
1714
+ klass.define_method('divmod') do |method|
1715
+ method.define_argument('other')
1716
+ end
1717
+
1718
+ klass.define_method('dtoa')
1719
+
1720
+ klass.define_method('fdiv') do |method|
1721
+ method.define_argument('other')
1722
+ end
1723
+
1724
+ klass.define_method('finite?')
1725
+
1726
+ klass.define_method('floor')
1727
+
1728
+ klass.define_method('i')
1729
+
1730
+ klass.define_method('imag')
1731
+
1732
+ klass.define_method('imaginary')
1733
+
1734
+ klass.define_method('infinite?')
1735
+
1736
+ klass.define_method('integer?')
1737
+
1738
+ klass.define_method('magnitude')
1739
+
1740
+ klass.define_method('modulo') do |method|
1741
+ method.define_argument('other')
1742
+ end
1743
+
1744
+ klass.define_method('nan?')
1745
+
1746
+ klass.define_method('negative?')
1747
+
1748
+ klass.define_method('nonzero?')
1749
+
1750
+ klass.define_method('numerator')
1751
+
1752
+ klass.define_method('phase')
1753
+
1754
+ klass.define_method('polar')
1755
+
1756
+ klass.define_method('prec') do |method|
1757
+ method.define_argument('klass')
1758
+ end
1759
+
1760
+ klass.define_method('prec_f')
1761
+
1762
+ klass.define_method('prec_i')
1763
+
1764
+ klass.define_method('quo') do |method|
1765
+ method.define_argument('other')
1766
+ end
1767
+
1768
+ klass.define_method('rationalize') do |method|
1769
+ method.define_optional_argument('eps')
1770
+ end
1771
+
1772
+ klass.define_method('real')
1773
+
1774
+ klass.define_method('real?')
1775
+
1776
+ klass.define_method('rect')
1777
+
1778
+ klass.define_method('rectangular')
1779
+
1780
+ klass.define_method('redo_compare') do |method|
1781
+ method.define_argument('meth')
1782
+ method.define_argument('right')
1783
+ end
1784
+
1785
+ klass.define_method('remainder') do |method|
1786
+ method.define_argument('other')
1787
+ end
1788
+
1789
+ klass.define_method('round') do |method|
1790
+ method.define_optional_argument('ndigits')
1791
+ end
1792
+
1793
+ klass.define_method('step') do |method|
1794
+ method.define_argument('limit')
1795
+ method.define_optional_argument('step')
1796
+ end
1797
+
1798
+ klass.define_method('to_c')
1799
+
1800
+ klass.define_method('to_f')
1801
+
1802
+ klass.define_method('to_i')
1803
+
1804
+ klass.define_method('to_int')
1805
+
1806
+ klass.define_method('to_packed') do |method|
1807
+ method.define_argument('size')
1808
+ end
1809
+
1810
+ klass.define_method('to_r')
1811
+
1812
+ klass.define_method('to_s_minimal')
1813
+
1814
+ klass.define_method('truncate')
1815
+
1816
+ klass.define_method('zero?')
1817
+ end
1818
+
1819
+ RubyLint::GlobalScope.definitions.define_constant('Float::MIN_10_EXP') do |klass|
1820
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
1821
+
1822
+ klass.define_method('%') do |method|
1823
+ method.define_argument('o')
1824
+ end
1825
+
1826
+ klass.define_method('&') do |method|
1827
+ method.define_argument('o')
1828
+ end
1829
+
1830
+ klass.define_method('*') do |method|
1831
+ method.define_argument('o')
1832
+ end
1833
+
1834
+ klass.define_method('**') do |method|
1835
+ method.define_argument('o')
1836
+ end
1837
+
1838
+ klass.define_method('+') do |method|
1839
+ method.define_argument('o')
1840
+ end
1841
+
1842
+ klass.define_method('+@')
1843
+
1844
+ klass.define_method('-') do |method|
1845
+ method.define_argument('o')
1846
+ end
1847
+
1848
+ klass.define_method('-@')
1849
+
1850
+ klass.define_method('/') do |method|
1851
+ method.define_argument('o')
1852
+ end
1853
+
1854
+ klass.define_method('<<') do |method|
1855
+ method.define_argument('other')
1856
+ end
1857
+
1858
+ klass.define_method('>>') do |method|
1859
+ method.define_argument('other')
1860
+ end
1861
+
1862
+ klass.define_method('[]') do |method|
1863
+ method.define_argument('index')
1864
+ end
1865
+
1866
+ klass.define_method('^') do |method|
1867
+ method.define_argument('o')
1868
+ end
1869
+
1870
+ klass.define_method('abs')
1871
+
1872
+ klass.define_method('abs2')
1873
+
1874
+ klass.define_method('angle')
1875
+
1876
+ klass.define_method('arg')
1877
+
1878
+ klass.define_method('between?') do |method|
1879
+ method.define_argument('min')
1880
+ method.define_argument('max')
1881
+ end
1882
+
1883
+ klass.define_method('ceil')
1884
+
1885
+ klass.define_method('chr') do |method|
1886
+ method.define_optional_argument('enc')
1887
+ end
1888
+
1889
+ klass.define_method('coerce') do |method|
1890
+ method.define_argument('other')
1891
+ end
1892
+
1893
+ klass.define_method('conj')
1894
+
1895
+ klass.define_method('conjugate')
1896
+
1897
+ klass.define_method('denominator')
1898
+
1899
+ klass.define_method('div') do |method|
1900
+ method.define_argument('o')
1901
+ end
1902
+
1903
+ klass.define_method('divide') do |method|
1904
+ method.define_argument('o')
1905
+ end
1906
+
1907
+ klass.define_method('divmod') do |method|
1908
+ method.define_argument('other')
1909
+ end
1910
+
1911
+ klass.define_method('downto') do |method|
1912
+ method.define_argument('val')
1913
+ end
1914
+
1915
+ klass.define_method('even?')
1916
+
1917
+ klass.define_method('fdiv') do |method|
1918
+ method.define_argument('n')
1919
+ end
1920
+
1921
+ klass.define_method('floor')
1922
+
1923
+ klass.define_method('gcd') do |method|
1924
+ method.define_argument('other')
1925
+ end
1926
+
1927
+ klass.define_method('gcdlcm') do |method|
1928
+ method.define_argument('other')
1929
+ end
1930
+
1931
+ klass.define_method('i')
1932
+
1933
+ klass.define_method('imag')
1934
+
1935
+ klass.define_method('imaginary')
1936
+
1937
+ klass.define_method('integer?')
1938
+
1939
+ klass.define_method('lcm') do |method|
1940
+ method.define_argument('other')
1941
+ end
1942
+
1943
+ klass.define_method('magnitude')
1944
+
1945
+ klass.define_method('modulo') do |method|
1946
+ method.define_argument('o')
1947
+ end
1948
+
1949
+ klass.define_method('next')
1950
+
1951
+ klass.define_method('nonzero?')
1952
+
1953
+ klass.define_method('numerator')
1954
+
1955
+ klass.define_method('odd?')
1956
+
1957
+ klass.define_method('ord')
1958
+
1959
+ klass.define_method('phase')
1960
+
1961
+ klass.define_method('polar')
1962
+
1963
+ klass.define_method('prec') do |method|
1964
+ method.define_argument('klass')
1965
+ end
1966
+
1967
+ klass.define_method('prec_f')
1968
+
1969
+ klass.define_method('prec_i')
1970
+
1971
+ klass.define_method('pred')
1972
+
1973
+ klass.define_method('quo') do |method|
1974
+ method.define_argument('other')
1975
+ end
1976
+
1977
+ klass.define_method('rationalize') do |method|
1978
+ method.define_optional_argument('eps')
1979
+ end
1980
+
1981
+ klass.define_method('real')
1982
+
1983
+ klass.define_method('real?')
1984
+
1985
+ klass.define_method('rect')
1986
+
1987
+ klass.define_method('rectangular')
1988
+
1989
+ klass.define_method('redo_compare') do |method|
1990
+ method.define_argument('meth')
1991
+ method.define_argument('right')
1992
+ end
1993
+
1994
+ klass.define_method('remainder') do |method|
1995
+ method.define_argument('other')
1996
+ end
1997
+
1998
+ klass.define_method('round') do |method|
1999
+ method.define_optional_argument('ndigits')
2000
+ end
2001
+
2002
+ klass.define_method('size')
2003
+
2004
+ klass.define_method('step') do |method|
2005
+ method.define_argument('limit')
2006
+ method.define_optional_argument('step')
2007
+ end
2008
+
2009
+ klass.define_method('succ')
2010
+
2011
+ klass.define_method('times')
2012
+
2013
+ klass.define_method('to_c')
2014
+
2015
+ klass.define_method('to_f')
2016
+
2017
+ klass.define_method('to_i')
2018
+
2019
+ klass.define_method('to_int')
2020
+
2021
+ klass.define_method('to_r')
2022
+
2023
+ klass.define_method('truncate')
2024
+
2025
+ klass.define_method('upto') do |method|
2026
+ method.define_argument('val')
2027
+ end
2028
+
2029
+ klass.define_method('zero?')
2030
+
2031
+ klass.define_method('|') do |method|
2032
+ method.define_argument('o')
2033
+ end
2034
+
2035
+ klass.define_method('~')
2036
+ end
2037
+
2038
+ RubyLint::GlobalScope.definitions.define_constant('Float::MIN_EXP') do |klass|
2039
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
2040
+
2041
+ klass.define_method('%') do |method|
2042
+ method.define_argument('o')
2043
+ end
2044
+
2045
+ klass.define_method('&') do |method|
2046
+ method.define_argument('o')
2047
+ end
2048
+
2049
+ klass.define_method('*') do |method|
2050
+ method.define_argument('o')
2051
+ end
2052
+
2053
+ klass.define_method('**') do |method|
2054
+ method.define_argument('o')
2055
+ end
2056
+
2057
+ klass.define_method('+') do |method|
2058
+ method.define_argument('o')
2059
+ end
2060
+
2061
+ klass.define_method('+@')
2062
+
2063
+ klass.define_method('-') do |method|
2064
+ method.define_argument('o')
2065
+ end
2066
+
2067
+ klass.define_method('-@')
2068
+
2069
+ klass.define_method('/') do |method|
2070
+ method.define_argument('o')
2071
+ end
2072
+
2073
+ klass.define_method('<<') do |method|
2074
+ method.define_argument('other')
2075
+ end
2076
+
2077
+ klass.define_method('>>') do |method|
2078
+ method.define_argument('other')
2079
+ end
2080
+
2081
+ klass.define_method('[]') do |method|
2082
+ method.define_argument('index')
2083
+ end
2084
+
2085
+ klass.define_method('^') do |method|
2086
+ method.define_argument('o')
2087
+ end
2088
+
2089
+ klass.define_method('abs')
2090
+
2091
+ klass.define_method('abs2')
2092
+
2093
+ klass.define_method('angle')
2094
+
2095
+ klass.define_method('arg')
2096
+
2097
+ klass.define_method('between?') do |method|
2098
+ method.define_argument('min')
2099
+ method.define_argument('max')
2100
+ end
2101
+
2102
+ klass.define_method('ceil')
2103
+
2104
+ klass.define_method('chr') do |method|
2105
+ method.define_optional_argument('enc')
2106
+ end
2107
+
2108
+ klass.define_method('coerce') do |method|
2109
+ method.define_argument('other')
2110
+ end
2111
+
2112
+ klass.define_method('conj')
2113
+
2114
+ klass.define_method('conjugate')
2115
+
2116
+ klass.define_method('denominator')
2117
+
2118
+ klass.define_method('div') do |method|
2119
+ method.define_argument('o')
2120
+ end
2121
+
2122
+ klass.define_method('divide') do |method|
2123
+ method.define_argument('o')
2124
+ end
2125
+
2126
+ klass.define_method('divmod') do |method|
2127
+ method.define_argument('other')
2128
+ end
2129
+
2130
+ klass.define_method('downto') do |method|
2131
+ method.define_argument('val')
2132
+ end
2133
+
2134
+ klass.define_method('even?')
2135
+
2136
+ klass.define_method('fdiv') do |method|
2137
+ method.define_argument('n')
2138
+ end
2139
+
2140
+ klass.define_method('floor')
2141
+
2142
+ klass.define_method('gcd') do |method|
2143
+ method.define_argument('other')
2144
+ end
2145
+
2146
+ klass.define_method('gcdlcm') do |method|
2147
+ method.define_argument('other')
2148
+ end
2149
+
2150
+ klass.define_method('i')
2151
+
2152
+ klass.define_method('imag')
2153
+
2154
+ klass.define_method('imaginary')
2155
+
2156
+ klass.define_method('integer?')
2157
+
2158
+ klass.define_method('lcm') do |method|
2159
+ method.define_argument('other')
2160
+ end
2161
+
2162
+ klass.define_method('magnitude')
2163
+
2164
+ klass.define_method('modulo') do |method|
2165
+ method.define_argument('o')
2166
+ end
2167
+
2168
+ klass.define_method('next')
2169
+
2170
+ klass.define_method('nonzero?')
2171
+
2172
+ klass.define_method('numerator')
2173
+
2174
+ klass.define_method('odd?')
2175
+
2176
+ klass.define_method('ord')
2177
+
2178
+ klass.define_method('phase')
2179
+
2180
+ klass.define_method('polar')
2181
+
2182
+ klass.define_method('prec') do |method|
2183
+ method.define_argument('klass')
2184
+ end
2185
+
2186
+ klass.define_method('prec_f')
2187
+
2188
+ klass.define_method('prec_i')
2189
+
2190
+ klass.define_method('pred')
2191
+
2192
+ klass.define_method('quo') do |method|
2193
+ method.define_argument('other')
2194
+ end
2195
+
2196
+ klass.define_method('rationalize') do |method|
2197
+ method.define_optional_argument('eps')
2198
+ end
2199
+
2200
+ klass.define_method('real')
2201
+
2202
+ klass.define_method('real?')
2203
+
2204
+ klass.define_method('rect')
2205
+
2206
+ klass.define_method('rectangular')
2207
+
2208
+ klass.define_method('redo_compare') do |method|
2209
+ method.define_argument('meth')
2210
+ method.define_argument('right')
2211
+ end
2212
+
2213
+ klass.define_method('remainder') do |method|
2214
+ method.define_argument('other')
2215
+ end
2216
+
2217
+ klass.define_method('round') do |method|
2218
+ method.define_optional_argument('ndigits')
2219
+ end
2220
+
2221
+ klass.define_method('size')
2222
+
2223
+ klass.define_method('step') do |method|
2224
+ method.define_argument('limit')
2225
+ method.define_optional_argument('step')
2226
+ end
2227
+
2228
+ klass.define_method('succ')
2229
+
2230
+ klass.define_method('times')
2231
+
2232
+ klass.define_method('to_c')
2233
+
2234
+ klass.define_method('to_f')
2235
+
2236
+ klass.define_method('to_i')
2237
+
2238
+ klass.define_method('to_int')
2239
+
2240
+ klass.define_method('to_r')
2241
+
2242
+ klass.define_method('truncate')
2243
+
2244
+ klass.define_method('upto') do |method|
2245
+ method.define_argument('val')
2246
+ end
2247
+
2248
+ klass.define_method('zero?')
2249
+
2250
+ klass.define_method('|') do |method|
2251
+ method.define_argument('o')
2252
+ end
2253
+
2254
+ klass.define_method('~')
2255
+ end
2256
+
2257
+ RubyLint::GlobalScope.definitions.define_constant('Float::NAN') do |klass|
2258
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
2259
+
2260
+ klass.define_method('%') do |method|
2261
+ method.define_argument('other')
2262
+ end
2263
+
2264
+ klass.define_method('*') do |method|
2265
+ method.define_argument('other')
2266
+ end
2267
+
2268
+ klass.define_method('**') do |method|
2269
+ method.define_argument('other')
2270
+ end
2271
+
2272
+ klass.define_method('+') do |method|
2273
+ method.define_argument('other')
2274
+ end
2275
+
2276
+ klass.define_method('+@')
2277
+
2278
+ klass.define_method('-') do |method|
2279
+ method.define_argument('other')
2280
+ end
2281
+
2282
+ klass.define_method('-@')
2283
+
2284
+ klass.define_method('/') do |method|
2285
+ method.define_argument('other')
2286
+ end
2287
+
2288
+ klass.define_method('abs')
2289
+
2290
+ klass.define_method('abs2')
2291
+
2292
+ klass.define_method('angle')
2293
+
2294
+ klass.define_method('arg')
2295
+
2296
+ klass.define_method('between?') do |method|
2297
+ method.define_argument('min')
2298
+ method.define_argument('max')
2299
+ end
2300
+
2301
+ klass.define_method('ceil')
2302
+
2303
+ klass.define_method('coerce') do |method|
2304
+ method.define_argument('other')
2305
+ end
2306
+
2307
+ klass.define_method('conj')
2308
+
2309
+ klass.define_method('conjugate')
2310
+
2311
+ klass.define_method('denominator')
2312
+
2313
+ klass.define_method('div') do |method|
2314
+ method.define_argument('other')
2315
+ end
2316
+
2317
+ klass.define_method('divide') do |method|
2318
+ method.define_argument('other')
2319
+ end
2320
+
2321
+ klass.define_method('divmod') do |method|
2322
+ method.define_argument('other')
2323
+ end
2324
+
2325
+ klass.define_method('dtoa')
2326
+
2327
+ klass.define_method('fdiv') do |method|
2328
+ method.define_argument('other')
2329
+ end
2330
+
2331
+ klass.define_method('finite?')
2332
+
2333
+ klass.define_method('floor')
2334
+
2335
+ klass.define_method('i')
2336
+
2337
+ klass.define_method('imag')
2338
+
2339
+ klass.define_method('imaginary')
2340
+
2341
+ klass.define_method('infinite?')
2342
+
2343
+ klass.define_method('integer?')
2344
+
2345
+ klass.define_method('magnitude')
2346
+
2347
+ klass.define_method('modulo') do |method|
2348
+ method.define_argument('other')
2349
+ end
2350
+
2351
+ klass.define_method('nan?')
2352
+
2353
+ klass.define_method('negative?')
2354
+
2355
+ klass.define_method('nonzero?')
2356
+
2357
+ klass.define_method('numerator')
2358
+
2359
+ klass.define_method('phase')
2360
+
2361
+ klass.define_method('polar')
2362
+
2363
+ klass.define_method('prec') do |method|
2364
+ method.define_argument('klass')
2365
+ end
2366
+
2367
+ klass.define_method('prec_f')
2368
+
2369
+ klass.define_method('prec_i')
2370
+
2371
+ klass.define_method('quo') do |method|
2372
+ method.define_argument('other')
2373
+ end
2374
+
2375
+ klass.define_method('rationalize') do |method|
2376
+ method.define_optional_argument('eps')
2377
+ end
2378
+
2379
+ klass.define_method('real')
2380
+
2381
+ klass.define_method('real?')
2382
+
2383
+ klass.define_method('rect')
2384
+
2385
+ klass.define_method('rectangular')
2386
+
2387
+ klass.define_method('redo_compare') do |method|
2388
+ method.define_argument('meth')
2389
+ method.define_argument('right')
2390
+ end
2391
+
2392
+ klass.define_method('remainder') do |method|
2393
+ method.define_argument('other')
2394
+ end
2395
+
2396
+ klass.define_method('round') do |method|
2397
+ method.define_optional_argument('ndigits')
2398
+ end
2399
+
2400
+ klass.define_method('step') do |method|
2401
+ method.define_argument('limit')
2402
+ method.define_optional_argument('step')
2403
+ end
2404
+
2405
+ klass.define_method('to_c')
2406
+
2407
+ klass.define_method('to_f')
2408
+
2409
+ klass.define_method('to_i')
2410
+
2411
+ klass.define_method('to_int')
2412
+
2413
+ klass.define_method('to_packed') do |method|
2414
+ method.define_argument('size')
2415
+ end
2416
+
2417
+ klass.define_method('to_r')
2418
+
2419
+ klass.define_method('to_s_minimal')
2420
+
2421
+ klass.define_method('truncate')
2422
+
2423
+ klass.define_method('zero?')
2424
+ end
2425
+
2426
+ RubyLint::GlobalScope.definitions.define_constant('Float::RADIX') do |klass|
2427
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
2428
+
2429
+ klass.define_method('%') do |method|
2430
+ method.define_argument('o')
2431
+ end
2432
+
2433
+ klass.define_method('&') do |method|
2434
+ method.define_argument('o')
2435
+ end
2436
+
2437
+ klass.define_method('*') do |method|
2438
+ method.define_argument('o')
2439
+ end
2440
+
2441
+ klass.define_method('**') do |method|
2442
+ method.define_argument('o')
2443
+ end
2444
+
2445
+ klass.define_method('+') do |method|
2446
+ method.define_argument('o')
2447
+ end
2448
+
2449
+ klass.define_method('+@')
2450
+
2451
+ klass.define_method('-') do |method|
2452
+ method.define_argument('o')
2453
+ end
2454
+
2455
+ klass.define_method('-@')
2456
+
2457
+ klass.define_method('/') do |method|
2458
+ method.define_argument('o')
2459
+ end
2460
+
2461
+ klass.define_method('<<') do |method|
2462
+ method.define_argument('other')
2463
+ end
2464
+
2465
+ klass.define_method('>>') do |method|
2466
+ method.define_argument('other')
2467
+ end
2468
+
2469
+ klass.define_method('[]') do |method|
2470
+ method.define_argument('index')
2471
+ end
2472
+
2473
+ klass.define_method('^') do |method|
2474
+ method.define_argument('o')
2475
+ end
2476
+
2477
+ klass.define_method('abs')
2478
+
2479
+ klass.define_method('abs2')
2480
+
2481
+ klass.define_method('angle')
2482
+
2483
+ klass.define_method('arg')
2484
+
2485
+ klass.define_method('between?') do |method|
2486
+ method.define_argument('min')
2487
+ method.define_argument('max')
2488
+ end
2489
+
2490
+ klass.define_method('ceil')
2491
+
2492
+ klass.define_method('chr') do |method|
2493
+ method.define_optional_argument('enc')
2494
+ end
2495
+
2496
+ klass.define_method('coerce') do |method|
2497
+ method.define_argument('other')
2498
+ end
2499
+
2500
+ klass.define_method('conj')
2501
+
2502
+ klass.define_method('conjugate')
2503
+
2504
+ klass.define_method('denominator')
2505
+
2506
+ klass.define_method('div') do |method|
2507
+ method.define_argument('o')
2508
+ end
2509
+
2510
+ klass.define_method('divide') do |method|
2511
+ method.define_argument('o')
2512
+ end
2513
+
2514
+ klass.define_method('divmod') do |method|
2515
+ method.define_argument('other')
2516
+ end
2517
+
2518
+ klass.define_method('downto') do |method|
2519
+ method.define_argument('val')
2520
+ end
2521
+
2522
+ klass.define_method('even?')
2523
+
2524
+ klass.define_method('fdiv') do |method|
2525
+ method.define_argument('n')
2526
+ end
2527
+
2528
+ klass.define_method('floor')
2529
+
2530
+ klass.define_method('gcd') do |method|
2531
+ method.define_argument('other')
2532
+ end
2533
+
2534
+ klass.define_method('gcdlcm') do |method|
2535
+ method.define_argument('other')
2536
+ end
2537
+
2538
+ klass.define_method('i')
2539
+
2540
+ klass.define_method('imag')
2541
+
2542
+ klass.define_method('imaginary')
2543
+
2544
+ klass.define_method('integer?')
2545
+
2546
+ klass.define_method('lcm') do |method|
2547
+ method.define_argument('other')
2548
+ end
2549
+
2550
+ klass.define_method('magnitude')
2551
+
2552
+ klass.define_method('modulo') do |method|
2553
+ method.define_argument('o')
2554
+ end
2555
+
2556
+ klass.define_method('next')
2557
+
2558
+ klass.define_method('nonzero?')
2559
+
2560
+ klass.define_method('numerator')
2561
+
2562
+ klass.define_method('odd?')
2563
+
2564
+ klass.define_method('ord')
2565
+
2566
+ klass.define_method('phase')
2567
+
2568
+ klass.define_method('polar')
2569
+
2570
+ klass.define_method('prec') do |method|
2571
+ method.define_argument('klass')
2572
+ end
2573
+
2574
+ klass.define_method('prec_f')
2575
+
2576
+ klass.define_method('prec_i')
2577
+
2578
+ klass.define_method('pred')
2579
+
2580
+ klass.define_method('quo') do |method|
2581
+ method.define_argument('other')
2582
+ end
2583
+
2584
+ klass.define_method('rationalize') do |method|
2585
+ method.define_optional_argument('eps')
2586
+ end
2587
+
2588
+ klass.define_method('real')
2589
+
2590
+ klass.define_method('real?')
2591
+
2592
+ klass.define_method('rect')
2593
+
2594
+ klass.define_method('rectangular')
2595
+
2596
+ klass.define_method('redo_compare') do |method|
2597
+ method.define_argument('meth')
2598
+ method.define_argument('right')
2599
+ end
2600
+
2601
+ klass.define_method('remainder') do |method|
2602
+ method.define_argument('other')
2603
+ end
2604
+
2605
+ klass.define_method('round') do |method|
2606
+ method.define_optional_argument('ndigits')
2607
+ end
2608
+
2609
+ klass.define_method('size')
2610
+
2611
+ klass.define_method('step') do |method|
2612
+ method.define_argument('limit')
2613
+ method.define_optional_argument('step')
2614
+ end
2615
+
2616
+ klass.define_method('succ')
2617
+
2618
+ klass.define_method('times')
2619
+
2620
+ klass.define_method('to_c')
2621
+
2622
+ klass.define_method('to_f')
2623
+
2624
+ klass.define_method('to_i')
2625
+
2626
+ klass.define_method('to_int')
2627
+
2628
+ klass.define_method('to_r')
2629
+
2630
+ klass.define_method('truncate')
2631
+
2632
+ klass.define_method('upto') do |method|
2633
+ method.define_argument('val')
2634
+ end
2635
+
2636
+ klass.define_method('zero?')
2637
+
2638
+ klass.define_method('|') do |method|
2639
+ method.define_argument('o')
2640
+ end
2641
+
2642
+ klass.define_method('~')
2643
+ end
2644
+
2645
+ RubyLint::GlobalScope.definitions.define_constant('Float::ROUNDS') do |klass|
2646
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
2647
+
2648
+ klass.define_method('%') do |method|
2649
+ method.define_argument('o')
2650
+ end
2651
+
2652
+ klass.define_method('&') do |method|
2653
+ method.define_argument('o')
2654
+ end
2655
+
2656
+ klass.define_method('*') do |method|
2657
+ method.define_argument('o')
2658
+ end
2659
+
2660
+ klass.define_method('**') do |method|
2661
+ method.define_argument('o')
2662
+ end
2663
+
2664
+ klass.define_method('+') do |method|
2665
+ method.define_argument('o')
2666
+ end
2667
+
2668
+ klass.define_method('+@')
2669
+
2670
+ klass.define_method('-') do |method|
2671
+ method.define_argument('o')
2672
+ end
2673
+
2674
+ klass.define_method('-@')
2675
+
2676
+ klass.define_method('/') do |method|
2677
+ method.define_argument('o')
2678
+ end
2679
+
2680
+ klass.define_method('<<') do |method|
2681
+ method.define_argument('other')
2682
+ end
2683
+
2684
+ klass.define_method('>>') do |method|
2685
+ method.define_argument('other')
2686
+ end
2687
+
2688
+ klass.define_method('[]') do |method|
2689
+ method.define_argument('index')
2690
+ end
2691
+
2692
+ klass.define_method('^') do |method|
2693
+ method.define_argument('o')
2694
+ end
2695
+
2696
+ klass.define_method('abs')
2697
+
2698
+ klass.define_method('abs2')
2699
+
2700
+ klass.define_method('angle')
2701
+
2702
+ klass.define_method('arg')
2703
+
2704
+ klass.define_method('between?') do |method|
2705
+ method.define_argument('min')
2706
+ method.define_argument('max')
2707
+ end
2708
+
2709
+ klass.define_method('ceil')
2710
+
2711
+ klass.define_method('chr') do |method|
2712
+ method.define_optional_argument('enc')
2713
+ end
2714
+
2715
+ klass.define_method('coerce') do |method|
2716
+ method.define_argument('other')
2717
+ end
2718
+
2719
+ klass.define_method('conj')
2720
+
2721
+ klass.define_method('conjugate')
2722
+
2723
+ klass.define_method('denominator')
2724
+
2725
+ klass.define_method('div') do |method|
2726
+ method.define_argument('o')
2727
+ end
2728
+
2729
+ klass.define_method('divide') do |method|
2730
+ method.define_argument('o')
2731
+ end
2732
+
2733
+ klass.define_method('divmod') do |method|
2734
+ method.define_argument('other')
2735
+ end
2736
+
2737
+ klass.define_method('downto') do |method|
2738
+ method.define_argument('val')
2739
+ end
2740
+
2741
+ klass.define_method('even?')
2742
+
2743
+ klass.define_method('fdiv') do |method|
2744
+ method.define_argument('n')
2745
+ end
2746
+
2747
+ klass.define_method('floor')
2748
+
2749
+ klass.define_method('gcd') do |method|
2750
+ method.define_argument('other')
2751
+ end
2752
+
2753
+ klass.define_method('gcdlcm') do |method|
2754
+ method.define_argument('other')
2755
+ end
2756
+
2757
+ klass.define_method('i')
2758
+
2759
+ klass.define_method('imag')
2760
+
2761
+ klass.define_method('imaginary')
2762
+
2763
+ klass.define_method('integer?')
2764
+
2765
+ klass.define_method('lcm') do |method|
2766
+ method.define_argument('other')
2767
+ end
2768
+
2769
+ klass.define_method('magnitude')
2770
+
2771
+ klass.define_method('modulo') do |method|
2772
+ method.define_argument('o')
2773
+ end
2774
+
2775
+ klass.define_method('next')
2776
+
2777
+ klass.define_method('nonzero?')
2778
+
2779
+ klass.define_method('numerator')
2780
+
2781
+ klass.define_method('odd?')
2782
+
2783
+ klass.define_method('ord')
2784
+
2785
+ klass.define_method('phase')
2786
+
2787
+ klass.define_method('polar')
2788
+
2789
+ klass.define_method('prec') do |method|
2790
+ method.define_argument('klass')
2791
+ end
2792
+
2793
+ klass.define_method('prec_f')
2794
+
2795
+ klass.define_method('prec_i')
2796
+
2797
+ klass.define_method('pred')
2798
+
2799
+ klass.define_method('quo') do |method|
2800
+ method.define_argument('other')
2801
+ end
2802
+
2803
+ klass.define_method('rationalize') do |method|
2804
+ method.define_optional_argument('eps')
2805
+ end
2806
+
2807
+ klass.define_method('real')
2808
+
2809
+ klass.define_method('real?')
2810
+
2811
+ klass.define_method('rect')
2812
+
2813
+ klass.define_method('rectangular')
2814
+
2815
+ klass.define_method('redo_compare') do |method|
2816
+ method.define_argument('meth')
2817
+ method.define_argument('right')
2818
+ end
2819
+
2820
+ klass.define_method('remainder') do |method|
2821
+ method.define_argument('other')
2822
+ end
2823
+
2824
+ klass.define_method('round') do |method|
2825
+ method.define_optional_argument('ndigits')
2826
+ end
2827
+
2828
+ klass.define_method('size')
2829
+
2830
+ klass.define_method('step') do |method|
2831
+ method.define_argument('limit')
2832
+ method.define_optional_argument('step')
2833
+ end
2834
+
2835
+ klass.define_method('succ')
2836
+
2837
+ klass.define_method('times')
2838
+
2839
+ klass.define_method('to_c')
2840
+
2841
+ klass.define_method('to_f')
2842
+
2843
+ klass.define_method('to_i')
2844
+
2845
+ klass.define_method('to_int')
2846
+
2847
+ klass.define_method('to_r')
2848
+
2849
+ klass.define_method('truncate')
2850
+
2851
+ klass.define_method('upto') do |method|
2852
+ method.define_argument('val')
2853
+ end
2854
+
2855
+ klass.define_method('zero?')
2856
+
2857
+ klass.define_method('|') do |method|
2858
+ method.define_argument('o')
2859
+ end
2860
+
2861
+ klass.define_method('~')
307
2862
  end
308
2863
 
309
- RubyLint::GlobalScope.definitions.lookup(:const, 'Float').deep_freeze
2864
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Float').deep_freeze