Sha256: 1cf962e6dfab8349c001424d4b0636cd4a3bd391bbc5dad106aa6fa54b46acf7
Contents?: true
Size: 756 Bytes
Versions: 1
Compression:
Stored size: 756 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, :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.4.0 | lib/ruby2js/converter/return.rb |