<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -35,14 +35,8 @@ class CompilerScript
 
     @options.on(&quot;-T&quot;, &quot;--transforms&quot;, &quot;NAME&quot;,
                 &quot;Enable NAME category of AST transforms&quot;) do |c|
-      if c == &quot;all&quot;
-        Rubinius::AST::Transforms.category_map.each do |c, ts|
-          @transforms.concat ts
-        end
-      else
-        transforms = Rubinius::AST::Transforms.category c.to_sym
-        @transforms.concat transforms if transforms
-      end
+      transforms = Rubinius::AST::Transforms.category c.to_sym
+      @transforms.concat transforms if transforms
     end
 
     @options.on &quot;--no-transform&quot;, &quot;Do not transform the AST&quot; do</diff>
      <filename>lib/bin/compile-ng.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,11 @@ module Rubinius
       end
 
       def self.category(name)
-        category_map[name]
+        if name == :all
+          category_map.values.flatten
+        else
+          category_map[name]
+        end
       end
     end
 </diff>
      <filename>lib/compiler-ng/ast/transforms.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,11 +15,12 @@ module Rubinius
       end
     end
 
-    def self.compile(file, line=1, output=nil)
+    def self.compile(file, line=1, output=nil, transforms=:default)
       compiler = new :file, :compiled_file
 
       parser = compiler.parser
       parser.root AST::Script
+      parser.enable_category transforms
       parser.input file, line
 
       writer = compiler.writer</diff>
      <filename>lib/compiler-ng/compiler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -167,6 +167,11 @@ module Rubinius
         @printer
       end
 
+      def enable_category(name)
+        transforms = AST::Transforms.category name
+        @transforms.concat transforms if transforms
+      end
+
       def enable_transform(name)
         transform = AST::Transforms[name]
         @transforms &lt;&lt; transform if transform</diff>
      <filename>lib/compiler-ng/stages.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b282495fef277624622d633a4ef18e3bd695d611</id>
    </parent>
  </parents>
  <author>
    <name>Brian Ford</name>
    <email>bford@engineyard.com</email>
  </author>
  <url>http://github.com/evanphx/rubinius/commit/fe7e70c800e3b7df8c9053a20111b761c30186d0</url>
  <id>fe7e70c800e3b7df8c9053a20111b761c30186d0</id>
  <committed-date>2009-11-06T10:42:28-08:00</committed-date>
  <authored-date>2009-11-05T21:53:47-08:00</authored-date>
  <message>Easier method of loading AST transforms by category.</message>
  <tree>5c8562548b86c2b534cb007c4dc086bacf7f008f</tree>
  <committer>
    <name>Brian Ford</name>
    <email>bford@engineyard.com</email>
  </committer>
</commit>
