Class: GraphQL::Language::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/language/token.rb

Overview

Emitted by the lexer and passed to the parser. Contains type, value and position data.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value:, name:, line:, col:, prev_token:) ⇒ Token

Returns a new instance of Token.



13
14
15
16
17
18
19
# File 'lib/graphql/language/token.rb', line 13

def initialize(value:, name:, line:, col:, prev_token:)
  @name = name
  @value = value.freeze
  @line = line
  @col = col
  @prev_token = prev_token
end

Instance Attribute Details

#colObject (readonly)

Returns the value of attribute col.



11
12
13
# File 'lib/graphql/language/token.rb', line 11

def col
  @col
end

#lineObject (readonly)

Returns the value of attribute line.



11
12
13
# File 'lib/graphql/language/token.rb', line 11

def line
  @line
end

#nameSymbol (readonly)

Returns The kind of token this is.

Returns:

  • (Symbol)

    The kind of token this is



8
9
10
# File 'lib/graphql/language/token.rb', line 8

def name
  @name
end

#prev_tokenObject (readonly)

Returns the value of attribute prev_token.



11
12
13
# File 'lib/graphql/language/token.rb', line 11

def prev_token
  @prev_token
end

#valueString (readonly) Also known as: to_s

Returns The text of this token.

Returns:

  • (String)

    The text of this token



10
11
12
# File 'lib/graphql/language/token.rb', line 10

def value
  @value
end

Instance Method Details

#inspectObject



29
30
31
# File 'lib/graphql/language/token.rb', line 29

def inspect
  "(#{@name} #{@value.inspect} [#{@line}:#{@col}])"
end

#line_and_columnObject



25
26
27
# File 'lib/graphql/language/token.rb', line 25

def line_and_column
  [@line, @col]
end

#to_fObject



23
# File 'lib/graphql/language/token.rb', line 23

def to_f; @value.to_f; end

#to_iObject



22
# File 'lib/graphql/language/token.rb', line 22

def to_i; @value.to_i; end