1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
# frozen_string_literal: true
module Unparser
class Emitter
# Emitter for simple nodes that generate a single token
class Simple < self
MAP = {
__ENCODING__: '__ENCODING__',
__FILE__: '__FILE__',
__LINE__: '__LINE__',
false: 'false',
forward_arg: '...',
forwarded_args: '...',
kwnilarg: '**nil',
match_nil_pattern: '**nil',
nil: 'nil',
redo: 'redo',
retry: 'retry',
self: 'self',
true: 'true',
zsuper: 'super'
}.freeze
handle(*MAP.keys)
private
def dispatch
write(MAP.fetch(node_type))
end
end # Simple
end # Emitter
end # Unparser
|