class Unparser::Emitter::Repetition
Emitter
for while and until nodes
Constants
- MAP
Private Instance Methods
dispatch()
click to toggle source
# File lib/unparser/emitter/repetition.rb, line 39 def dispatch if postcontrol? emit_postcontrol else emit_normal end end
emit_keyword()
click to toggle source
# File lib/unparser/emitter/repetition.rb, line 51 def emit_keyword write(MAP.fetch(node.type), ' ') end
emit_normal()
click to toggle source
# File lib/unparser/emitter/repetition.rb, line 55 def emit_normal emit_keyword visit(condition) if body emit_body(body) else nl end k_end end
emit_postcontrol()
click to toggle source
# File lib/unparser/emitter/repetition.rb, line 66 def emit_postcontrol visit(body) ws emit_keyword visit(condition) end
postcontrol?()
click to toggle source
# File lib/unparser/emitter/repetition.rb, line 47 def postcontrol? body && local_variable_scope.first_assignment_in?(body, condition) end