# File lib/brakeman/processors/lib/module_helper.rb, line 33
  def handle_class exp, collection, tracker_class
    name = class_name(exp.class_name)
    parent = class_name exp.parent_name

    if @current_class
      outer_class = @current_class
      name = (outer_class.name.to_s + "::" + name.to_s).to_sym
    end

    if @current_module
      name = (@current_module.name.to_s + "::" + name.to_s).to_sym
    end

    if collection[name]
      @current_class = collection[name]
      @current_class.add_file @file_name, exp
    else
      @current_class = tracker_class.new name, parent, @file_name, exp, @tracker 
      collection[name] = @current_class
    end

    exp.body = process_all! exp.body

    yield if block_given?

    if outer_class
      @current_class = outer_class
    else
      @current_class = nil
    end

    exp
  end