Class | Nitpick::LocalVariableCounter |
In: |
lib/nitpick/local_variable_counter.rb
|
Parent: | Nitpicker |
# File lib/nitpick/local_variable_counter.rb, line 3 def initialize(klass, meth) super # uses.succ each time a local variable is referenced or assigned to # calls.succ each time a message is sent to a lvar (foo.bar) @lvars = Hash.new {|h,k| h[k] = {:uses => 0, :calls => 0}} @args = [] end
# File lib/nitpick/local_variable_counter.rb, line 58 def process_args(exp) exp.each do |arg| next unless arg.is_a? Symbol name = arg.to_s.gsub(/^\*/, '') next if name == "" @args << name.to_sym use name.to_sym end exp.clear s(:args, *@args) end
# File lib/nitpick/local_variable_counter.rb, line 74 def process_block_arg(exp) name = exp.shift @args << name use name s(:block_arg, name) end
# File lib/nitpick/local_variable_counter.rb, line 42 def process_call(exp) recv = process(exp.shift) meth = exp.shift args = process(exp.shift) call recv.last if recv.first == :lvar s(:call, recv, meth, args) end
# File lib/nitpick/local_variable_counter.rb, line 33 def process_iasgn(exp) name = exp.shift value = exp.shift process(value) s(:iasgn, name, value) end
# File lib/nitpick/local_variable_counter.rb, line 23 def process_lasgn(exp) name = exp.shift value = exp.shift use name process(value) s(:lasgn, name, value) end
# File lib/nitpick/local_variable_counter.rb, line 52 def process_lvar(exp) name = exp.shift use name s(:lvar, name) end