public void handle(CompilerOptions compilerOptions) { compilerOptions.setCheckEventfulObjectDisposalPolicy(AGGRESSIVE); compilerOptions.assumeStrictThis(); compilerOptions.setCheckMissingReturn(CheckLevel.ERROR); compilerOptions.setAggressiveVarCheck(CheckLevel.ERROR); compilerOptions.setCheckDeterminism(true); compilerOptions.setBrokenClosureRequiresLevel(CheckLevel.ERROR); compilerOptions.setCheckTypes(true); compilerOptions.setInferConst(true); CompilationLevel.ADVANCED_OPTIMIZATIONS.setOptionsForCompilationLevel(compilerOptions); CompilationLevel.ADVANCED_OPTIMIZATIONS.setTypeBasedOptimizationOptions(compilerOptions); }