Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.jruby.ir;
  
  import java.util.HashSet;
  import java.util.Iterator;
  import java.util.List;
  import java.util.Set;
 
 public class IRManager {
     public static String DEFAULT_COMPILER_PASSES = "OptimizeTempVarsPass,LocalOptimizationPass,LinearizeCFG";
     public static String DEFAULT_INLINING_COMPILER_PASSES = "LocalOptimizationPass";
 
     private int dummyMetaClassCount = 0;
     private final IRModuleBody classMetaClass = new IRMetaClassBody(thisnullgetMetaClassName(), "", 0, null);
     private final IRModuleBody object = new IRClassBody(thisnull"Object""", 0, null);
     private final Nil nil = new Nil();
     private final BooleanLiteral trueObject = new BooleanLiteral(true);
     private final BooleanLiteral falseObject = new BooleanLiteral(false);
     // Listeners for debugging and testing of IR
 
     private InstructionsListener instrsListener = null;
     private IRScopeListener irScopeListener = null;
 
 
     // FIXME: Eventually make these attrs into either a) set b) part of state machine
     private List<CompilerPasscompilerPasses = new ArrayList<CompilerPass>();
 
     // If true then code will not execute (see ir/ast tool)
     private boolean dryRun = false;
 
     public IRManager() {
     }
 
     public boolean isDryRun() {
         return ;
     }
 
     public void setDryRun(boolean value) {
         this. = value;
     }
 
     public Nil getNil() {
         return ;
     }
 
     public BooleanLiteral getTrue() {
         return ;
     }
 
     public BooleanLiteral getFalse() {
         return ;
     }
 
     public IRModuleBody getObject() {
         return ;
     }
 
     public CompilerPassScheduler schedulePasses() {
         CompilerPassScheduler scheduler = new CompilerPassScheduler() {
             private Iterator<CompilerPassiterator;
             {
                 this. = .iterator();
             }
 
             @Override
             public Iterator<CompilerPassiterator() {
                 return this.;
             }
 
         };
         return scheduler;
     }
 
     public List<CompilerPassgetCompilerPasses(IRScope scope) {
         return ;
     }
 
     public List<CompilerPassgetInliningCompilerPasses(IRScope scope) {
         return ;
     }
 
     public Set<CompilerPassListenergetListeners() {
         // FIXME: This is ugly but we want to conditionalize output based on JRuby module setting/unsetting
        if (.) {
            addListener();
        } else {
            removeListener();
        }
        return ;
    }
        return ;
    }
        return ;
    }
    public void addListener(CompilerPassListener listener) {
        .add(listener);
    }
    public void removeListener(CompilerPassListener listener) {
        .remove(listener);
    }
    public void addListener(InstructionsListener listener) {
            if ( != null) {
                throw new RuntimeException("InstructionsListener is set and other are currently not allowed");
            }
             = listener;
        }
    }
    public void removeListener(InstructionsListener listener) {
        if (.equals(listener))  = null;
    }
    public void addListener(IRScopeListener listener) {
            if ( != null) {
                throw new RuntimeException("IRScopeListener is set and other are currently not allowed");
            }
             = listener;
        }
    }
    public void removeListener(IRScopeListener listener) {
        if (.equals(listener))  = null;
    }
    public IRModuleBody getClassMetaClass() {
        return ;
    }
    public String getMetaClassName() {
        return "<DUMMY_MC:" + ++ + ">";
    }
New to GrepCode? Check out our FAQ X