class Parser::Source::Map


@api public
#

def ==(other)

def ==(other)
  other.class == self.class &&
    instance_variables.map do |ivar|
      instance_variable_get(ivar) ==
        other.send(:instance_variable_get, ivar)
    end.reduce(:&)
end

def column

def column
  @expression.column
end

def initialize(expression)

def initialize(expression)
  @expression = expression
  freeze
end

def line

def line
  @expression.line
end

def to_hash

def to_hash
  Hash[instance_variables.map do |ivar|
    [ ivar[1..-1].to_sym, instance_variable_get(ivar) ]
  end]
end

def update_expression(expression_l)

def update_expression(expression_l)
  @expression = expression_l
end

def with(&block)

def with(&block)
  dup.tap(&block).freeze
end

def with_expression(expression_l)

def with_expression(expression_l)
  with { |map| map.update_expression(expression_l) }
end