/** * @param options governing analysis options */ public DefaultRTAInterpreter(AnalysisOptions options, IAnalysisCacheView cache) { defaultInterpreter = new ContextInsensitiveSSAInterpreter(options, cache); }
@Override public IRView getIRView(CGNode node) { return getIR(node); }
@Override public DefUse getDU(CGNode node) { if (node == null) { throw new IllegalArgumentException("node is null"); } // Note: since this is context-insensitive, we cache an IR based on the // EVERYWHERE context return getAnalysisCache().getDefUse(getAnalysisCache().getIR(node.getMethod(), Everywhere.EVERYWHERE)); } }
@Override public DefUse getDU(CGNode node) { if (node == null) { throw new IllegalArgumentException("node is null"); } // Note: since this is context-insensitive, we cache an IR based on the // EVERYWHERE context return getAnalysisCache().getDefUse(getAnalysisCache().getIR(node.getMethod(), Everywhere.EVERYWHERE)); } }
@Override public IRView getIRView(CGNode node) { return getIR(node); }
@Override public IR getIR(CGNode node) { if (node == null) { throw new IllegalArgumentException("node is null"); } // Note: since this is context-insensitive, we cache an IR based on the // EVERYWHERE context return getAnalysisCache().getIR(node.getMethod(), Everywhere.EVERYWHERE); }
/** * @param options governing analysis options */ public DefaultRTAInterpreter(AnalysisOptions options, IAnalysisCacheView cache) { defaultInterpreter = new ContextInsensitiveSSAInterpreter(options, cache); }
@Override public ControlFlowGraph<SSAInstruction, ISSABasicBlock> getCFG(CGNode N) { IR ir = getIR(N); if (ir == null) { return null; } else { return ir.getControlFlowGraph(); } }
@Override public IR getIR(CGNode node) { if (node == null) { throw new IllegalArgumentException("node is null"); } // Note: since this is context-insensitive, we cache an IR based on the // EVERYWHERE context return getAnalysisCache().getIR(node.getMethod(), Everywhere.EVERYWHERE); }
public DefaultSSAInterpreter(AnalysisOptions options, IAnalysisCacheView cache) { super(options, cache); cloneInterpreter = new CloneInterpreter(); defaultInterpreter = new ContextInsensitiveSSAInterpreter(options, cache); }
@Override public int getNumberOfStatements(CGNode node) { IR ir = getIR(node); return (ir == null) ? -1 : ir.getInstructions().length; }
public DefaultSSAInterpreter(AnalysisOptions options, IAnalysisCacheView cache) { super(options, cache); cloneInterpreter = new CloneInterpreter(); defaultInterpreter = new ContextInsensitiveSSAInterpreter(options, cache); }
@Override public ControlFlowGraph<SSAInstruction, ISSABasicBlock> getCFG(CGNode N) { IR ir = getIR(N); if (ir == null) { return null; } else { return ir.getControlFlowGraph(); } }
@Override public int getNumberOfStatements(CGNode node) { IR ir = getIR(node); return (ir == null) ? -1 : ir.getInstructions().length; }