ruby-lint 0.0.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.asc +14 -14
  3. data/.gitignore +1 -0
  4. data/.yardopts +1 -1
  5. data/Gemfile +3 -3
  6. data/MANIFEST +16 -3
  7. data/benchmark/virtual_machine.rb +17 -0
  8. data/checksum/ruby-lint-0.0.5.gem.sha512 +1 -0
  9. data/doc/changelog.md +42 -0
  10. data/doc/configuration.md +133 -13
  11. data/lib/ruby-lint/analysis/shadowing_variables.rb +8 -14
  12. data/lib/ruby-lint/analysis/unused_variables.rb +17 -0
  13. data/lib/ruby-lint/ast/node.rb +18 -3
  14. data/lib/ruby-lint/cache.rb +121 -0
  15. data/lib/ruby-lint/cache_entry.rb +44 -0
  16. data/lib/ruby-lint/cli/analyze.rb +37 -18
  17. data/lib/ruby-lint/cli/plot.rb +94 -0
  18. data/lib/ruby-lint/cli.rb +1 -0
  19. data/lib/ruby-lint/configuration.rb +48 -3
  20. data/lib/ruby-lint/definition/ruby_method.rb +28 -1
  21. data/lib/ruby-lint/definition/ruby_object.rb +37 -3
  22. data/lib/ruby-lint/definition_builder/ruby_method.rb +4 -1
  23. data/lib/ruby-lint/definition_builder/ruby_module.rb +4 -1
  24. data/lib/ruby-lint/definition_generator.rb +3 -2
  25. data/lib/ruby-lint/definitions/core/arg0.rb +3 -1
  26. data/lib/ruby-lint/definitions/core/argf.rb +3 -1
  27. data/lib/ruby-lint/definitions/core/argument_error.rb +3 -1
  28. data/lib/ruby-lint/definitions/core/argv.rb +3 -1
  29. data/lib/ruby-lint/definitions/core/array.rb +3 -1
  30. data/lib/ruby-lint/definitions/core/autoload.rb +3 -1
  31. data/lib/ruby-lint/definitions/core/basic_object.rb +2 -0
  32. data/lib/ruby-lint/definitions/core/bignum.rb +3 -1
  33. data/lib/ruby-lint/definitions/core/binding.rb +3 -1
  34. data/lib/ruby-lint/definitions/core/class.rb +2 -0
  35. data/lib/ruby-lint/definitions/core/comparable.rb +3 -1
  36. data/lib/ruby-lint/definitions/core/complex.rb +3 -1
  37. data/lib/ruby-lint/definitions/core/condition_variable.rb +3 -1
  38. data/lib/ruby-lint/definitions/core/continuation.rb +3 -1
  39. data/lib/ruby-lint/definitions/core/data.rb +3 -1
  40. data/lib/ruby-lint/definitions/core/date.rb +3 -1
  41. data/lib/ruby-lint/definitions/core/date_time.rb +3 -1
  42. data/lib/ruby-lint/definitions/core/default_record_separator.rb +3 -1
  43. data/lib/ruby-lint/definitions/core/digest.rb +3 -1
  44. data/lib/ruby-lint/definitions/core/dir.rb +3 -1
  45. data/lib/ruby-lint/definitions/core/encoding.rb +3 -1
  46. data/lib/ruby-lint/definitions/core/encoding_error.rb +3 -1
  47. data/lib/ruby-lint/definitions/core/enumerable.rb +3 -1
  48. data/lib/ruby-lint/definitions/core/enumerator.rb +3 -1
  49. data/lib/ruby-lint/definitions/core/env.rb +4 -1
  50. data/lib/ruby-lint/definitions/core/eoferror.rb +3 -1
  51. data/lib/ruby-lint/definitions/core/erb.rb +2 -0
  52. data/lib/ruby-lint/definitions/core/errno.rb +3 -1
  53. data/lib/ruby-lint/definitions/core/etc.rb +3 -1
  54. data/lib/ruby-lint/definitions/core/exception.rb +3 -1
  55. data/lib/ruby-lint/definitions/core/false.rb +3 -1
  56. data/lib/ruby-lint/definitions/core/false_class.rb +3 -1
  57. data/lib/ruby-lint/definitions/core/fatal_error.rb +3 -1
  58. data/lib/ruby-lint/definitions/core/fiber.rb +3 -1
  59. data/lib/ruby-lint/definitions/core/fiber_error.rb +3 -1
  60. data/lib/ruby-lint/definitions/core/file.rb +3 -1
  61. data/lib/ruby-lint/definitions/core/file_list.rb +3 -1
  62. data/lib/ruby-lint/definitions/core/file_test.rb +3 -1
  63. data/lib/ruby-lint/definitions/core/file_utils.rb +3 -1
  64. data/lib/ruby-lint/definitions/core/fixnum.rb +3 -1
  65. data/lib/ruby-lint/definitions/core/float.rb +3 -1
  66. data/lib/ruby-lint/definitions/core/float_domain_error.rb +3 -1
  67. data/lib/ruby-lint/definitions/core/gc.rb +3 -1
  68. data/lib/ruby-lint/definitions/core/gem.rb +3 -1
  69. data/lib/ruby-lint/definitions/core/hash.rb +3 -1
  70. data/lib/ruby-lint/definitions/core/immediate_value.rb +3 -1
  71. data/lib/ruby-lint/definitions/core/index_error.rb +3 -1
  72. data/lib/ruby-lint/definitions/core/integer.rb +3 -1
  73. data/lib/ruby-lint/definitions/core/interrupt.rb +3 -1
  74. data/lib/ruby-lint/definitions/core/io.rb +3 -1
  75. data/lib/ruby-lint/definitions/core/ioerror.rb +3 -1
  76. data/lib/ruby-lint/definitions/core/kernel.rb +2 -0
  77. data/lib/ruby-lint/definitions/core/key_error.rb +3 -1
  78. data/lib/ruby-lint/definitions/core/load_error.rb +3 -1
  79. data/lib/ruby-lint/definitions/core/local_jump_error.rb +3 -1
  80. data/lib/ruby-lint/definitions/core/marshal.rb +3 -1
  81. data/lib/ruby-lint/definitions/core/match_data.rb +3 -1
  82. data/lib/ruby-lint/definitions/core/math.rb +3 -1
  83. data/lib/ruby-lint/definitions/core/memory_segmention_error.rb +3 -1
  84. data/lib/ruby-lint/definitions/core/method.rb +3 -1
  85. data/lib/ruby-lint/definitions/core/module.rb +2 -0
  86. data/lib/ruby-lint/definitions/core/monitor.rb +3 -1
  87. data/lib/ruby-lint/definitions/core/monitor_mixin.rb +3 -1
  88. data/lib/ruby-lint/definitions/core/mutex.rb +3 -1
  89. data/lib/ruby-lint/definitions/core/name_error.rb +3 -1
  90. data/lib/ruby-lint/definitions/core/nil.rb +3 -1
  91. data/lib/ruby-lint/definitions/core/nil_class.rb +3 -1
  92. data/lib/ruby-lint/definitions/core/no_memory_error.rb +3 -1
  93. data/lib/ruby-lint/definitions/core/no_method_error.rb +3 -1
  94. data/lib/ruby-lint/definitions/core/not_implemented_error.rb +3 -1
  95. data/lib/ruby-lint/definitions/core/numeric.rb +3 -1
  96. data/lib/ruby-lint/definitions/core/object.rb +3 -1
  97. data/lib/ruby-lint/definitions/core/object_space.rb +3 -1
  98. data/lib/ruby-lint/definitions/core/open_struct.rb +3 -1
  99. data/lib/ruby-lint/definitions/core/option_parser.rb +3 -1
  100. data/lib/ruby-lint/definitions/core/precision.rb +3 -1
  101. data/lib/ruby-lint/definitions/core/primitive_failure.rb +3 -1
  102. data/lib/ruby-lint/definitions/core/proc.rb +3 -1
  103. data/lib/ruby-lint/definitions/core/process.rb +3 -1
  104. data/lib/ruby-lint/definitions/core/queue.rb +3 -1
  105. data/lib/ruby-lint/definitions/core/rake.rb +3 -1
  106. data/lib/ruby-lint/definitions/core/rake_file_utils.rb +3 -1
  107. data/lib/ruby-lint/definitions/core/rakeversion.rb +3 -1
  108. data/lib/ruby-lint/definitions/core/random.rb +3 -1
  109. data/lib/ruby-lint/definitions/core/range.rb +3 -1
  110. data/lib/ruby-lint/definitions/core/range_error.rb +3 -1
  111. data/lib/ruby-lint/definitions/core/rational.rb +3 -1
  112. data/lib/ruby-lint/definitions/core/rb_config.rb +3 -1
  113. data/lib/ruby-lint/definitions/core/regexp.rb +3 -1
  114. data/lib/ruby-lint/definitions/core/regexp_error.rb +3 -1
  115. data/lib/ruby-lint/definitions/core/ruby_copyright.rb +3 -1
  116. data/lib/ruby-lint/definitions/core/ruby_description.rb +3 -1
  117. data/lib/ruby-lint/definitions/core/ruby_engine.rb +3 -1
  118. data/lib/ruby-lint/definitions/core/ruby_patchlevel.rb +3 -1
  119. data/lib/ruby-lint/definitions/core/ruby_platform.rb +3 -1
  120. data/lib/ruby-lint/definitions/core/ruby_release_date.rb +3 -1
  121. data/lib/ruby-lint/definitions/core/ruby_version.rb +3 -1
  122. data/lib/ruby-lint/definitions/core/runtime_error.rb +3 -1
  123. data/lib/ruby-lint/definitions/core/scan_error.rb +3 -1
  124. data/lib/ruby-lint/definitions/core/script_error.rb +3 -1
  125. data/lib/ruby-lint/definitions/core/security_error.rb +3 -1
  126. data/lib/ruby-lint/definitions/core/shellwords.rb +3 -1
  127. data/lib/ruby-lint/definitions/core/signal.rb +3 -1
  128. data/lib/ruby-lint/definitions/core/signal_exception.rb +3 -1
  129. data/lib/ruby-lint/definitions/core/singleton.rb +3 -1
  130. data/lib/ruby-lint/definitions/core/sized_queue.rb +3 -1
  131. data/lib/ruby-lint/definitions/core/standard_error.rb +3 -1
  132. data/lib/ruby-lint/definitions/core/stderr.rb +2 -0
  133. data/lib/ruby-lint/definitions/core/stdin.rb +2 -0
  134. data/lib/ruby-lint/definitions/core/stdout.rb +2 -0
  135. data/lib/ruby-lint/definitions/core/stop_iteration.rb +3 -1
  136. data/lib/ruby-lint/definitions/core/string.rb +3 -1
  137. data/lib/ruby-lint/definitions/core/string_io.rb +3 -1
  138. data/lib/ruby-lint/definitions/core/string_scanner.rb +3 -1
  139. data/lib/ruby-lint/definitions/core/struct.rb +3 -1
  140. data/lib/ruby-lint/definitions/core/syck.rb +3 -1
  141. data/lib/ruby-lint/definitions/core/symbol.rb +3 -1
  142. data/lib/ruby-lint/definitions/core/syntax_error.rb +3 -1
  143. data/lib/ruby-lint/definitions/core/system_call_error.rb +3 -1
  144. data/lib/ruby-lint/definitions/core/system_exit.rb +3 -1
  145. data/lib/ruby-lint/definitions/core/system_stack_error.rb +3 -1
  146. data/lib/ruby-lint/definitions/core/thread.rb +3 -1
  147. data/lib/ruby-lint/definitions/core/thread_error.rb +3 -1
  148. data/lib/ruby-lint/definitions/core/thread_group.rb +3 -1
  149. data/lib/ruby-lint/definitions/core/time.rb +3 -1
  150. data/lib/ruby-lint/definitions/core/toplevel_binding.rb +3 -1
  151. data/lib/ruby-lint/definitions/core/true.rb +3 -1
  152. data/lib/ruby-lint/definitions/core/true_class.rb +3 -1
  153. data/lib/ruby-lint/definitions/core/type_error.rb +3 -1
  154. data/lib/ruby-lint/definitions/core/unbound_method.rb +3 -1
  155. data/lib/ruby-lint/definitions/core/unmarshalable.rb +3 -1
  156. data/lib/ruby-lint/definitions/core/unsupported_library_error.rb +3 -1
  157. data/lib/ruby-lint/definitions/core/weak_ref.rb +3 -1
  158. data/lib/ruby-lint/definitions/core/yaml.rb +1 -0
  159. data/lib/ruby-lint/definitions/core/zero_division_error.rb +3 -1
  160. data/lib/ruby-lint/definitions/core/zlib.rb +8840 -0
  161. data/lib/ruby-lint/definitions/rails/abstract_controller.rb +1 -0
  162. data/lib/ruby-lint/definitions/rails/action_controller.rb +1 -0
  163. data/lib/ruby-lint/definitions/rails/action_dispatch.rb +1 -0
  164. data/lib/ruby-lint/definitions/rails/action_mailer.rb +1 -0
  165. data/lib/ruby-lint/definitions/rails/action_pack.rb +1 -0
  166. data/lib/ruby-lint/definitions/rails/action_view.rb +1 -0
  167. data/lib/ruby-lint/definitions/rails/active_model.rb +1 -0
  168. data/lib/ruby-lint/definitions/rails/active_record.rb +1 -0
  169. data/lib/ruby-lint/definitions/rails/active_support.rb +1 -0
  170. data/lib/ruby-lint/definitions/rails/arel.rb +1 -0
  171. data/lib/ruby-lint/definitions/rails/rails.rb +1 -0
  172. data/lib/ruby-lint/definitions/rails/sprockets.rb +1 -0
  173. data/lib/ruby-lint/file_scanner.rb +2 -0
  174. data/lib/ruby-lint/iterator.rb +21 -12
  175. data/lib/ruby-lint/method_call_info.rb +31 -0
  176. data/lib/ruby-lint/node_hash.rb +105 -0
  177. data/lib/ruby-lint/parser.rb +4 -2
  178. data/lib/ruby-lint/runner.rb +62 -6
  179. data/lib/ruby-lint/template/definition.erb +2 -0
  180. data/lib/ruby-lint/version.rb +1 -1
  181. data/lib/ruby-lint/virtual_machine.rb +75 -43
  182. data/lib/ruby-lint.rb +20 -2
  183. data/profiling/virtual_machine.rb +20 -0
  184. data/ruby-lint.gemspec +2 -1
  185. data/spec/fixtures/complex/rcap.rb +29 -0
  186. data/spec/fixtures/complex/slop.rb +21 -0
  187. data/spec/fixtures/file_scanner/lib/ruby-lint/definition/constant_proxy.rb +6 -0
  188. data/spec/fixtures/file_scanner/lib/ruby-lint/global_scope.rb +6 -0
  189. data/spec/ruby-lint/analysis/unused_variables_spec.rb +114 -0
  190. data/spec/ruby-lint/cache_entry_spec.rb +25 -0
  191. data/spec/ruby-lint/cache_spec.rb +53 -0
  192. data/spec/ruby-lint/definition/ruby_method_spec.rb +4 -4
  193. data/spec/ruby-lint/definition/ruby_object_spec.rb +33 -0
  194. data/spec/ruby-lint/iterator_spec.rb +15 -0
  195. data/spec/ruby-lint/node_hash_spec.rb +56 -0
  196. data/spec/ruby-lint/runner_spec.rb +6 -1
  197. data/spec/ruby-lint/virtual_machine/assignments/variables_spec.rb +2 -2
  198. data/spec/ruby-lint/virtual_machine/location_spec.rb +64 -0
  199. data/spec/ruby-lint/virtual_machine/method_call_tracking_spec.rb +64 -0
  200. data/spec/spec_helper.rb +7 -0
  201. data/task/generate.rake +1 -1
  202. data.tar.gz.asc +14 -14
  203. metadata +34 -7
  204. metadata.gz.asc +14 -14
  205. data/debug/memory_usage.rb +0 -14
  206. data/debug/profile.rb +0 -18
  207. data/task/profile.rake +0 -27
@@ -12,8 +12,35 @@ module RubyLint
12
12
  # @!attribute [r] return_value
13
13
  # @return [Mixed] The value that is returned by the method.
14
14
  #
15
+ # @!attribute [r] calls
16
+ # @return [Array<RubyLint::MethodCallInfo>] The method calls made in the
17
+ # body of this method.
18
+ #
19
+ # @!attribute [r] callers
20
+ # @return [Array<RubyLint::MethodCallInfo>] The methods that called this
21
+ # method.
22
+ #
15
23
  class RubyMethod < RubyObject
16
- attr_reader :return_value, :visibility
24
+ attr_reader :calls, :callers, :return_value, :visibility
25
+
26
+ ##
27
+ # Called after a new instance of this class is created.
28
+ #
29
+ def after_initialize
30
+ @calls = []
31
+ @callers = []
32
+ end
33
+
34
+ ##
35
+ # @see RubyLint::Definition::RubyObject#deep_freeze
36
+ #
37
+ def deep_freeze
38
+ calls.freeze
39
+ callers.freeze
40
+ return_value.freeze
41
+
42
+ super
43
+ end
17
44
 
18
45
  ##
19
46
  # @return [Array]
@@ -59,6 +59,15 @@ module RubyLint
59
59
  # returns a collection of the members instead of the manually defined
60
60
  # value.
61
61
  #
62
+ # @!attribute [r] line
63
+ # @return [Numeric] The line number of the definition.
64
+ #
65
+ # @!attribute [r] column
66
+ # @return [Numeric] The column number of the definition.
67
+ #
68
+ # @!attribute [r] file
69
+ # @return [String] The file path of the definition.
70
+ #
62
71
  class RubyObject
63
72
  include VariablePredicates
64
73
 
@@ -109,7 +118,10 @@ module RubyLint
109
118
  ].freeze
110
119
 
111
120
  attr_reader :update_parents,
121
+ :column,
112
122
  :definitions,
123
+ :file,
124
+ :line,
113
125
  :members_as_value,
114
126
  :name,
115
127
  :type
@@ -153,6 +165,26 @@ module RubyLint
153
165
  yield self if block_given?
154
166
  end
155
167
 
168
+ ##
169
+ # Freezes the definition and all child definitions.
170
+ #
171
+ def deep_freeze
172
+ @definitions.each do |type, collection|
173
+ collection.each do |name, object|
174
+ if object != self and !object.frozen?
175
+ object.deep_freeze
176
+ end
177
+ end
178
+ end
179
+
180
+ @definitions.freeze
181
+ @parents.freeze
182
+ @update_parents.freeze
183
+ @value.freeze
184
+
185
+ freeze
186
+ end
187
+
156
188
  ##
157
189
  # Returns the value of the definition. If `members_as_value` is set to
158
190
  # `true` the return value is a Hash containing the names and values of
@@ -352,7 +384,7 @@ module RubyLint
352
384
  def has_definition?(type, name)
353
385
  type, name = prepare_lookup(type, name)
354
386
 
355
- if definitions[type] and definitions[type][name]
387
+ if definitions.key?(type) and definitions[type].key?(name)
356
388
  return true
357
389
 
358
390
  elsif lookup_parent?(type)
@@ -397,7 +429,7 @@ module RubyLint
397
429
  def defines?(type, name)
398
430
  type, name = prepare_lookup(type, name)
399
431
 
400
- return definitions[type] && definitions[type][name]
432
+ return definitions.key?(type) && definitions[type].key?(name)
401
433
  end
402
434
 
403
435
  ##
@@ -411,7 +443,9 @@ module RubyLint
411
443
  # @return [Array]
412
444
  #
413
445
  def list(type)
414
- return definitions[type.to_sym].values
446
+ type = type.to_sym
447
+
448
+ return definitions.key?(type) ? definitions[type].values : []
415
449
  end
416
450
 
417
451
  ##
@@ -62,7 +62,10 @@ module RubyLint
62
62
  :parents => parents,
63
63
  :type => type,
64
64
  :instance_type => :instance,
65
- :visibility => options[:visibility]
65
+ :visibility => options[:visibility],
66
+ :line => node.line,
67
+ :column => node.column,
68
+ :file => node.file
66
69
  )
67
70
  end
68
71
 
@@ -58,7 +58,10 @@ module RubyLint
58
58
  :name => module_name,
59
59
  :parents => parents,
60
60
  :reference_amount => 1,
61
- :type => :const
61
+ :type => :const,
62
+ :line => node.line,
63
+ :column => node.column,
64
+ :file => node.file
62
65
  )
63
66
 
64
67
  definition.add(:keyword, 'self', definition)
@@ -146,8 +146,9 @@ module RubyLint
146
146
  methods.each do |method|
147
147
  args = []
148
148
 
149
- method.parameters.each do |arg|
150
- args << {:type => arg_mapping[arg[0]], :name => arg[1]}
149
+ method.parameters.each_with_index do |arg, index|
150
+ name = arg[1] || "arg#{index + 1}"
151
+ args << {:type => arg_mapping[arg[0]], :name => name}
151
152
  end
152
153
 
153
154
  info[type][method.name] = args
@@ -4,4 +4,6 @@
4
4
  # Platform: rbx 2.0.0.rc1
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('ARG0') do |klass|
7
- end
7
+ end
8
+
9
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ARG0').deep_freeze
@@ -4,4 +4,6 @@
4
4
  # Platform: rbx 2.0.0.rc1
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('ARGF') do |klass|
7
- end
7
+ end
8
+
9
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ARGF').deep_freeze
@@ -9,4 +9,6 @@ RubyLint::GlobalScope.definitions.define_constant('ArgumentError') do |klass|
9
9
  klass.define_method('__class_init__')
10
10
 
11
11
  klass.define_instance_method('to_s')
12
- end
12
+ end
13
+
14
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ArgumentError').deep_freeze
@@ -4,4 +4,6 @@
4
4
  # Platform: rbx 2.0.0.rc1
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('ARGV') do |klass|
7
- end
7
+ end
8
+
9
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ARGV').deep_freeze
@@ -411,4 +411,6 @@ RubyLint::GlobalScope.definitions.define_constant('Array::ValueGenerator') do |k
411
411
  klass.define_instance_method('next?')
412
412
 
413
413
  klass.define_instance_method('rewind')
414
- end
414
+ end
415
+
416
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Array').deep_freeze
@@ -36,4 +36,6 @@ RubyLint::GlobalScope.definitions.define_constant('Autoload') do |klass|
36
36
  klass.define_instance_method('set_path') do |method|
37
37
  method.define_argument('path')
38
38
  end
39
- end
39
+ end
40
+
41
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Autoload').deep_freeze
@@ -40,3 +40,5 @@ RubyLint::GlobalScope.definitions.define_constant('BasicObject') do |klass|
40
40
  method.define_block_argument('prc')
41
41
  end
42
42
  end
43
+
44
+ RubyLint::GlobalScope.definitions.lookup(:const, 'BasicObject').deep_freeze
@@ -125,4 +125,6 @@ RubyLint::GlobalScope.definitions.define_constant('Bignum') do |klass|
125
125
  end
126
126
 
127
127
  klass.define_instance_method('~')
128
- end
128
+ end
129
+
130
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Bignum').deep_freeze
@@ -49,4 +49,6 @@ RubyLint::GlobalScope.definitions.define_constant('Binding') do |klass|
49
49
  klass.define_instance_method('variables')
50
50
 
51
51
  klass.define_instance_method('variables=')
52
- end
52
+ end
53
+
54
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Binding').deep_freeze
@@ -21,3 +21,5 @@ RubyLint::GlobalScope.definitions.define_constant('Class') do |klass|
21
21
  end
22
22
  end
23
23
  end
24
+
25
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Class').deep_freeze
@@ -35,4 +35,6 @@ RubyLint::GlobalScope.definitions.define_constant('Comparable') do |klass|
35
35
  method.define_argument('min')
36
36
  method.define_argument('max')
37
37
  end
38
- end
38
+ end
39
+
40
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Comparable').deep_freeze
@@ -192,4 +192,6 @@ end
192
192
  # Platform: rbx 2.0.0.rc1
193
193
  #
194
194
  RubyLint::GlobalScope.definitions.define_constant('Complex::I') do |klass|
195
- end
195
+ end
196
+
197
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Complex').deep_freeze
@@ -16,4 +16,6 @@ RubyLint::GlobalScope.definitions.define_constant('ConditionVariable') do |klass
16
16
  method.define_argument('mutex')
17
17
  method.define_optional_argument('timeout')
18
18
  end
19
- end
19
+ end
20
+
21
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ConditionVariable').deep_freeze
@@ -5,4 +5,6 @@
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('Continuation') do |klass|
7
7
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
8
- end
8
+ end
9
+
10
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Continuation').deep_freeze
@@ -5,4 +5,6 @@
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('Data') do |klass|
7
7
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Object'))
8
- end
8
+ end
9
+
10
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Data').deep_freeze
@@ -703,4 +703,6 @@ end
703
703
  # Platform: rbx 2.0.0.rc1
704
704
  #
705
705
  RubyLint::GlobalScope.definitions.define_constant('Date::UNIX_EPOCH_IN_CJD') do |klass|
706
- end
706
+ end
707
+
708
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Date').deep_freeze
@@ -378,4 +378,6 @@ end
378
378
  # Platform: rbx 2.0.0.rc1
379
379
  #
380
380
  RubyLint::GlobalScope.definitions.define_constant('DateTime::UNIX_EPOCH_IN_CJD') do |klass|
381
- end
381
+ end
382
+
383
+ RubyLint::GlobalScope.definitions.lookup(:const, 'DateTime').deep_freeze
@@ -4,4 +4,6 @@
4
4
  # Platform: rbx 2.0.0.rc1
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('DEFAULT_RECORD_SEPARATOR') do |klass|
7
- end
7
+ end
8
+
9
+ RubyLint::GlobalScope.definitions.lookup(:const, 'DEFAULT_RECORD_SEPARATOR').deep_freeze
@@ -163,4 +163,6 @@ end
163
163
  #
164
164
  RubyLint::GlobalScope.definitions.define_constant('Digest::SHA512') do |klass|
165
165
  klass.inherits(RubyLint::GlobalScope.constant_proxy('Digest::Base'))
166
- end
166
+ end
167
+
168
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Digest').deep_freeze
@@ -493,4 +493,6 @@ end
493
493
  # Platform: rbx 2.0.0.rc1
494
494
  #
495
495
  RubyLint::GlobalScope.definitions.define_constant('Dir::TellKind') do |klass|
496
- end
496
+ end
497
+
498
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Dir').deep_freeze
@@ -2027,4 +2027,6 @@ end
2027
2027
  # Platform: rbx 2.0.0.rc1
2028
2028
  #
2029
2029
  RubyLint::GlobalScope.definitions.define_constant('Encoding::Windows_874') do |klass|
2030
- end
2030
+ end
2031
+
2032
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Encoding').deep_freeze
@@ -5,4 +5,6 @@
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('EncodingError') do |klass|
7
7
  klass.inherits(RubyLint::GlobalScope.constant_proxy('StandardError'))
8
- end
8
+ end
9
+
10
+ RubyLint::GlobalScope.definitions.lookup(:const, 'EncodingError').deep_freeze
@@ -349,4 +349,6 @@ RubyLint::GlobalScope.definitions.define_constant('Enumerable::SortedElement') d
349
349
  klass.define_instance_method('sort_id')
350
350
 
351
351
  klass.define_instance_method('value')
352
- end
352
+ end
353
+
354
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Enumerable').deep_freeze
@@ -34,4 +34,6 @@ RubyLint::GlobalScope.definitions.define_constant('Enumerator') do |klass|
34
34
  klass.define_instance_method('with_index') do |method|
35
35
  method.define_optional_argument('offset')
36
36
  end
37
- end
37
+ end
38
+
39
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Enumerator').deep_freeze
@@ -4,4 +4,7 @@
4
4
  # Platform: rbx 2.0.0.rc1
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('ENV') do |klass|
7
- end
7
+ klass.inherits(RubyLint::GlobalScope.constant_proxy('Hash'))
8
+ end
9
+
10
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ENV').deep_freeze
@@ -5,4 +5,6 @@
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('EOFError') do |klass|
7
7
  klass.inherits(RubyLint::GlobalScope.constant_proxy('IOError'))
8
- end
8
+ end
9
+
10
+ RubyLint::GlobalScope.definitions.lookup(:const, 'EOFError').deep_freeze
@@ -309,3 +309,5 @@ RubyLint::GlobalScope.definitions.define_constant('ERB::Util') do |klass|
309
309
  method.define_argument('s')
310
310
  end
311
311
  end
312
+
313
+ RubyLint::GlobalScope.definitions.lookup(:const, 'ERB').deep_freeze
@@ -3328,4 +3328,6 @@ end
3328
3328
  # Platform: rbx 2.0.0.rc1
3329
3329
  #
3330
3330
  RubyLint::GlobalScope.definitions.define_constant('Errno::Mapping') do |klass|
3331
- end
3331
+ end
3332
+
3333
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Errno').deep_freeze
@@ -135,4 +135,6 @@ RubyLint::GlobalScope.definitions.define_constant('Etc::Passwd') do |klass|
135
135
  klass.define_instance_method('shell')
136
136
 
137
137
  klass.define_instance_method('uid')
138
- end
138
+ end
139
+
140
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Etc').deep_freeze
@@ -69,4 +69,6 @@ RubyLint::GlobalScope.definitions.define_constant('Exception') do |klass|
69
69
  klass.define_instance_method('to_s')
70
70
 
71
71
  klass.define_instance_method('to_yaml_properties')
72
- end
72
+ end
73
+
74
+ RubyLint::GlobalScope.definitions.lookup(:const, 'Exception').deep_freeze
@@ -4,4 +4,6 @@
4
4
  # Platform: rbx 2.0.0.rc1
5
5
  #
6
6
  RubyLint::GlobalScope.definitions.define_constant('FALSE') do |klass|
7
- end
7
+ end
8
+
9
+ RubyLint::GlobalScope.definitions.lookup(:const, 'FALSE').deep_freeze
@@ -27,4 +27,6 @@ RubyLint::GlobalScope.definitions.define_constant('FalseClass') do |klass|
27
27
  klass.define_instance_method('|') do |method|
28
28
  method.define_argument('other')
29
29
  end
30
- end
30
+ end
31
+
32
+ RubyLint::GlobalScope.definitions.lookup(:const, 'FalseClass').deep_freeze