bin/r2r_show in ruby2ruby-1.1.8 vs bin/r2r_show in ruby2ruby-1.1.9

- old
+ new

@@ -1,44 +1,29 @@ #!/usr/local/bin/ruby -ws begin require 'rubygems' rescue LoadError end require 'ruby2ruby' +require 'parse_tree' -def discover_new_classes_from - old_classes = [] - ObjectSpace.each_object(Module) do |klass| - old_classes << klass - end +$h ||= false - yield +if $h then + puts "usage: #{File.basename $0} [options] [file...]" + puts "options:" + puts "-h : display usage" - new_classes = [] - ObjectSpace.each_object(Module) do |klass| - new_classes << klass - end - - new_classes -= old_classes - new_classes = [ eval($c) ] if defined? $c - new_classes + exit 1 end -$f = true unless defined? $f +ARGV.push "-" if ARGV.empty? -new_classes = discover_new_classes_from do - ARGV.unshift "-" if ARGV.empty? - ARGV.each do |name| - if name == "-" then - code = $stdin.read - code = "class Example; def example; #{code}; end; end" if $f - eval code unless code.nil? - else - require name - end - end -end +parse_tree = ParseTree.new +ruby2ruby = Ruby2Ruby.new -result = ParseTree.new.parse_tree(*new_classes) +ARGV.each do |file| + ruby = file == "-" ? $stdin.read : File.read(file) -result = result[0][3][2][1][2..-1] if $f + sexp = parse_tree.parse_tree_for_string(ruby, file).first -puts RubyToRuby.new.process(result.first) + puts ruby2ruby.process(sexp) +end