ruby-lint 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +2 -5
  4. data/Gemfile +9 -4
  5. data/MANIFEST +32 -28
  6. data/README.md +18 -5
  7. data/Rakefile +7 -3
  8. data/checksum/ruby-lint-1.0.2.gem.sha512 +1 -0
  9. data/checksum/ruby-lint-1.0.3.gem.sha512 +1 -0
  10. data/doc/changelog.md +40 -0
  11. data/doc/definitions.md +182 -0
  12. data/gen/rails/constants.txt +12 -0
  13. data/gen/rails/requires.rb +2 -0
  14. data/gen/stdlib/constants.rb +30 -0
  15. data/gen/stdlib/constants.txt +214 -0
  16. data/gen/stdlib/requires.rb +64 -0
  17. data/lib/ruby-lint.rb +7 -14
  18. data/lib/ruby-lint/analysis/undefined_methods.rb +8 -1
  19. data/lib/ruby-lint/analysis/useless_equality_checks.rb +92 -0
  20. data/lib/ruby-lint/cli.rb +1 -2
  21. data/lib/ruby-lint/cli/analyze.rb +55 -26
  22. data/lib/ruby-lint/cli/cache.rb +60 -0
  23. data/lib/ruby-lint/configuration.rb +10 -4
  24. data/lib/ruby-lint/constant_loader.rb +75 -22
  25. data/lib/ruby-lint/definition/constant_proxy.rb +51 -3
  26. data/lib/ruby-lint/definition/registry.rb +126 -0
  27. data/lib/ruby-lint/definition/ruby_method.rb +0 -11
  28. data/lib/ruby-lint/definition/ruby_object.rb +32 -24
  29. data/lib/ruby-lint/definition_builder/base.rb +9 -12
  30. data/lib/ruby-lint/definition_builder/primitive.rb +1 -1
  31. data/lib/ruby-lint/definition_builder/ruby_array.rb +1 -1
  32. data/lib/ruby-lint/definition_builder/ruby_block.rb +3 -3
  33. data/lib/ruby-lint/definition_builder/ruby_class.rb +2 -2
  34. data/lib/ruby-lint/definition_builder/ruby_hash.rb +1 -1
  35. data/lib/ruby-lint/definition_builder/ruby_method.rb +1 -1
  36. data/lib/ruby-lint/definition_builder/ruby_module.rb +4 -4
  37. data/lib/ruby-lint/definition_generator.rb +12 -2
  38. data/lib/ruby-lint/definitions/core/abbrev.rb +8 -11
  39. data/lib/ruby-lint/definitions/core/argf.rb +9 -7
  40. data/lib/ruby-lint/definitions/core/argument_error.rb +8 -10
  41. data/lib/ruby-lint/definitions/core/argv.rb +9 -9
  42. data/lib/ruby-lint/definitions/core/array.rb +296 -534
  43. data/lib/ruby-lint/definitions/core/base64.rb +22 -25
  44. data/lib/ruby-lint/definitions/core/basic_object.rb +30 -30
  45. data/lib/ruby-lint/definitions/core/basic_socket.rb +341 -455
  46. data/lib/ruby-lint/definitions/core/benchmark.rb +157 -24
  47. data/lib/ruby-lint/definitions/core/bignum.rb +110 -95
  48. data/lib/ruby-lint/definitions/core/binding.rb +38 -35
  49. data/lib/ruby-lint/definitions/core/cgi.rb +333 -49
  50. data/lib/ruby-lint/definitions/core/class.rb +16 -16
  51. data/lib/ruby-lint/definitions/core/common_headers.rb +4 -548
  52. data/lib/ruby-lint/definitions/core/common_libs.rb +4 -421
  53. data/lib/ruby-lint/definitions/core/comparable.rb +28 -29
  54. data/lib/ruby-lint/definitions/core/complex.rb +103 -141
  55. data/lib/ruby-lint/definitions/core/condition_variable.rb +14 -14
  56. data/lib/ruby-lint/definitions/core/config.rb +4 -318
  57. data/lib/ruby-lint/definitions/core/conftest_c.rb +4 -548
  58. data/lib/ruby-lint/definitions/core/coutflag.rb +4 -548
  59. data/lib/ruby-lint/definitions/core/csv.rb +729 -329
  60. data/lib/ruby-lint/definitions/core/data.rb +9 -8
  61. data/lib/ruby-lint/definitions/core/date.rb +452 -526
  62. data/lib/ruby-lint/definitions/core/date_time.rb +234 -303
  63. data/lib/ruby-lint/definitions/core/delegator.rb +57 -48
  64. data/lib/ruby-lint/definitions/core/digest.rb +94 -115
  65. data/lib/ruby-lint/definitions/core/dir.rb +89 -459
  66. data/lib/ruby-lint/definitions/core/drb.rb +531 -36
  67. data/lib/ruby-lint/definitions/core/drb_id_conv.rb +10 -19
  68. data/lib/ruby-lint/definitions/core/drb_object.rb +53 -58
  69. data/lib/ruby-lint/definitions/core/drb_undumped.rb +7 -10
  70. data/lib/ruby-lint/definitions/core/encoding.rb +1026 -1718
  71. data/lib/ruby-lint/definitions/core/encoding_error.rb +9 -8
  72. data/lib/ruby-lint/definitions/core/enumerable.rb +123 -292
  73. data/lib/ruby-lint/definitions/core/enumerator.rb +28 -26
  74. data/lib/ruby-lint/definitions/core/env.rb +8 -9
  75. data/lib/ruby-lint/definitions/core/eoferror.rb +9 -8
  76. data/lib/ruby-lint/definitions/core/erb.rb +201 -226
  77. data/lib/ruby-lint/definitions/core/errno.rb +1593 -2917
  78. data/lib/ruby-lint/definitions/core/etc.rb +86 -107
  79. data/lib/ruby-lint/definitions/core/exception.rb +70 -50
  80. data/lib/ruby-lint/definitions/core/exception_for_matrix.rb +24 -37
  81. data/lib/ruby-lint/definitions/core/export_prefix.rb +4 -16
  82. data/lib/ruby-lint/definitions/core/failed_message.rb +4 -548
  83. data/lib/ruby-lint/definitions/core/false.rb +9 -7
  84. data/lib/ruby-lint/definitions/core/false_class.rb +40 -22
  85. data/lib/ruby-lint/definitions/core/fcntl.rb +120 -7
  86. data/lib/ruby-lint/definitions/core/fiber.rb +25 -26
  87. data/lib/ruby-lint/definitions/core/fiber_error.rb +9 -8
  88. data/lib/ruby-lint/definitions/core/file.rb +1119 -860
  89. data/lib/ruby-lint/definitions/core/file_test.rb +79 -80
  90. data/lib/ruby-lint/definitions/core/file_utils.rb +1203 -765
  91. data/lib/ruby-lint/definitions/core/find.rb +9 -12
  92. data/lib/ruby-lint/definitions/core/fixnum.rb +113 -663
  93. data/lib/ruby-lint/definitions/core/float.rb +171 -2755
  94. data/lib/ruby-lint/definitions/core/float_domain_error.rb +9 -8
  95. data/lib/ruby-lint/definitions/core/forwardable.rb +37 -30
  96. data/lib/ruby-lint/definitions/core/gc.rb +31 -38
  97. data/lib/ruby-lint/definitions/core/gem.rb +2324 -2183
  98. data/lib/ruby-lint/definitions/core/getopt_long.rb +107 -32
  99. data/lib/ruby-lint/definitions/core/gserver.rb +61 -61
  100. data/lib/ruby-lint/definitions/core/hash.rb +354 -1172
  101. data/lib/ruby-lint/definitions/core/hdr_ext.rb +4 -421
  102. data/lib/ruby-lint/definitions/core/index_error.rb +9 -8
  103. data/lib/ruby-lint/definitions/core/install_dirs.rb +4 -421
  104. data/lib/ruby-lint/definitions/core/integer.rb +93 -67
  105. data/lib/ruby-lint/definitions/core/interrupt.rb +11 -11
  106. data/lib/ruby-lint/definitions/core/io.rb +574 -673
  107. data/lib/ruby-lint/definitions/core/ioerror.rb +9 -8
  108. data/lib/ruby-lint/definitions/core/ipaddr.rb +115 -90
  109. data/lib/ruby-lint/definitions/core/ipsocket.rb +301 -472
  110. data/lib/ruby-lint/definitions/core/irb.rb +1206 -34
  111. data/lib/ruby-lint/definitions/core/json.rb +483 -74
  112. data/lib/ruby-lint/definitions/core/kconv.rb +88 -36
  113. data/lib/ruby-lint/definitions/core/kernel.rb +408 -412
  114. data/lib/ruby-lint/definitions/core/key_error.rb +9 -8
  115. data/lib/ruby-lint/definitions/core/libarg.rb +4 -548
  116. data/lib/ruby-lint/definitions/core/libpathflag.rb +4 -548
  117. data/lib/ruby-lint/definitions/core/link_so.rb +4 -548
  118. data/lib/ruby-lint/definitions/core/load_error.rb +24 -25
  119. data/lib/ruby-lint/definitions/core/local_jump_error.rb +9 -8
  120. data/lib/ruby-lint/definitions/core/logger.rb +294 -61
  121. data/lib/ruby-lint/definitions/core/logging.rb +17 -20
  122. data/lib/ruby-lint/definitions/core/make_makefile.rb +548 -384
  123. data/lib/ruby-lint/definitions/core/marshal.rb +260 -358
  124. data/lib/ruby-lint/definitions/core/match_data.rb +51 -48
  125. data/lib/ruby-lint/definitions/core/math.rb +170 -178
  126. data/lib/ruby-lint/definitions/core/matrix.rb +354 -297
  127. data/lib/ruby-lint/definitions/core/method.rb +41 -42
  128. data/lib/ruby-lint/definitions/core/module.rb +219 -223
  129. data/lib/ruby-lint/definitions/core/monitor.rb +26 -28
  130. data/lib/ruby-lint/definitions/core/monitor_mixin.rb +36 -42
  131. data/lib/ruby-lint/definitions/core/mutex.rb +20 -22
  132. data/lib/ruby-lint/definitions/core/mutex_m.rb +24 -27
  133. data/lib/ruby-lint/definitions/core/name_error.rb +13 -13
  134. data/lib/ruby-lint/definitions/core/nil.rb +9 -7
  135. data/lib/ruby-lint/definitions/core/nil_class.rb +47 -31
  136. data/lib/ruby-lint/definitions/core/nkf.rb +76 -9
  137. data/lib/ruby-lint/definitions/core/no_memory_error.rb +9 -8
  138. data/lib/ruby-lint/definitions/core/no_method_error.rb +14 -14
  139. data/lib/ruby-lint/definitions/core/not_implemented_error.rb +9 -8
  140. data/lib/ruby-lint/definitions/core/numeric.rb +88 -80
  141. data/lib/ruby-lint/definitions/core/object.rb +20 -20
  142. data/lib/ruby-lint/definitions/core/object_space.rb +28 -31
  143. data/lib/ruby-lint/definitions/core/observable.rb +20 -23
  144. data/lib/ruby-lint/definitions/core/open3.rb +47 -50
  145. data/lib/ruby-lint/definitions/core/open_ssl.rb +4158 -13
  146. data/lib/ruby-lint/definitions/core/open_struct.rb +40 -37
  147. data/lib/ruby-lint/definitions/core/open_uri.rb +142 -25
  148. data/lib/ruby-lint/definitions/core/option_parser.rb +919 -981
  149. data/lib/ruby-lint/definitions/core/orig_libpath.rb +4 -32
  150. data/lib/ruby-lint/definitions/core/outflag.rb +4 -548
  151. data/lib/ruby-lint/definitions/core/pathname.rb +211 -186
  152. data/lib/ruby-lint/definitions/core/pp.rb +160 -99
  153. data/lib/ruby-lint/definitions/core/pretty_print.rb +170 -56
  154. data/lib/ruby-lint/definitions/core/prime.rb +329 -234
  155. data/lib/ruby-lint/definitions/core/proc.rb +63 -75
  156. data/lib/ruby-lint/definitions/core/process.rb +504 -412
  157. data/lib/ruby-lint/definitions/core/profiler__.rb +13 -16
  158. data/lib/ruby-lint/definitions/core/pstore.rb +66 -36
  159. data/lib/ruby-lint/definitions/core/queue.rb +32 -32
  160. data/lib/ruby-lint/definitions/core/random.rb +29 -29
  161. data/lib/ruby-lint/definitions/core/range.rb +123 -77
  162. data/lib/ruby-lint/definitions/core/range_error.rb +9 -8
  163. data/lib/ruby-lint/definitions/core/rational.rb +84 -67
  164. data/lib/ruby-lint/definitions/core/rb_config.rb +18 -29
  165. data/lib/ruby-lint/definitions/core/readline.rb +85 -41
  166. data/lib/ruby-lint/definitions/core/regexp.rb +239 -293
  167. data/lib/ruby-lint/definitions/core/regexp_error.rb +9 -8
  168. data/lib/ruby-lint/definitions/core/resolv.rb +1365 -38
  169. data/lib/ruby-lint/definitions/core/rpathflag.rb +4 -548
  170. data/lib/ruby-lint/definitions/core/ruby_copyright.rb +9 -9
  171. data/lib/ruby-lint/definitions/core/ruby_description.rb +9 -9
  172. data/lib/ruby-lint/definitions/core/ruby_engine.rb +9 -9
  173. data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +9 -9
  174. data/lib/ruby-lint/definitions/core/ruby_platform.rb +9 -9
  175. data/lib/ruby-lint/definitions/core/ruby_release_date.rb +9 -9
  176. data/lib/ruby-lint/definitions/core/ruby_revision.rb +4 -246
  177. data/lib/ruby-lint/definitions/core/ruby_version.rb +9 -9
  178. data/lib/ruby-lint/definitions/core/runtime_error.rb +9 -8
  179. data/lib/ruby-lint/definitions/core/scan_error.rb +9 -8
  180. data/lib/ruby-lint/definitions/core/scanf.rb +83 -7
  181. data/lib/ruby-lint/definitions/core/script_error.rb +9 -8
  182. data/lib/ruby-lint/definitions/core/secure_random.rb +22 -25
  183. data/lib/ruby-lint/definitions/core/security_error.rb +9 -8
  184. data/lib/ruby-lint/definitions/core/set.rb +154 -504
  185. data/lib/ruby-lint/definitions/core/shellwords.rb +27 -28
  186. data/lib/ruby-lint/definitions/core/signal.rb +21 -29
  187. data/lib/ruby-lint/definitions/core/signal_exception.rb +15 -15
  188. data/lib/ruby-lint/definitions/core/simple_delegator.rb +10 -26
  189. data/lib/ruby-lint/definitions/core/single_forwardable.rb +35 -38
  190. data/lib/ruby-lint/definitions/core/singleton.rb +21 -28
  191. data/lib/ruby-lint/definitions/core/sized_queue.rb +35 -31
  192. data/lib/ruby-lint/definitions/core/socket.rb +2942 -438
  193. data/lib/ruby-lint/definitions/core/socket_error.rb +4 -54
  194. data/lib/ruby-lint/definitions/core/sorted_set.rb +49 -263
  195. data/lib/ruby-lint/definitions/core/src_ext.rb +4 -421
  196. data/lib/ruby-lint/definitions/core/standard_error.rb +9 -8
  197. data/lib/ruby-lint/definitions/core/stderr.rb +9 -9
  198. data/lib/ruby-lint/definitions/core/stdin.rb +9 -9
  199. data/lib/ruby-lint/definitions/core/stdout.rb +9 -9
  200. data/lib/ruby-lint/definitions/core/stop_iteration.rb +10 -8
  201. data/lib/ruby-lint/definitions/core/string.rb +451 -1222
  202. data/lib/ruby-lint/definitions/core/string_io.rb +226 -518
  203. data/lib/ruby-lint/definitions/core/string_scanner.rb +107 -108
  204. data/lib/ruby-lint/definitions/core/struct.rb +113 -761
  205. data/lib/ruby-lint/definitions/core/syck.rb +1292 -25
  206. data/lib/ruby-lint/definitions/core/symbol.rb +78 -59
  207. data/lib/ruby-lint/definitions/core/syntax_error.rb +23 -33
  208. data/lib/ruby-lint/definitions/core/system_call_error.rb +26 -24
  209. data/lib/ruby-lint/definitions/core/system_exit.rb +15 -15
  210. data/lib/ruby-lint/definitions/core/system_stack_error.rb +9 -8
  211. data/lib/ruby-lint/definitions/core/tcpserver.rb +291 -486
  212. data/lib/ruby-lint/definitions/core/tcpsocket.rb +302 -483
  213. data/lib/ruby-lint/definitions/core/tempfile.rb +39 -832
  214. data/lib/ruby-lint/definitions/core/th_wait.rb +35 -70
  215. data/lib/ruby-lint/definitions/core/thread.rb +131 -144
  216. data/lib/ruby-lint/definitions/core/thread_error.rb +9 -8
  217. data/lib/ruby-lint/definitions/core/thread_group.rb +23 -16
  218. data/lib/ruby-lint/definitions/core/threads_wait.rb +43 -63
  219. data/lib/ruby-lint/definitions/core/time.rb +236 -159
  220. data/lib/ruby-lint/definitions/core/timeout.rb +40 -14
  221. data/lib/ruby-lint/definitions/core/timeout_error.rb +4 -54
  222. data/lib/ruby-lint/definitions/core/toplevel_binding.rb +9 -7
  223. data/lib/ruby-lint/definitions/core/true.rb +9 -7
  224. data/lib/ruby-lint/definitions/core/true_class.rb +40 -22
  225. data/lib/ruby-lint/definitions/core/try_link.rb +4 -548
  226. data/lib/ruby-lint/definitions/core/tsort.rb +21 -19
  227. data/lib/ruby-lint/definitions/core/type_error.rb +9 -8
  228. data/lib/ruby-lint/definitions/core/udpsocket.rb +302 -487
  229. data/lib/ruby-lint/definitions/core/unbound_method.rb +35 -36
  230. data/lib/ruby-lint/definitions/core/universal_ints.rb +4 -421
  231. data/lib/ruby-lint/definitions/core/unixserver.rb +291 -490
  232. data/lib/ruby-lint/definitions/core/unixsocket.rb +314 -476
  233. data/lib/ruby-lint/definitions/core/uri.rb +1309 -38
  234. data/lib/ruby-lint/definitions/core/vector.rb +143 -242
  235. data/lib/ruby-lint/definitions/core/weak_ref.rb +29 -32
  236. data/lib/ruby-lint/definitions/core/webrick.rb +2430 -7
  237. data/lib/ruby-lint/definitions/core/xmlrpc.rb +5 -7
  238. data/lib/ruby-lint/definitions/core/yaml.rb +109 -2325
  239. data/lib/ruby-lint/definitions/core/zero_division_error.rb +9 -8
  240. data/lib/ruby-lint/definitions/core/zlib.rb +272 -8526
  241. data/lib/ruby-lint/definitions/gems/.gitkeep +0 -0
  242. data/lib/ruby-lint/definitions/gems/devise.rb +2271 -0
  243. data/lib/ruby-lint/definitions/gems/nokogiri.rb +7668 -0
  244. data/lib/ruby-lint/definitions/rails/abstract_controller.rb +508 -322
  245. data/lib/ruby-lint/definitions/rails/action_controller.rb +2252 -4462
  246. data/lib/ruby-lint/definitions/rails/action_dispatch.rb +3448 -1846
  247. data/lib/ruby-lint/definitions/rails/action_mailer.rb +750 -1349
  248. data/lib/ruby-lint/definitions/rails/action_pack.rb +31 -14
  249. data/lib/ruby-lint/definitions/rails/action_view.rb +5788 -5748
  250. data/lib/ruby-lint/definitions/rails/active_model.rb +1015 -1065
  251. data/lib/ruby-lint/definitions/rails/active_record.rb +8080 -8075
  252. data/lib/ruby-lint/definitions/rails/active_support.rb +3844 -4153
  253. data/lib/ruby-lint/definitions/rails/arel.rb +6752 -2301
  254. data/lib/ruby-lint/definitions/rails/rails.rb +1553 -2383
  255. data/lib/ruby-lint/definitions/rails/sprockets.rb +1131 -3140
  256. data/lib/ruby-lint/file_list.rb +43 -0
  257. data/lib/ruby-lint/file_scanner.rb +3 -3
  258. data/lib/ruby-lint/generated_constant.rb +5 -1
  259. data/lib/ruby-lint/inspector.rb +108 -46
  260. data/lib/ruby-lint/method_call/attribute.rb +3 -1
  261. data/lib/ruby-lint/rake_task.rb +98 -0
  262. data/lib/ruby-lint/ruby_lint.rb +11 -0
  263. data/lib/ruby-lint/runner.rb +0 -11
  264. data/lib/ruby-lint/template/definition.erb +26 -19
  265. data/lib/ruby-lint/template/scope.rb +12 -0
  266. data/lib/ruby-lint/variable_predicates.rb +14 -0
  267. data/lib/ruby-lint/version.rb +1 -1
  268. data/lib/ruby-lint/virtual_machine.rb +82 -46
  269. data/ruby-lint.gemspec +3 -14
  270. data/spec/ruby-lint/analysis/undefined_methods_spec.rb +20 -3
  271. data/spec/ruby-lint/analysis/useless_equality_checks_spec.rb +107 -0
  272. data/spec/ruby-lint/configuration_spec.rb +20 -0
  273. data/spec/ruby-lint/constant_loader_spec.rb +79 -0
  274. data/spec/ruby-lint/definition/constant_proxy_spec.rb +65 -34
  275. data/spec/ruby-lint/definition/registry_spec.rb +106 -0
  276. data/spec/ruby-lint/definition/ruby_object_spec.rb +25 -25
  277. data/spec/ruby-lint/definition_builder/primitive_spec.rb +10 -10
  278. data/spec/ruby-lint/definition_builder/ruby_class_spec.rb +18 -19
  279. data/spec/ruby-lint/definition_builder/ruby_method_spec.rb +12 -12
  280. data/spec/ruby-lint/definition_builder/ruby_module_spec.rb +14 -14
  281. data/spec/ruby-lint/definitions/argv_spec.rb +3 -2
  282. data/spec/ruby-lint/definitions/env_spec.rb +5 -3
  283. data/spec/ruby-lint/definitions/file_spec.rb +17 -0
  284. data/spec/ruby-lint/definitions/fixnum_spec.rb +18 -0
  285. data/spec/ruby-lint/definitions/io_spec.rb +5 -3
  286. data/spec/ruby-lint/definitions/kernel_spec.rb +18 -0
  287. data/spec/ruby-lint/definitions/range_spec.rb +21 -0
  288. data/spec/ruby-lint/definitions/string_spec.rb +20 -0
  289. data/spec/ruby-lint/file_list_spec.rb +25 -0
  290. data/spec/ruby-lint/file_scanner_spec.rb +12 -0
  291. data/spec/ruby-lint/inspector_spec.rb +203 -23
  292. data/spec/ruby-lint/method_call/.gitkeep +0 -0
  293. data/spec/ruby-lint/variable_predicates_spec.rb +30 -0
  294. data/spec/ruby-lint/virtual_machine/associate_nodes_spec.rb +6 -4
  295. data/spec/ruby-lint/virtual_machine/autoloading_spec.rb +3 -16
  296. data/spec/ruby-lint/virtual_machine/classes/redefining_spec.rb +28 -1
  297. data/spec/ruby-lint/virtual_machine/complex/rails_spec.rb +12 -9
  298. data/spec/ruby-lint/virtual_machine/global_variables_spec.rb +8 -5
  299. data/spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb +0 -7
  300. data/spec/ruby-lint/virtual_machine/methods/attr_spec.rb +66 -0
  301. data/spec/ruby-lint/virtual_machine/methods/calls_spec.rb +25 -0
  302. data/spec/ruby-lint/virtual_machine/methods/define_method_spec.rb +1 -1
  303. data/spec/ruby-lint/virtual_machine/methods/docstrings_spec.rb +20 -9
  304. data/spec/ruby-lint/virtual_machine/methods/kernel_spec.rb +25 -0
  305. data/spec/ruby-lint/virtual_machine/methods/patching_spec.rb +0 -6
  306. data/spec/ruby-lint/virtual_machine/methods/square_bracket_spec.rb +32 -0
  307. data/spec/ruby-lint/virtual_machine/self_spec.rb +37 -0
  308. data/spec/spec_helper.rb +0 -1
  309. data/spec/support/building.rb +0 -4
  310. data/spec/support/definitions.rb +16 -0
  311. data/task/generate.rake +35 -33
  312. data/task/todo.rake +1 -1
  313. metadata +73 -100
  314. data/lib/ruby-lint/cli/ast.rb +0 -50
  315. data/lib/ruby-lint/cli/plot.rb +0 -94
  316. data/lib/ruby-lint/definitions/core/arg0.rb +0 -9
  317. data/lib/ruby-lint/definitions/core/autoload.rb +0 -41
  318. data/lib/ruby-lint/definitions/core/continuation.rb +0 -10
  319. data/lib/ruby-lint/definitions/core/default_record_separator.rb +0 -9
  320. data/lib/ruby-lint/definitions/core/fatal_error.rb +0 -10
  321. data/lib/ruby-lint/definitions/core/file_list.rb +0 -729
  322. data/lib/ruby-lint/definitions/core/immediate_value.rb +0 -21
  323. data/lib/ruby-lint/definitions/core/md5.rb +0 -80
  324. data/lib/ruby-lint/definitions/core/memory_segmention_error.rb +0 -10
  325. data/lib/ruby-lint/definitions/core/precision.rb +0 -23
  326. data/lib/ruby-lint/definitions/core/primitive_failure.rb +0 -10
  327. data/lib/ruby-lint/definitions/core/psych.rb +0 -139
  328. data/lib/ruby-lint/definitions/core/rake.rb +0 -4786
  329. data/lib/ruby-lint/definitions/core/rake_file_utils.rb +0 -205
  330. data/lib/ruby-lint/definitions/core/rakeversion.rb +0 -9
  331. data/lib/ruby-lint/definitions/core/rdoc.rb +0 -15
  332. data/lib/ruby-lint/definitions/core/rexml.rb +0 -13
  333. data/lib/ruby-lint/definitions/core/rss.rb +0 -13
  334. data/lib/ruby-lint/definitions/core/sha1.rb +0 -80
  335. data/lib/ruby-lint/definitions/core/unmarshalable.rb +0 -15
  336. data/lib/ruby-lint/definitions/core/unsupported_library_error.rb +0 -10
  337. data/lib/ruby-lint/definitions/global_variables.rb +0 -9
  338. data/lib/ruby-lint/definitions/rails.rb +0 -12
  339. data/lib/ruby-lint/global_scope.rb +0 -56
  340. data/spec/ruby-lint/cli/ast_spec.rb +0 -23
  341. data/spec/ruby-lint/method_call/assign_member_spec.rb +0 -25
@@ -1,37 +1,34 @@
1
1
  # This file was automatically generated, any manual changes will be lost the
2
2
  # next time this file is generated.
3
3
  #
4
- # Created: 2013-11-11 20:49:50 +0100
5
- # Platform: rbx 2.1.1
4
+ # Platform: rbx 2.2.3.n364
6
5
 
7
- RubyLint::GlobalScope.definitions.define_constant('Base64') do |klass|
8
- klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
6
+ RubyLint.registry.register('Base64') do |defs|
7
+ defs.define_constant('Base64') do |klass|
8
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
9
9
 
10
- klass.define_method('decode64') do |method|
11
- method.define_argument('str')
12
- end
10
+ klass.define_method('decode64') do |method|
11
+ method.define_argument('str')
12
+ end
13
13
 
14
- klass.define_method('encode64') do |method|
15
- method.define_argument('bin')
16
- end
14
+ klass.define_method('encode64') do |method|
15
+ method.define_argument('bin')
16
+ end
17
17
 
18
- klass.define_method('initialize')
18
+ klass.define_method('strict_decode64') do |method|
19
+ method.define_argument('str')
20
+ end
19
21
 
20
- klass.define_method('strict_decode64') do |method|
21
- method.define_argument('str')
22
- end
22
+ klass.define_method('strict_encode64') do |method|
23
+ method.define_argument('bin')
24
+ end
23
25
 
24
- klass.define_method('strict_encode64') do |method|
25
- method.define_argument('bin')
26
- end
26
+ klass.define_method('urlsafe_decode64') do |method|
27
+ method.define_argument('str')
28
+ end
27
29
 
28
- klass.define_method('urlsafe_decode64') do |method|
29
- method.define_argument('str')
30
- end
31
-
32
- klass.define_method('urlsafe_encode64') do |method|
33
- method.define_argument('bin')
30
+ klass.define_method('urlsafe_encode64') do |method|
31
+ method.define_argument('bin')
32
+ end
34
33
  end
35
34
  end
36
-
37
- RubyLint::GlobalScope.definitions.lookup(:const, 'Base64').deep_freeze
@@ -3,42 +3,42 @@
3
3
  # Created: 2013-03-26 21:43:55 +0100
4
4
  # Platform: rubinius 2.0.0.rc1 (1.9.3 cbee9a2d yyyy-mm-dd JI) [x86_64-unknown-linux-gnu]
5
5
  #
6
- RubyLint::GlobalScope.definitions.define_constant('BasicObject') do |klass|
7
- klass.inherits(
8
- RubyLint::GlobalScope.constant_proxy('Class'),
9
- RubyLint::GlobalScope.constant_proxy('Kernel')
10
- )
11
-
12
- klass.define_constructors do |method|
13
- method.returns do |object|
14
- object.instance
6
+ RubyLint.registry.register('BasicObject') do |defs|
7
+ defs.define_constant('BasicObject') do |klass|
8
+ klass.inherits(
9
+ defs.constant_proxy('Class', RubyLint.registry),
10
+ defs.constant_proxy('Kernel', RubyLint.registry)
11
+ )
12
+
13
+ klass.define_constructors do |method|
14
+ method.returns do |object|
15
+ object.instance
16
+ end
15
17
  end
16
- end
17
18
 
18
- klass.define_method('__class_init__')
19
+ klass.define_method('__class_init__')
19
20
 
20
- klass.define_instance_method('__id__')
21
+ klass.define_instance_method('__id__')
21
22
 
22
- klass.define_instance_method('__send__') do |method|
23
- method.define_argument('message')
24
- method.define_rest_argument('args')
25
- end
23
+ klass.define_instance_method('__send__') do |method|
24
+ method.define_argument('message')
25
+ method.define_rest_argument('args')
26
+ end
26
27
 
27
- klass.define_instance_method('equal?') do |method|
28
- method.define_argument('other')
29
- end
28
+ klass.define_instance_method('equal?') do |method|
29
+ method.define_argument('other')
30
+ end
30
31
 
31
- klass.define_instance_method('instance_eval') do |method|
32
- method.define_optional_argument('string')
33
- method.define_optional_argument('filename')
34
- method.define_optional_argument('line')
35
- method.define_block_argument('prc')
36
- end
32
+ klass.define_instance_method('instance_eval') do |method|
33
+ method.define_optional_argument('string')
34
+ method.define_optional_argument('filename')
35
+ method.define_optional_argument('line')
36
+ method.define_block_argument('prc')
37
+ end
37
38
 
38
- klass.define_instance_method('instance_exec') do |method|
39
- method.define_rest_argument('args')
40
- method.define_block_argument('prc')
39
+ klass.define_instance_method('instance_exec') do |method|
40
+ method.define_rest_argument('args')
41
+ method.define_block_argument('prc')
42
+ end
41
43
  end
42
44
  end
43
-
44
- RubyLint::GlobalScope.definitions.lookup(:const, 'BasicObject').deep_freeze
@@ -1,685 +1,571 @@
1
1
  # This file was automatically generated, any manual changes will be lost the
2
2
  # next time this file is generated.
3
3
  #
4
- # Created: 2013-11-11 21:14:28 +0100
5
- # Platform: rbx 2.1.1
4
+ # Platform: rbx 2.2.3.n364
6
5
 
7
- RubyLint::GlobalScope.definitions.define_constant('BasicSocket') do |klass|
8
- klass.inherits(RubyLint::GlobalScope.constant_proxy('IO'))
6
+ RubyLint.registry.register('BasicSocket') do |defs|
7
+ defs.define_constant('BasicSocket') do |klass|
8
+ klass.inherits(defs.constant_proxy('IO', RubyLint.registry))
9
9
 
10
- klass.define_method('binread') do |method|
11
- method.define_argument('file')
12
- method.define_optional_argument('length')
13
- method.define_optional_argument('offset')
14
- end
10
+ klass.define_method('do_not_reverse_lookup')
15
11
 
16
- klass.define_method('binwrite') do |method|
17
- method.define_argument('file')
18
- method.define_argument('string')
19
- method.define_rest_argument('args')
20
- end
12
+ klass.define_method('do_not_reverse_lookup=') do |method|
13
+ method.define_argument('setting')
14
+ end
21
15
 
22
- klass.define_method('connect_pipe') do |method|
23
- method.define_argument('lhs')
24
- method.define_argument('rhs')
25
- end
16
+ klass.define_method('for_fd') do |method|
17
+ method.define_argument('fixnum')
18
+ end
26
19
 
27
- klass.define_method('copy_stream') do |method|
28
- method.define_argument('from')
29
- method.define_argument('to')
30
- method.define_optional_argument('max_length')
31
- method.define_optional_argument('offset')
32
- end
20
+ klass.define_method('from_descriptor') do |method|
21
+ method.define_argument('fixnum')
22
+ end
33
23
 
34
- klass.define_method('do_not_reverse_lookup')
24
+ klass.define_instance_method('close_read')
35
25
 
36
- klass.define_method('do_not_reverse_lookup=') do |method|
37
- method.define_argument('setting')
38
- end
26
+ klass.define_instance_method('close_write')
39
27
 
40
- klass.define_method('fnmatch') do |method|
41
- method.define_argument('pattern')
42
- method.define_argument('path')
43
- method.define_argument('flags')
44
- end
28
+ klass.define_instance_method('do_not_reverse_lookup')
45
29
 
46
- klass.define_method('for_fd') do |method|
47
- method.define_argument('fixnum')
48
- end
30
+ klass.define_instance_method('do_not_reverse_lookup=') do |method|
31
+ method.define_argument('setting')
32
+ end
49
33
 
50
- klass.define_method('foreach') do |method|
51
- method.define_argument('name')
52
- method.define_optional_argument('separator')
53
- method.define_optional_argument('limit')
54
- method.define_optional_argument('options')
55
- end
34
+ klass.define_instance_method('from_descriptor') do |method|
35
+ method.define_argument('fixnum')
36
+ end
56
37
 
57
- klass.define_method('from_descriptor') do |method|
58
- method.define_argument('fixnum')
59
- end
38
+ klass.define_instance_method('getpeername')
60
39
 
61
- klass.define_method('initialize') do |method|
62
- method.define_optional_argument('sclass')
63
- method.define_optional_argument('name')
64
- method.define_optional_argument('under')
65
- end
40
+ klass.define_instance_method('getsockname')
66
41
 
67
- klass.define_method('max_open_fd')
42
+ klass.define_instance_method('getsockopt') do |method|
43
+ method.define_argument('level')
44
+ method.define_argument('optname')
45
+ end
68
46
 
69
- klass.define_method('normalize_options') do |method|
70
- method.define_argument('mode')
71
- method.define_argument('options')
72
- end
47
+ klass.define_instance_method('recv') do |method|
48
+ method.define_argument('bytes_to_read')
49
+ method.define_optional_argument('flags')
50
+ end
73
51
 
74
- klass.define_method('open') do |method|
75
- method.define_rest_argument('args')
76
- end
52
+ klass.define_instance_method('recv_nonblock') do |method|
53
+ method.define_argument('bytes_to_read')
54
+ method.define_optional_argument('flags')
55
+ end
77
56
 
78
- klass.define_method('open_with_mode') do |method|
79
- method.define_argument('path')
80
- method.define_argument('mode')
81
- method.define_argument('perm')
82
- end
57
+ klass.define_instance_method('recvfrom') do |method|
58
+ method.define_argument('bytes_to_read')
59
+ method.define_optional_argument('flags')
60
+ end
83
61
 
84
- klass.define_method('parse_mode') do |method|
85
- method.define_argument('mode')
86
- end
62
+ klass.define_instance_method('send') do |method|
63
+ method.define_argument('message')
64
+ method.define_argument('flags')
65
+ method.define_optional_argument('to')
66
+ end
87
67
 
88
- klass.define_method('pipe') do |method|
89
- method.define_optional_argument('external')
90
- method.define_optional_argument('internal')
91
- method.define_optional_argument('options')
92
- end
68
+ klass.define_instance_method('setsockopt') do |method|
69
+ method.define_argument('level_or_option')
70
+ method.define_optional_argument('optname')
71
+ method.define_optional_argument('optval')
72
+ end
93
73
 
94
- klass.define_method('popen') do |method|
95
- method.define_argument('str')
96
- method.define_optional_argument('mode')
97
- method.define_optional_argument('options')
74
+ klass.define_instance_method('shutdown') do |method|
75
+ method.define_optional_argument('how')
76
+ end
98
77
  end
99
78
 
100
- klass.define_method('prim_truncate') do |method|
101
- method.define_argument('name')
102
- method.define_argument('offset')
103
- end
79
+ defs.define_constant('BasicSocket::ACCMODE') do |klass|
80
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
104
81
 
105
- klass.define_method('read') do |method|
106
- method.define_argument('name')
107
- method.define_optional_argument('length_or_options')
108
- method.define_optional_argument('offset')
109
- method.define_optional_argument('options')
110
82
  end
111
83
 
112
- klass.define_method('read_encode') do |method|
113
- method.define_argument('io')
114
- method.define_argument('str')
115
- end
84
+ defs.define_constant('BasicSocket::APPEND') do |klass|
85
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
116
86
 
117
- klass.define_method('readlines') do |method|
118
- method.define_argument('name')
119
- method.define_optional_argument('separator')
120
- method.define_optional_argument('limit')
121
- method.define_optional_argument('options')
122
87
  end
123
88
 
124
- klass.define_method('select') do |method|
125
- method.define_optional_argument('readables')
126
- method.define_optional_argument('writables')
127
- method.define_optional_argument('errorables')
128
- method.define_optional_argument('timeout')
129
- end
89
+ defs.define_constant('BasicSocket::BINARY') do |klass|
90
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
130
91
 
131
- klass.define_method('select_primitive') do |method|
132
- method.define_argument('readables')
133
- method.define_argument('writables')
134
- method.define_argument('errorables')
135
- method.define_argument('timeout')
136
92
  end
137
93
 
138
- klass.define_method('setup') do |method|
139
- method.define_argument('io')
140
- method.define_argument('fd')
141
- method.define_optional_argument('mode')
142
- method.define_optional_argument('sync')
143
- end
94
+ defs.define_constant('BasicSocket::BidirectionalPipe') do |klass|
95
+ klass.inherits(defs.constant_proxy('IO', RubyLint.registry))
144
96
 
145
- klass.define_method('sysopen') do |method|
146
- method.define_argument('path')
147
- method.define_optional_argument('mode')
148
- method.define_optional_argument('perm')
149
- end
97
+ klass.define_instance_method('<<') do |method|
98
+ method.define_argument('obj')
99
+ end
150
100
 
151
- klass.define_method('try_convert') do |method|
152
- method.define_argument('obj')
153
- end
101
+ klass.define_instance_method('close')
154
102
 
155
- klass.define_method('write') do |method|
156
- method.define_argument('file')
157
- method.define_argument('string')
158
- method.define_rest_argument('args')
159
- end
103
+ klass.define_instance_method('close_read')
160
104
 
161
- klass.define_instance_method('<<') do |method|
162
- method.define_argument('obj')
163
- end
105
+ klass.define_instance_method('close_write')
164
106
 
165
- klass.define_instance_method('advise') do |method|
166
- method.define_argument('advice')
167
- method.define_optional_argument('offset')
168
- method.define_optional_argument('len')
169
- end
107
+ klass.define_instance_method('closed?')
170
108
 
171
- klass.define_instance_method('all?')
109
+ klass.define_instance_method('print') do |method|
110
+ method.define_rest_argument('args')
111
+ end
172
112
 
173
- klass.define_instance_method('any?')
113
+ klass.define_instance_method('printf') do |method|
114
+ method.define_argument('fmt')
115
+ method.define_rest_argument('args')
116
+ end
174
117
 
175
- klass.define_instance_method('autoclose=') do |method|
176
- method.define_argument('autoclose')
177
- end
118
+ klass.define_instance_method('putc') do |method|
119
+ method.define_argument('obj')
120
+ end
178
121
 
179
- klass.define_instance_method('autoclose?')
122
+ klass.define_instance_method('puts') do |method|
123
+ method.define_rest_argument('args')
124
+ end
180
125
 
181
- klass.define_instance_method('binmode')
126
+ klass.define_instance_method('set_pipe_info') do |method|
127
+ method.define_argument('write')
128
+ end
182
129
 
183
- klass.define_instance_method('binmode?')
130
+ klass.define_instance_method('syswrite') do |method|
131
+ method.define_argument('data')
132
+ end
184
133
 
185
- klass.define_instance_method('buffer_empty?')
134
+ klass.define_instance_method('write') do |method|
135
+ method.define_argument('data')
136
+ end
186
137
 
187
- klass.define_instance_method('bytes')
138
+ klass.define_instance_method('write_nonblock') do |method|
139
+ method.define_argument('data')
140
+ end
141
+ end
188
142
 
189
- klass.define_instance_method('chars')
143
+ defs.define_constant('BasicSocket::CREAT') do |klass|
144
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
190
145
 
191
- klass.define_instance_method('chunk') do |method|
192
- method.define_optional_argument('initial_state')
193
146
  end
194
147
 
195
- klass.define_instance_method('close')
148
+ defs.define_constant('BasicSocket::EAGAINWaitReadable') do |klass|
149
+ klass.inherits(defs.constant_proxy('Errno::EAGAIN', RubyLint.registry))
150
+ klass.inherits(defs.constant_proxy('IO::WaitReadable', RubyLint.registry))
196
151
 
197
- klass.define_instance_method('close_on_exec=') do |method|
198
- method.define_argument('value')
199
152
  end
200
153
 
201
- klass.define_instance_method('close_on_exec?')
154
+ defs.define_constant('BasicSocket::EAGAINWaitWritable') do |klass|
155
+ klass.inherits(defs.constant_proxy('Errno::EAGAIN', RubyLint.registry))
156
+ klass.inherits(defs.constant_proxy('IO::WaitWritable', RubyLint.registry))
202
157
 
203
- klass.define_instance_method('close_read')
158
+ end
204
159
 
205
- klass.define_instance_method('close_write')
160
+ defs.define_constant('BasicSocket::EXCL') do |klass|
161
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
206
162
 
207
- klass.define_instance_method('closed?')
163
+ end
208
164
 
209
- klass.define_instance_method('codepoints')
165
+ defs.define_constant('BasicSocket::EachReader') do |klass|
166
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
210
167
 
211
- klass.define_instance_method('collect')
168
+ klass.define_instance_method('each')
212
169
 
213
- klass.define_instance_method('collect_concat')
170
+ klass.define_instance_method('initialize') do |method|
171
+ method.define_argument('io')
172
+ method.define_argument('buffer')
173
+ method.define_argument('separator')
174
+ method.define_argument('limit')
214
175
 
215
- klass.define_instance_method('count') do |method|
216
- method.define_optional_argument('item')
217
- end
176
+ method.returns { |object| object.instance }
177
+ end
218
178
 
219
- klass.define_instance_method('cycle') do |method|
220
- method.define_optional_argument('many')
221
- end
179
+ klass.define_instance_method('read_all')
222
180
 
223
- klass.define_instance_method('descriptor')
181
+ klass.define_instance_method('read_to_limit')
224
182
 
225
- klass.define_instance_method('descriptor=')
183
+ klass.define_instance_method('read_to_separator')
226
184
 
227
- klass.define_instance_method('detect') do |method|
228
- method.define_optional_argument('ifnone')
185
+ klass.define_instance_method('read_to_separator_with_limit')
229
186
  end
230
187
 
231
- klass.define_instance_method('do_not_reverse_lookup')
188
+ defs.define_constant('BasicSocket::Enumerator') do |klass|
189
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
190
+ klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
232
191
 
233
- klass.define_instance_method('do_not_reverse_lookup=') do |method|
234
- method.define_argument('setting')
235
- end
192
+ klass.define_instance_method('each') do |method|
193
+ method.define_rest_argument('args')
194
+ end
236
195
 
237
- klass.define_instance_method('drop') do |method|
238
- method.define_argument('n')
239
- end
196
+ klass.define_instance_method('each_with_index')
240
197
 
241
- klass.define_instance_method('drop_while')
198
+ klass.define_instance_method('initialize') do |method|
199
+ method.define_optional_argument('receiver_or_size')
200
+ method.define_optional_argument('method_name')
201
+ method.define_rest_argument('method_args')
242
202
 
243
- klass.define_instance_method('each') do |method|
244
- method.define_optional_argument('sep_or_limit')
245
- method.define_optional_argument('limit')
246
- end
203
+ method.returns { |object| object.instance }
204
+ end
247
205
 
248
- klass.define_instance_method('each_byte')
206
+ klass.define_instance_method('next')
249
207
 
250
- klass.define_instance_method('each_char')
208
+ klass.define_instance_method('next_values')
251
209
 
252
- klass.define_instance_method('each_codepoint')
210
+ klass.define_instance_method('peek')
253
211
 
254
- klass.define_instance_method('each_cons') do |method|
255
- method.define_argument('num')
256
- end
212
+ klass.define_instance_method('peek_values')
257
213
 
258
- klass.define_instance_method('each_entry') do |method|
259
- method.define_rest_argument('pass')
260
- end
214
+ klass.define_instance_method('rewind')
261
215
 
262
- klass.define_instance_method('each_line') do |method|
263
- method.define_optional_argument('sep_or_limit')
264
- method.define_optional_argument('limit')
265
- end
216
+ klass.define_instance_method('size')
266
217
 
267
- klass.define_instance_method('each_slice') do |method|
268
- method.define_argument('slice_size')
218
+ klass.define_instance_method('with_index') do |method|
219
+ method.define_optional_argument('offset')
220
+ end
269
221
  end
270
222
 
271
- klass.define_instance_method('each_with_index') do |method|
272
- method.define_rest_argument('args')
273
- end
223
+ defs.define_constant('BasicSocket::FD_CLOEXEC') do |klass|
224
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
274
225
 
275
- klass.define_instance_method('each_with_object') do |method|
276
- method.define_argument('memo')
277
226
  end
278
227
 
279
- klass.define_instance_method('ensure_open')
228
+ defs.define_constant('BasicSocket::FFI') do |klass|
229
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
280
230
 
281
- klass.define_instance_method('ensure_open_and_readable')
231
+ klass.define_method('add_typedef') do |method|
232
+ method.define_argument('current')
233
+ method.define_argument('add')
234
+ end
282
235
 
283
- klass.define_instance_method('ensure_open_and_writable')
236
+ klass.define_method('config') do |method|
237
+ method.define_argument('name')
238
+ end
284
239
 
285
- klass.define_instance_method('entries') do |method|
286
- method.define_rest_argument('arg')
287
- end
288
-
289
- klass.define_instance_method('eof')
240
+ klass.define_method('config_hash') do |method|
241
+ method.define_argument('name')
242
+ end
290
243
 
291
- klass.define_instance_method('eof!')
244
+ klass.define_method('errno')
292
245
 
293
- klass.define_instance_method('eof?')
246
+ klass.define_method('find_type') do |method|
247
+ method.define_argument('name')
248
+ end
294
249
 
295
- klass.define_instance_method('expect') do |method|
296
- method.define_argument('pat')
297
- method.define_optional_argument('timeout')
298
- end
250
+ klass.define_method('generate_function') do |method|
251
+ method.define_argument('ptr')
252
+ method.define_argument('name')
253
+ method.define_argument('args')
254
+ method.define_argument('ret')
255
+ end
299
256
 
300
- klass.define_instance_method('external')
257
+ klass.define_method('generate_trampoline') do |method|
258
+ method.define_argument('obj')
259
+ method.define_argument('name')
260
+ method.define_argument('args')
261
+ method.define_argument('ret')
262
+ end
301
263
 
302
- klass.define_instance_method('external=')
264
+ klass.define_method('size_to_type') do |method|
265
+ method.define_argument('size')
266
+ end
303
267
 
304
- klass.define_instance_method('external_encoding')
305
-
306
- klass.define_instance_method('fcntl') do |method|
307
- method.define_argument('command')
308
- method.define_optional_argument('arg')
268
+ klass.define_method('type_size') do |method|
269
+ method.define_argument('type')
270
+ end
309
271
  end
310
272
 
311
- klass.define_instance_method('fileno')
273
+ defs.define_constant('BasicSocket::FNM_CASEFOLD') do |klass|
274
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
312
275
 
313
- klass.define_instance_method('find') do |method|
314
- method.define_optional_argument('ifnone')
315
276
  end
316
277
 
317
- klass.define_instance_method('find_all')
278
+ defs.define_constant('BasicSocket::FNM_DOTMATCH') do |klass|
279
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
318
280
 
319
- klass.define_instance_method('find_index') do |method|
320
- method.define_optional_argument('value')
321
281
  end
322
282
 
323
- klass.define_instance_method('first') do |method|
324
- method.define_optional_argument('n')
325
- end
283
+ defs.define_constant('BasicSocket::FNM_NOESCAPE') do |klass|
284
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
326
285
 
327
- klass.define_instance_method('flat_map')
286
+ end
328
287
 
329
- klass.define_instance_method('flush')
288
+ defs.define_constant('BasicSocket::FNM_PATHNAME') do |klass|
289
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
330
290
 
331
- klass.define_instance_method('from_descriptor') do |method|
332
- method.define_argument('fixnum')
333
291
  end
334
292
 
335
- klass.define_instance_method('fsync')
336
-
337
- klass.define_instance_method('getbyte')
293
+ defs.define_constant('BasicSocket::FNM_SYSCASE') do |klass|
294
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
338
295
 
339
- klass.define_instance_method('getc')
296
+ end
340
297
 
341
- klass.define_instance_method('getpeername')
298
+ defs.define_constant('BasicSocket::F_GETFD') do |klass|
299
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
342
300
 
343
- klass.define_instance_method('gets') do |method|
344
- method.define_optional_argument('sep_or_limit')
345
- method.define_optional_argument('limit')
346
301
  end
347
302
 
348
- klass.define_instance_method('getsockname')
303
+ defs.define_constant('BasicSocket::F_GETFL') do |klass|
304
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
349
305
 
350
- klass.define_instance_method('getsockopt') do |method|
351
- method.define_argument('level')
352
- method.define_argument('optname')
353
306
  end
354
307
 
355
- klass.define_instance_method('grep') do |method|
356
- method.define_argument('pattern')
308
+ defs.define_constant('BasicSocket::F_OK') do |klass|
309
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
310
+
357
311
  end
358
312
 
359
- klass.define_instance_method('group_by')
313
+ defs.define_constant('BasicSocket::F_SETFD') do |klass|
314
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
360
315
 
361
- klass.define_instance_method('include?') do |method|
362
- method.define_argument('obj')
363
316
  end
364
317
 
365
- klass.define_instance_method('increment_lineno')
318
+ defs.define_constant('BasicSocket::F_SETFL') do |klass|
319
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
366
320
 
367
- klass.define_instance_method('initialize') do |method|
368
- method.define_argument('fd')
369
- method.define_optional_argument('mode')
370
- method.define_optional_argument('options')
371
321
  end
372
322
 
373
- klass.define_instance_method('inject') do |method|
374
- method.define_optional_argument('initial')
375
- method.define_optional_argument('sym')
376
- end
323
+ defs.define_constant('BasicSocket::InternalBuffer') do |klass|
324
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
377
325
 
378
- klass.define_instance_method('internal')
326
+ klass.define_method('allocate')
379
327
 
380
- klass.define_instance_method('internal=')
328
+ klass.define_instance_method('channel')
381
329
 
382
- klass.define_instance_method('internal_encoding')
330
+ klass.define_instance_method('discard') do |method|
331
+ method.define_argument('skip')
332
+ end
383
333
 
384
- klass.define_instance_method('ioctl') do |method|
385
- method.define_argument('command')
386
- method.define_optional_argument('arg')
387
- end
334
+ klass.define_instance_method('empty?')
388
335
 
389
- klass.define_instance_method('isatty')
336
+ klass.define_instance_method('empty_to') do |method|
337
+ method.define_argument('io')
338
+ end
390
339
 
391
- klass.define_instance_method('lazy')
340
+ klass.define_instance_method('exhausted?')
392
341
 
393
- klass.define_instance_method('lineno')
342
+ klass.define_instance_method('fill') do |method|
343
+ method.define_argument('io')
344
+ end
394
345
 
395
- klass.define_instance_method('lineno=') do |method|
396
- method.define_argument('line_number')
397
- end
346
+ klass.define_instance_method('fill_from') do |method|
347
+ method.define_argument('io')
348
+ method.define_optional_argument('skip')
349
+ end
398
350
 
399
- klass.define_instance_method('lines') do |method|
400
- method.define_rest_argument('args')
401
- end
351
+ klass.define_instance_method('find') do |method|
352
+ method.define_argument('pattern')
353
+ method.define_optional_argument('discard')
354
+ end
402
355
 
403
- klass.define_instance_method('map')
356
+ klass.define_instance_method('full?')
404
357
 
405
- klass.define_instance_method('max')
358
+ klass.define_instance_method('getbyte') do |method|
359
+ method.define_argument('io')
360
+ end
406
361
 
407
- klass.define_instance_method('max_by')
362
+ klass.define_instance_method('getchar') do |method|
363
+ method.define_argument('io')
364
+ end
408
365
 
409
- klass.define_instance_method('member?') do |method|
410
- method.define_argument('obj')
411
- end
366
+ klass.define_instance_method('inspect')
412
367
 
413
- klass.define_instance_method('min')
368
+ klass.define_instance_method('put_back') do |method|
369
+ method.define_argument('chr')
370
+ end
414
371
 
415
- klass.define_instance_method('min_by')
372
+ klass.define_instance_method('read_to_char_boundary') do |method|
373
+ method.define_argument('io')
374
+ method.define_argument('str')
375
+ end
416
376
 
417
- klass.define_instance_method('minmax')
377
+ klass.define_instance_method('reset!')
418
378
 
419
- klass.define_instance_method('minmax_by')
379
+ klass.define_instance_method('shift') do |method|
380
+ method.define_optional_argument('count')
381
+ end
420
382
 
421
- klass.define_instance_method('mode')
383
+ klass.define_instance_method('size')
422
384
 
423
- klass.define_instance_method('mode=')
385
+ klass.define_instance_method('start')
424
386
 
425
- klass.define_instance_method('none?')
387
+ klass.define_instance_method('total')
426
388
 
427
- klass.define_instance_method('one?')
389
+ klass.define_instance_method('unseek!') do |method|
390
+ method.define_argument('io')
391
+ end
428
392
 
429
- klass.define_instance_method('partition')
393
+ klass.define_instance_method('unshift') do |method|
394
+ method.define_argument('str')
395
+ method.define_argument('start_pos')
396
+ end
430
397
 
431
- klass.define_instance_method('pid')
398
+ klass.define_instance_method('unused')
432
399
 
433
- klass.define_instance_method('pid=')
400
+ klass.define_instance_method('used')
434
401
 
435
- klass.define_instance_method('pipe=') do |method|
436
- method.define_argument('v')
402
+ klass.define_instance_method('write_synced?')
437
403
  end
438
404
 
439
- klass.define_instance_method('pipe?')
405
+ defs.define_constant('BasicSocket::LOCK_EX') do |klass|
406
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
440
407
 
441
- klass.define_instance_method('pos')
442
-
443
- klass.define_instance_method('pos=') do |method|
444
- method.define_argument('offset')
445
408
  end
446
409
 
447
- klass.define_instance_method('prim_close')
410
+ defs.define_constant('BasicSocket::LOCK_NB') do |klass|
411
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
448
412
 
449
- klass.define_instance_method('prim_ftruncate') do |method|
450
- method.define_argument('offset')
451
413
  end
452
414
 
453
- klass.define_instance_method('prim_seek') do |method|
454
- method.define_argument('amount')
455
- method.define_argument('whence')
456
- end
415
+ defs.define_constant('BasicSocket::LOCK_SH') do |klass|
416
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
457
417
 
458
- klass.define_instance_method('prim_write') do |method|
459
- method.define_argument('str')
460
418
  end
461
419
 
462
- klass.define_instance_method('print') do |method|
463
- method.define_rest_argument('args')
464
- end
420
+ defs.define_constant('BasicSocket::LOCK_UN') do |klass|
421
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
465
422
 
466
- klass.define_instance_method('printf') do |method|
467
- method.define_argument('fmt')
468
- method.define_rest_argument('args')
469
423
  end
470
424
 
471
- klass.define_instance_method('putc') do |method|
472
- method.define_argument('obj')
473
- end
425
+ defs.define_constant('BasicSocket::NOCTTY') do |klass|
426
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
474
427
 
475
- klass.define_instance_method('puts') do |method|
476
- method.define_rest_argument('args')
477
428
  end
478
429
 
479
- klass.define_instance_method('query') do |method|
480
- method.define_argument('which')
481
- end
482
-
483
- klass.define_instance_method('raw_write') do |method|
484
- method.define_argument('str')
485
- end
430
+ defs.define_constant('BasicSocket::NONBLOCK') do |klass|
431
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
486
432
 
487
- klass.define_instance_method('read') do |method|
488
- method.define_optional_argument('length')
489
- method.define_optional_argument('buffer')
490
433
  end
491
434
 
492
- klass.define_instance_method('read_bom_byte')
435
+ defs.define_constant('BasicSocket::NULL') do |klass|
436
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
493
437
 
494
- klass.define_instance_method('read_nonblock') do |method|
495
- method.define_argument('size')
496
- method.define_optional_argument('buffer')
497
438
  end
498
439
 
499
- klass.define_instance_method('read_primitive') do |method|
500
- method.define_argument('number_of_bytes')
501
- end
502
-
503
- klass.define_instance_method('readbyte')
504
-
505
- klass.define_instance_method('readchar')
440
+ defs.define_constant('BasicSocket::RDONLY') do |klass|
441
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
506
442
 
507
- klass.define_instance_method('readline') do |method|
508
- method.define_optional_argument('sep')
509
443
  end
510
444
 
511
- klass.define_instance_method('readlines') do |method|
512
- method.define_optional_argument('sep')
513
- end
445
+ defs.define_constant('BasicSocket::RDWR') do |klass|
446
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
514
447
 
515
- klass.define_instance_method('readpartial') do |method|
516
- method.define_argument('size')
517
- method.define_optional_argument('buffer')
518
448
  end
519
449
 
520
- klass.define_instance_method('recv') do |method|
521
- method.define_argument('bytes_to_read')
522
- method.define_optional_argument('flags')
523
- end
450
+ defs.define_constant('BasicSocket::R_OK') do |klass|
451
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
524
452
 
525
- klass.define_instance_method('recv_nonblock') do |method|
526
- method.define_argument('bytes_to_read')
527
- method.define_optional_argument('flags')
528
453
  end
529
454
 
530
- klass.define_instance_method('recvfrom') do |method|
531
- method.define_argument('bytes_to_read')
532
- method.define_optional_argument('flags')
533
- end
455
+ defs.define_constant('BasicSocket::Readable') do |klass|
456
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
534
457
 
535
- klass.define_instance_method('reduce') do |method|
536
- method.define_optional_argument('initial')
537
- method.define_optional_argument('sym')
538
458
  end
539
459
 
540
- klass.define_instance_method('reject')
460
+ defs.define_constant('BasicSocket::SEEK_CUR') do |klass|
461
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
541
462
 
542
- klass.define_instance_method('reopen') do |method|
543
- method.define_argument('other')
544
- method.define_optional_argument('mode')
545
463
  end
546
464
 
547
- klass.define_instance_method('reopen_io') do |method|
548
- method.define_argument('other')
549
- end
465
+ defs.define_constant('BasicSocket::SEEK_END') do |klass|
466
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
550
467
 
551
- klass.define_instance_method('reopen_path') do |method|
552
- method.define_argument('string')
553
- method.define_argument('mode')
554
468
  end
555
469
 
556
- klass.define_instance_method('reset_buffering')
557
-
558
- klass.define_instance_method('reverse_each')
470
+ defs.define_constant('BasicSocket::SEEK_SET') do |klass|
471
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
559
472
 
560
- klass.define_instance_method('rewind')
561
-
562
- klass.define_instance_method('scanf') do |method|
563
- method.define_argument('str')
564
- method.define_block_argument('b')
565
473
  end
566
474
 
567
- klass.define_instance_method('seek') do |method|
568
- method.define_argument('amount')
569
- method.define_optional_argument('whence')
475
+ defs.define_constant('BasicSocket::SYNC') do |klass|
476
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
477
+
570
478
  end
571
479
 
572
- klass.define_instance_method('select')
480
+ defs.define_constant('BasicSocket::Socketable') do |klass|
481
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
573
482
 
574
- klass.define_instance_method('send') do |method|
575
- method.define_argument('message')
576
- method.define_argument('flags')
577
- method.define_optional_argument('to')
483
+ klass.define_instance_method('accept')
578
484
  end
579
485
 
580
- klass.define_instance_method('set_encoding') do |method|
581
- method.define_argument('external')
582
- method.define_optional_argument('internal')
583
- method.define_optional_argument('options')
584
- end
486
+ defs.define_constant('BasicSocket::SortedElement') do |klass|
487
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
585
488
 
586
- klass.define_instance_method('setsockopt') do |method|
587
- method.define_argument('level_or_option')
588
- method.define_optional_argument('optname')
589
- method.define_optional_argument('optval')
590
- end
489
+ klass.define_instance_method('<=>') do |method|
490
+ method.define_argument('other')
491
+ end
591
492
 
592
- klass.define_instance_method('shutdown') do |method|
593
- method.define_optional_argument('how')
594
- end
493
+ klass.define_instance_method('initialize') do |method|
494
+ method.define_argument('val')
495
+ method.define_argument('sort_id')
595
496
 
596
- klass.define_instance_method('slice_before') do |method|
597
- method.define_optional_argument('arg')
598
- end
497
+ method.returns { |object| object.instance }
498
+ end
499
+
500
+ klass.define_instance_method('sort_id')
599
501
 
600
- klass.define_instance_method('socket_recv') do |method|
601
- method.define_argument('bytes')
602
- method.define_argument('flags')
603
- method.define_argument('type')
502
+ klass.define_instance_method('value')
604
503
  end
605
504
 
606
- klass.define_instance_method('sort')
505
+ defs.define_constant('BasicSocket::StreamCopier') do |klass|
506
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
607
507
 
608
- klass.define_instance_method('sort_by')
508
+ klass.define_instance_method('initialize') do |method|
509
+ method.define_argument('from')
510
+ method.define_argument('to')
511
+ method.define_argument('length')
512
+ method.define_argument('offset')
609
513
 
610
- klass.define_instance_method('stat')
514
+ method.returns { |object| object.instance }
515
+ end
611
516
 
612
- klass.define_instance_method('strip_bom')
517
+ klass.define_instance_method('read_method') do |method|
518
+ method.define_argument('obj')
519
+ end
613
520
 
614
- klass.define_instance_method('sync')
521
+ klass.define_instance_method('run')
615
522
 
616
- klass.define_instance_method('sync=') do |method|
617
- method.define_argument('v')
523
+ klass.define_instance_method('to_io') do |method|
524
+ method.define_argument('obj')
525
+ method.define_argument('mode')
526
+ end
618
527
  end
619
528
 
620
- klass.define_instance_method('sysread') do |method|
621
- method.define_argument('number_of_bytes')
622
- method.define_optional_argument('buffer')
623
- end
529
+ defs.define_constant('BasicSocket::TRUNC') do |klass|
530
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
624
531
 
625
- klass.define_instance_method('sysseek') do |method|
626
- method.define_argument('amount')
627
- method.define_optional_argument('whence')
628
532
  end
629
533
 
630
- klass.define_instance_method('syswrite') do |method|
631
- method.define_argument('data')
632
- end
534
+ defs.define_constant('BasicSocket::TransferIO') do |klass|
535
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
633
536
 
634
- klass.define_instance_method('take') do |method|
635
- method.define_argument('n')
636
- end
537
+ klass.define_instance_method('recv_fd')
637
538
 
638
- klass.define_instance_method('take_while')
539
+ klass.define_instance_method('send_io')
540
+ end
639
541
 
640
- klass.define_instance_method('tell')
542
+ defs.define_constant('BasicSocket::WRONLY') do |klass|
543
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
641
544
 
642
- klass.define_instance_method('to_a') do |method|
643
- method.define_rest_argument('arg')
644
545
  end
645
546
 
646
- klass.define_instance_method('to_i')
647
-
648
- klass.define_instance_method('to_io')
547
+ defs.define_constant('BasicSocket::W_OK') do |klass|
548
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
649
549
 
650
- klass.define_instance_method('to_set') do |method|
651
- method.define_optional_argument('klass')
652
- method.define_rest_argument('args')
653
- method.define_block_argument('block')
654
550
  end
655
551
 
656
- klass.define_instance_method('tty?')
552
+ defs.define_constant('BasicSocket::WaitReadable') do |klass|
553
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
657
554
 
658
- klass.define_instance_method('ttyname')
659
-
660
- klass.define_instance_method('ungetbyte') do |method|
661
- method.define_argument('obj')
662
555
  end
663
556
 
664
- klass.define_instance_method('ungetc') do |method|
665
- method.define_argument('obj')
666
- end
557
+ defs.define_constant('BasicSocket::WaitWritable') do |klass|
558
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
667
559
 
668
- klass.define_instance_method('with_object') do |method|
669
- method.define_argument('memo')
670
560
  end
671
561
 
672
- klass.define_instance_method('write') do |method|
673
- method.define_argument('data')
674
- end
562
+ defs.define_constant('BasicSocket::Writable') do |klass|
563
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
675
564
 
676
- klass.define_instance_method('write_nonblock') do |method|
677
- method.define_argument('data')
678
565
  end
679
566
 
680
- klass.define_instance_method('zip') do |method|
681
- method.define_rest_argument('args')
567
+ defs.define_constant('BasicSocket::X_OK') do |klass|
568
+ klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
569
+
682
570
  end
683
571
  end
684
-
685
- RubyLint::GlobalScope.definitions.lookup(:const, 'BasicSocket').deep_freeze