JsToStringGenerationVisitor |  | 0% |  | 0% | 236 | 236 | 677 | 677 | 113 | 113 | 1 | 1 |
JsProtectedNames |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 3 | 3 | 1 | 1 |
JsUtils |  | 0% |  | 0% | 110 | 110 | 176 | 176 | 26 | 26 | 1 | 1 |
JsStaticEval.StaticEvalVisitor |  | 0% |  | 0% | 91 | 91 | 220 | 220 | 19 | 19 | 1 | 1 |
JsInliner.InliningVisitor |  | 0% |  | 0% | 68 | 68 | 175 | 175 | 14 | 14 | 1 | 1 |
JsStackEmulator.EntryExitVisitor |  | 0% |  | 0% | 46 | 46 | 139 | 139 | 15 | 15 | 1 | 1 |
JsInliner |  | 0% |  | 0% | 54 | 54 | 143 | 143 | 14 | 14 | 1 | 1 |
JsStaticEval |  | 0% |  | 0% | 63 | 63 | 126 | 126 | 13 | 13 | 1 | 1 |
JsStackEmulator.LocationVisitor |  | 0% |  | 0% | 49 | 49 | 121 | 121 | 24 | 24 | 1 | 1 |
JsObfuscateNamer |  | 0% |  | 0% | 18 | 18 | 46 | 46 | 9 | 9 | 1 | 1 |
DuplicateClinitRemover |  | 0% |  | 0% | 42 | 42 | 99 | 99 | 19 | 19 | 1 | 1 |
JsSafeCloner.Cloner |  | 0% |  | 0% | 35 | 35 | 99 | 99 | 22 | 22 | 1 | 1 |
JsNamespaceChooser |  | 0% |  | 0% | 38 | 38 | 104 | 104 | 12 | 12 | 1 | 1 |
JsLiteralInterner.LiteralInterningVisitor |  | 0% |  | 0% | 41 | 41 | 71 | 71 | 15 | 15 | 1 | 1 |
JsStackEmulator |  | 0% |  | 0% | 26 | 26 | 72 | 72 | 9 | 9 | 1 | 1 |
JsReportGenerationVisitor |  | 0% |  | 0% | 39 | 39 | 61 | 61 | 7 | 7 | 1 | 1 |
JsPrecedenceVisitor |  | 0% |  | 0% | 47 | 47 | 73 | 73 | 45 | 45 | 1 | 1 |
JsLiteralInterner |  | 0% |  | 0% | 19 | 19 | 44 | 44 | 7 | 7 | 1 | 1 |
CoverageVisitor |  | 0% |  | 0% | 26 | 26 | 62 | 62 | 15 | 15 | 1 | 1 |
JsParser |   | 89% |   | 82% | 40 | 211 | 40 | 496 | 3 | 59 | 0 | 1 |
JsIncrementalNamer |  | 0% |  | 0% | 19 | 19 | 44 | 44 | 7 | 7 | 1 | 1 |
CoverageInstrumentor |  | 0% |  | 0% | 11 | 11 | 41 | 41 | 8 | 8 | 1 | 1 |
JsInliner.ComplexityEstimator |  | 0% | | n/a | 19 | 19 | 38 | 38 | 19 | 19 | 1 | 1 |
JsInliner.CommaNormalizer |  | 0% |  | 0% | 24 | 24 | 48 | 48 | 4 | 4 | 1 | 1 |
EvalFunctionsAtTopScope |  | 0% |  | 0% | 21 | 21 | 48 | 48 | 12 | 12 | 1 | 1 |
JsInliner.EvaluationOrderVisitor |  | 0% |  | 0% | 27 | 27 | 45 | 45 | 12 | 12 | 1 | 1 |
JsPrettyNamer |  | 0% |  | 0% | 18 | 18 | 39 | 39 | 7 | 7 | 1 | 1 |
JsDuplicateFunctionRemover.DuplicateFunctionBodyRecorder |  | 0% |  | 0% | 17 | 17 | 37 | 37 | 9 | 9 | 1 | 1 |
JsDuplicateCaseFolder.DuplicateCaseFolder |  | 0% |  | 0% | 12 | 12 | 40 | 40 | 4 | 4 | 1 | 1 |
JsSourceGenerationVisitorWithSizeBreakdown |  | 0% |  | 0% | 15 | 15 | 35 | 35 | 7 | 7 | 1 | 1 |
JsDuplicateFunctionRemover |  | 0% |  | 0% | 9 | 9 | 30 | 30 | 3 | 3 | 1 | 1 |
JsNormalizer.JsNormalizing |  | 0% |  | 0% | 21 | 21 | 31 | 31 | 6 | 6 | 1 | 1 |
JsInliner.NameRefReplacerVisitor |  | 0% |  | 0% | 15 | 15 | 28 | 28 | 6 | 6 | 1 | 1 |
JsInliner.SingleInvocationVisitor |  | 0% |  | 0% | 16 | 16 | 27 | 27 | 8 | 8 | 1 | 1 |
JsBreakUpLargeVarStatements |  | 0% |  | 0% | 11 | 11 | 25 | 25 | 5 | 5 | 1 | 1 |
JsRequiresSemiVisitor |  | 0% |  | 0% | 24 | 24 | 38 | 38 | 18 | 18 | 1 | 1 |
JsVerboseNamer |  | 0% |  | 0% | 11 | 11 | 27 | 27 | 5 | 5 | 1 | 1 |
JsDuplicateFunctionRemover.ReplaceDuplicateInvocationNameRefs |  | 0% |  | 0% | 10 | 10 | 17 | 17 | 3 | 3 | 1 | 1 |
JsFirstExpressionVisitor |  | 0% |  | 0% | 16 | 16 | 30 | 30 | 14 | 14 | 1 | 1 |
JsLiteralInterner.OccurrenceCounterVisitor |  | 0% |  | 0% | 18 | 18 | 21 | 21 | 13 | 13 | 1 | 1 |
JsStackEmulator.ReplaceUnobfuscatableNames |  | 0% |  | 0% | 10 | 10 | 20 | 20 | 3 | 3 | 1 | 1 |
JsInliner.StableNameChecker |  | 0% |  | 0% | 13 | 13 | 21 | 21 | 4 | 4 | 1 | 1 |
BaselineCoverageGatherer.new JVisitor() {...} |  | 0% |  | 0% | 15 | 15 | 23 | 23 | 8 | 8 | 1 | 1 |
JsAbstractSymbolResolver |  | 0% |  | 0% | 15 | 15 | 29 | 29 | 12 | 12 | 1 | 1 |
JsUnusedFunctionRemover |  | 0% | | 0% | 5 | 5 | 17 | 17 | 4 | 4 | 1 | 1 |
BaselineCoverageGatherer |  | 0% |  | 0% | 7 | 7 | 19 | 19 | 5 | 5 | 1 | 1 |
JsIncrementalNamer.JsIncrementalNamerState |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 3 | 3 | 1 | 1 |
JsStaticEval.MustExecVisitor |  | 0% |  | 0% | 9 | 9 | 21 | 21 | 5 | 5 | 1 | 1 |
JsInliner.InvocationCountingVisitor |  | 0% |  | 0% | 12 | 12 | 20 | 20 | 7 | 7 | 1 | 1 |
JsConstructExpressionVisitor |  | 0% |  | 0% | 14 | 14 | 25 | 25 | 10 | 10 | 1 | 1 |
ReservedNames |  | 0% |  | 0% | 7 | 7 | 17 | 17 | 2 | 2 | 1 | 1 |
CoverageInstrumentor.Instrumentor |  | 0% | | 0% | 3 | 3 | 12 | 12 | 2 | 2 | 1 | 1 |
JsInliner.RedefinedFunctionCollector |  | 0% |  | 0% | 8 | 8 | 18 | 18 | 4 | 4 | 1 | 1 |
JsSymbolResolver.JsResolveSymbolsVisitor |  | 0% |  | 0% | 6 | 6 | 15 | 15 | 3 | 3 | 1 | 1 |
JsInliner.IdentCollector |  | 0% |  | 0% | 12 | 12 | 12 | 12 | 4 | 4 | 1 | 1 |
JsUtils.TargetType |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
JsInliner.ExtrudedNamesCollector |  | 0% |  | 0% | 7 | 7 | 13 | 13 | 3 | 3 | 1 | 1 |
JsNamer.new JsVisitor() {...} |  | 0% | | 0% | 10 | 10 | 18 | 18 | 9 | 9 | 1 | 1 |
JsInliner.AffectedBySideEffectsVisitor |  | 0% |  | 0% | 11 | 11 | 19 | 19 | 7 | 7 | 1 | 1 |
JsInliner.RecursionCollector |  | 0% |  | 0% | 7 | 7 | 13 | 13 | 5 | 5 | 1 | 1 |
JsInliner.ParameterUsageVisitor |  | 0% |  | 0% | 9 | 9 | 16 | 16 | 5 | 5 | 1 | 1 |
JsNamer |  | 0% | | n/a | 3 | 3 | 14 | 14 | 3 | 3 | 1 | 1 |
JsUtils.InvocationStyle |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
JsStackEmulator.InstrumentAllFunctions |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 2 | 2 | 1 | 1 |
JsForceInliningChecker.ForceInliningCheckerVisitor |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 2 | 2 | 1 | 1 |
JsUnusedFunctionRemover.RemovalVisitor |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 2 | 2 | 1 | 1 |
JsStackEmulator.CatchStackReset |  | 0% | | 0% | 3 | 3 | 11 | 11 | 2 | 2 | 1 | 1 |
JsStackEmulator.StackMode |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
JsUtils.CallStyle |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
JsInliner.RefersToNameVisitor |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 3 | 3 | 1 | 1 |
JsNamespaceChooser.NameFixer |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 | 1 | 1 |
JsNamespaceOption |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 1 | 1 |
JsInliner.EvaluationOrderVisitor.new JsVisitor() {...} |  | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
JsSymbolResolver |  | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
JsDuplicateCaseFolder |  | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
JsForceInliningChecker |  | 0% | | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
JsNormalizer |  | 0% | | n/a | 3 | 3 | 8 | 8 | 3 | 3 | 1 | 1 |
JsUtils.InvocationDescriptor |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 | 1 | 1 |
JsSourceGenerationVisitor |  | 0% | | n/a | 5 | 5 | 8 | 8 | 5 | 5 | 1 | 1 |
JsStaticEval.FindBreakContinueStatementsVisitor | | 0% | | n/a | 4 | 4 | 7 | 7 | 4 | 4 | 1 | 1 |
CoverageInstrumentor.new JsModVisitor() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
SizeBreakdown | | 0% | | n/a | 3 | 3 | 6 | 6 | 3 | 3 | 1 | 1 |
JsSafeCloner | | 0% | | 0% | 2 | 2 | 5 | 5 | 1 | 1 | 1 | 1 |
JsParser.new ErrorReporter() {...} |  | 63% | | n/a | 1 | 4 | 2 | 6 | 1 | 4 | 0 | 1 |
JsUnusedFunctionRemover.RescueVisitor | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
BaselineCoverageGatherer.1.new CoverageVisitor() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
JsInliner.NestedFunctionVisitor | | 0% | | n/a | 3 | 3 | 5 | 5 | 3 | 3 | 1 | 1 |
JsParserException |  | 94% |  | 83% | 2 | 7 | 2 | 23 | 1 | 4 | 0 | 1 |
JsNamer.IllegalNameException | | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 1 | 1 |
JsParserException.SourceDetail |  | 100% | | n/a | 0 | 5 | 0 | 10 | 0 | 5 | 0 | 1 |
UncheckedJsParserException | | 100% | | n/a | 0 | 2 | 0 | 4 | 0 | 2 | 0 | 1 |