Fix up Rubinius specific library specs.
[rbx.git] / lib / compiler / garnet / cerberus.rb
blob0210deb4a1a1e9cefc552ac515b4d585ed94da7c
1 class Compiler
2 class Node
3   
4   class GenerationError < RuntimeError; end
5   
6   def to_cerb
7     raise GenerationError, "#{self.class} does not support cerb"
8   end
9   
10   class Call
11     def to_cerb
12        
13     end
14     
15     def collapse_args(e)
16       unless @arguments.kind_of? Array
17         raise GenerationError, "Direct arguments are the only support type"
18       end
19       
20       args = @arguments.map { |a| a.to_cerb(e) }
21       args.join(', ')
22     end
23     
24   end
25   
26   class FCall
27     def to_cerb(e)
28       if @arguments.empty?
29         "#{@method}()"
30       else
31         "#{@method}(#{collapse_args(e)}"
32       end
33     end
34   end
35   
36 end
37 end