class RBS::AST::Declarations::Module::Self

def ==(other)

def ==(other)
  other.is_a?(Self) && other.name == name && other.args == args
end

def hash

def hash
  self.class.hash ^ name.hash ^ args.hash ^ location.hash
end

def initialize(name:, args:, location:)

def initialize(name:, args:, location:)
  @name = name
  @args = args
  @location = location
end

def to_json(state = _ = nil)

def to_json(state = _ = nil)
  {
    name: name,
    args: args,
    location: location
  }.to_json(state)
end

def to_s

def to_s
  if args.empty?
    name.to_s
  else
    "#{name}[#{args.join(", ")}]"
  end
end