class RuboCop::Cop::Naming::MemoizedInstanceVariableName

def self.node_pattern

def self.node_pattern
  memo_assign = '(or_asgn $(ivasgn _) _)'
  memoized_at_end_of_method = "(begin ... #{memo_assign})"
  instance_method =
    "(def $_ _ {#{memo_assign} #{memoized_at_end_of_method}})"
  class_method =
    "(defs self $_ _ {#{memo_assign} #{memoized_at_end_of_method}})"
  "{#{instance_method} #{class_method}}"
end