class Yadriggy::ASTnode::GetLocation

@api private

Public Class Methods

new() click to toggle source
# File lib/yadriggy/ast_location.rb, line 32
def initialize
  @unknown = true
  @line_no = 0
  @column = 0
end

Public Instance Methods

name(expr) click to toggle source
Calls superclass method
# File lib/yadriggy/ast_location.rb, line 44
def name(expr)
  super
  if @unknown
    @unknown = false
    @line_no = expr.line_no
    @column = expr.column
  else
    if expr.line_no < @line_no
      @line_no = expr.line_no
      @column = expr.column
    elsif expr.line_no == @line_no && expr.column < @column
      @column = expr.column
    end
  end
end
number(expr) click to toggle source
# File lib/yadriggy/ast_location.rb, line 64
def number(expr)
  name(expr)
end
result(file_name) click to toggle source
# File lib/yadriggy/ast_location.rb, line 40
def result(file_name)
  [file_name, @line_no, @column]
end
string_literal(expr) click to toggle source
# File lib/yadriggy/ast_location.rb, line 68
def string_literal(expr)
  name(expr)
end
symbol(expr) click to toggle source
# File lib/yadriggy/ast_location.rb, line 60
def symbol(expr)
  name(expr)
end
unknown?() click to toggle source
# File lib/yadriggy/ast_location.rb, line 38
def unknown?() @unknown end