class Rubocop::Cop::Style::TrivialAccessors

have been created with the attr_* family of functions automatically.
This cop looks for trivial reader/writer methods, that could

def allow_predicates?

def allow_predicates?
  cop_config['AllowPredicates']
end

def allowed_method?(method_name, body)

def allowed_method?(method_name, body)
  allow_predicates? && predicate?(method_name) ||
    whitelist.include?(method_name) ||
    exact_name_match? && !names_match?(method_name, body)
end

def check(node, method_name, args, body)

def check(node, method_name, args, body)
  kind = if trivial_reader?(method_name, args, body)
           'reader'
         elsif trivial_writer?(method_name, args, body)
           'writer'
         end
  if kind
    convention(node, :keyword,
               sprintf(MSG, kind, kind))
  end
end

def exact_name_match?

def exact_name_match?
  cop_config['ExactNameMatch']
end

def looks_like_trivial_reader?(args, body)

def looks_like_trivial_reader?(args, body)
  args.children.size == 0 && body && body.type == :ivar
end

def looks_like_trivial_writer?(args, body)

def looks_like_trivial_writer?(args, body)
  args.children.size == 1 &&
    body && body.type == :ivasgn &&
    body.children[1] && body.children[1].type == :lvar
end

def names_match?(method_name, body)

def names_match?(method_name, body)
  ivar_name, = *body
  method_name.to_s.chomp('=') == ivar_name[1..-1]
end

def on_def(node)

def on_def(node)
  method_name, args, body = *node
  check(node, method_name, args, body)
end

def on_defs(node)

def on_defs(node)
  _scope, method_name, args, body = *node
  check(node, method_name, args, body)
end

def predicate?(method_name)

def predicate?(method_name)
  method_name[-1] == '?'
end

def trivial_reader?(method_name, args, body)

def trivial_reader?(method_name, args, body)
  looks_like_trivial_reader?(args, body) &&
    !allowed_method?(method_name, body)
end

def trivial_writer?(method_name, args, body)

def trivial_writer?(method_name, args, body)
  looks_like_trivial_writer?(args, body) &&
    !allowed_method?(method_name, body)
end

def whitelist

def whitelist
  whitelist = cop_config['Whitelist']
  Array(whitelist).map(&:to_sym) + [:initialize]
end