class RBS::Prototype::RB::Context

def self.initial(namespace: Namespace.root)

def self.initial(namespace: Namespace.root)
  self.new(module_function: false, singleton: false, namespace: namespace, in_def: false)
end

def attribute_kind

def attribute_kind
  if singleton
    :singleton
  else
    :instance
  end
end

def enter_namespace(namespace)

def enter_namespace(namespace)
  Context.initial(namespace: self.namespace + namespace)
end

def method_kind

def method_kind
  if singleton
    :singleton
  elsif module_function
    :singleton_instance
  else
    :instance
  end
end

def update(module_function: self.module_function, singleton: self.singleton, in_def: self.in_def)

def update(module_function: self.module_function, singleton: self.singleton, in_def: self.in_def)
  Context.new(module_function: module_function, singleton: singleton, namespace: namespace, in_def: in_def)
end