@Override public void init(String args[]) throws Exception { String superArgs[] = null; StatsHolder.getInstanceOf().addStatArgs(args); engine.setDefaults(); try { superArgs = engine.processArgs(args); } catch (Exception d) { engine.inputMessage(); // Miscellaneous.printlnErr("************ ERROR Wrong input: " + d.getMessage()); // d.printStackTrace(); Miscellaneous.exit(); } // do not forget this. However, at the end as third parameter was set above properly super.init(superArgs); System.arraycopy(superArgs, 0, args, 0, args.length); }
@Override public void execute(String args[]) throws Exception { try { statHolder.addStat( StatGroups.BYTECODE_OPTIMIZATION, "Total size of all instructions ", CodeAtt.getCodeTotalLengthInput()); super.execute(args); if (!doOptimization) { return; } InputOptionsController.getInstanceOf().execute(); endWithOptimization = true; Oracle.getInstanceOf().updateAllCodeAttsLength(); } catch (Exception d) { d.printStackTrace(); Miscellaneous.exit(); } }
/** * Description: * * <p> * * @author Faisal Aslam * @version 1.0 */ public class StartMeBCC extends StartMeOGC { public static boolean doOptimization = true; private static boolean endWithOptimization = false; private static final InputOptionsController engine = InputOptionsController.getInstanceOf(); private static final StatsHolder statHolder = StatsHolder.getInstanceOf(); public StartMeBCC() { super(); } public static boolean isEndWithOptimization() { return endWithOptimization; } public static double totalReductionPercentage(double reduction) { double totalCodeSize = CodeAtt.getCodeTotalLengthInput(); return ((reduction) / totalCodeSize) * 100.0; } @Override public void init(String args[]) throws Exception { String superArgs[] = null; StatsHolder.getInstanceOf().addStatArgs(args); engine.setDefaults(); try { superArgs = engine.processArgs(args); } catch (Exception d) { engine.inputMessage(); // Miscellaneous.printlnErr("************ ERROR Wrong input: " + d.getMessage()); // d.printStackTrace(); Miscellaneous.exit(); } // do not forget this. However, at the end as third parameter was set above properly super.init(superArgs); System.arraycopy(superArgs, 0, args, 0, args.length); } @Override public void validateInput(String args[]) throws Exception { if (args.length < 2) { engine.inputMessage(); Miscellaneous.exit(); } } @Override public void execute(String args[]) throws Exception { try { statHolder.addStat( StatGroups.BYTECODE_OPTIMIZATION, "Total size of all instructions ", CodeAtt.getCodeTotalLengthInput()); super.execute(args); if (!doOptimization) { return; } InputOptionsController.getInstanceOf().execute(); endWithOptimization = true; Oracle.getInstanceOf().updateAllCodeAttsLength(); } catch (Exception d) { d.printStackTrace(); Miscellaneous.exit(); } } public static void main(String args[]) throws Exception { (new StartMeBCC()).start(args); } }