Class: Dentaku::AST::Literal

Inherits:
Node
  • Object
show all
Defined in:
lib/dentaku/ast/literal.rb

Direct Known Subclasses

DateTime, Logical, Numeric, String

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Node

arity, #name, peek, precedence

Constructor Details

#initialize(token) ⇒ Literal

Returns a new instance of Literal.



6
7
8
9
10
# File 'lib/dentaku/ast/literal.rb', line 6

def initialize(token)
  @token = token
  @value = token.value
  @type  = token.category
end

Instance Attribute Details

#typeObject (readonly)

Returns the value of attribute type.



4
5
6
# File 'lib/dentaku/ast/literal.rb', line 4

def type
  @type
end

Instance Method Details

#accept(visitor) ⇒ Object



20
21
22
# File 'lib/dentaku/ast/literal.rb', line 20

def accept(visitor)
  visitor.visit_literal(self)
end

#dependenciesObject



16
17
18
# File 'lib/dentaku/ast/literal.rb', line 16

def dependencies(*)
  []
end

#quotedObject Also known as: to_s



24
25
26
# File 'lib/dentaku/ast/literal.rb', line 24

def quoted
  @token.raw_value || value.to_s
end

#valueObject



12
13
14
# File 'lib/dentaku/ast/literal.rb', line 12

def value(*)
  @value
end