private void initialize(Map<String, String> options) { if (drawer == null) { drawer = new CFGToDotGraph(); drawer.setBriefLabels(PhaseOptions.getBoolean(options, briefLabelOptionName)); drawer.setOnePage(!PhaseOptions.getBoolean(options, multipageOptionName)); drawer.setUnexceptionalControlFlowAttr("color", "black"); drawer.setExceptionalControlFlowAttr("color", "red"); drawer.setExceptionEdgeAttr("color", "lightgray"); drawer.setShowExceptions(Options.v().show_exception_dests()); ir = CFGIntermediateRep.getIR(PhaseOptions.getString(options, irOptionName)); graphtype = CFGGraphType.getGraphType(PhaseOptions.getString(options, graphTypeOptionName)); AltClassLoader.v().setAltClassPath(PhaseOptions.getString(options, altClassPathOptionName)); AltClassLoader.v() .setAltClasses( new String[] { "soot.toolkits.graph.ArrayRefBlockGraph", "soot.toolkits.graph.Block", "soot.toolkits.graph.Block$AllMapTo", "soot.toolkits.graph.BlockGraph", "soot.toolkits.graph.BriefBlockGraph", "soot.toolkits.graph.BriefUnitGraph", "soot.toolkits.graph.CompleteBlockGraph", "soot.toolkits.graph.CompleteUnitGraph", "soot.toolkits.graph.TrapUnitGraph", "soot.toolkits.graph.UnitGraph", "soot.toolkits.graph.ZonedBlockGraph", }); } }