class Arcamark::Token

Constants

TYPES

Attributes

column[R]
index[R]
line[R]
type[R]
value[R]

Public Class Methods

new(type, value, index, line, column) click to toggle source
# File lib/arcamark/token.rb, line 9
def initialize(type, value, index, line, column)
  self.type   = type
  self.value  = value
  self.index  = index
  self.line   = line
  self.column = column
end

Public Instance Methods

inspect() click to toggle source
# File lib/arcamark/token.rb, line 17
def inspect
  "#<#{self.class}:#{index}:#{line}:#{column}:#{type}:#{inspect_value}>"
end
inspect_value() click to toggle source
# File lib/arcamark/token.rb, line 21
def inspect_value
  inner = value.inspect[1...-1]
  if inner.length > 20
    "\"#{inner[0...17]}\"..."
  else
    "\"#{inner}\""
  end
end

Private Instance Methods

column=(column) click to toggle source
# File lib/arcamark/token.rb, line 64
def column=(column)
  unless column.instance_of? Integer
    raise TypeError, "Expected #{Integer}, got #{colum.class}"
  end
  raise 'Invalid column' unless column.positive?

  @column = column
end
index=(index) click to toggle source
# File lib/arcamark/token.rb, line 46
def index=(index)
  unless index.instance_of? Integer
    raise TypeError, "Expected #{Integer}, got #{index.class}"
  end
  raise 'Invalid index' unless index >= 0

  @index = index
end
line=(line) click to toggle source
# File lib/arcamark/token.rb, line 55
def line=(line)
  unless line.instance_of? Integer
    raise TypeError, "Expected #{Integer}, got #{line.class}"
  end
  raise 'Invalid line' unless line.positive?

  @line = line
end
type=(type) click to toggle source
# File lib/arcamark/token.rb, line 32
def type=(type)
  raise 'Invalid type' unless TYPES.include? type

  @type = type
end
value=(value) click to toggle source
# File lib/arcamark/token.rb, line 38
def value=(value)
  unless value.instance_of? String
    raise TypeError, "Expected #{String}, got #{value.class}"
  end

  @value = value
end