public DeadlockDetector(boolean optionPrintDebug, boolean optionRepairDeadlock, boolean optionAllowSelfEdges, List<CriticalSection> criticalSections) { this.optionPrintDebug = optionPrintDebug; this.optionRepairDeadlock = optionRepairDeadlock; this.optionAllowSelfEdges = optionAllowSelfEdges && !optionRepairDeadlock; // can only do this if not repairing this.criticalSections = criticalSections; this.tt = new TransitiveTargets(Scene.v().getCallGraph(), new Filter(new CriticalSectionVisibleEdgesPred(null))); }
this.cg = cg; this.tve = new CriticalSectionVisibleEdgesPred(criticalSections); this.tt = new TransitiveTargets(cg, new Filter(tve)); this.normaltt = new TransitiveTargets(cg, null); this.normalsea = new SideEffectAnalysis(pa, cg);
TransitiveTargets runMethodTargets = new TransitiveTargets(callGraph, new Filter(new RunMethodsPred()));
protected void internalTransform(String phaseName, Map options) { Filter explicitInvokesFilter = new Filter(new ExplicitEdgesPred()); if (Options.v().verbose()) { logger.debug("[] Inlining methods...");
protected void internalTransform(String phaseName, Map opts) { Filter instanceInvokesFilter = new Filter(new InstanceInvokeEdgesPred()); SMBOptions options = new SMBOptions(opts); String modifierOptions = PhaseOptions.getString(opts, "allowed-modifier-changes");
public void update() { while (unprocessedMethods.hasNext()) { MethodOrMethodContext m = unprocessedMethods.next(); Filter filter = new Filter(new EdgePredicate() {