Sha256: 6fa7691f5b329103b750e312104f5e581c373a73b5d03dfd8900edbae62701d7
Contents?: true
Size: 763 Bytes
Versions: 1
Compression:
Stored size: 763 Bytes
Contents
module Ruby2JS class Converter # (return # (int 1)) handle :return do |value=nil| if value "return #{ parse value }" else "return" end end EXPRESSIONS = [ :array, :float, :hash, :int, :lvar, :nil, :send, :attr, :str, :sym, :dstr, :dsym ] handle :autoreturn do |*statements| return if statements == [nil] block = statements.dup while block.length == 1 and block.first.type == :begin block = block.first.children.dup end if EXPRESSIONS.include? block.last.type block.push s(:return, block.pop) end if block.length == 1 parse block.first, @state else parse s(:begin, *block), @state end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby2js-1.5.0 | lib/ruby2js/converter/return.rb |