require_relative "normalizer" module Ruby class WhileStatement < Statement include Normalizer attr_reader :condition , :body , :hoisted def initialize( condition , body , hoisted = nil) @hoisted = hoisted @condition = condition @body = body end def to_vool cond , hoisted = *normalized_vool(@condition) Vool::WhileStatement.new(cond , @body.to_vool , hoisted) end def to_s(depth = 0) at_depth(depth , "while (#{@condition})" , @body.to_s(depth + 1) , "end" ) end end end