Class: KQL::Tokenizer::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/kql/tokenizer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, value, line, column) ⇒ Token

Returns a new instance of Token.



12
13
14
15
16
17
# File 'lib/kql/tokenizer.rb', line 12

def initialize(type, value, line, column)
  @type = type
  @value = value
  @line = line
  @column = column
end

Instance Attribute Details

#columnObject (readonly)

Returns the value of attribute column.



10
11
12
# File 'lib/kql/tokenizer.rb', line 10

def column
  @column
end

#lineObject (readonly)

Returns the value of attribute line.



10
11
12
# File 'lib/kql/tokenizer.rb', line 10

def line
  @line
end

#typeObject (readonly)

Returns the value of attribute type.



10
11
12
# File 'lib/kql/tokenizer.rb', line 10

def type
  @type
end

#valueObject (readonly)

Returns the value of attribute value.



10
11
12
# File 'lib/kql/tokenizer.rb', line 10

def value
  @value
end

Instance Method Details

#==(other) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/kql/tokenizer.rb', line 19

def ==(other  )
  return false unless other.is_a?(Token)
  return false unless type == other.type && value == other.value

  if line && other.line
    return false unless line == other.line
  end
  if column && other.column
    return false unless column == other.column
  end

  true
end

#to_sObject Also known as: inspect



33
34
35
# File 'lib/kql/tokenizer.rb', line 33

def to_s
  "#{value.inspect} (#{line || '?'}:#{column || '?'})"
end