From b5dd5e39874a8f01d90df9c6c2cf5510e66f5af3 Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Thu, 16 Feb 2023 21:25:12 +0100 Subject: [PATCH] bug-2022: part 1 done --- bug-2022/.gitignore | 2 +- bug-2022/extract_feature_vectors.py | 130 +++++ bug-2022/metrics/feature_vectors.csv | 748 +++++++++++++++++++++++++++ bug-2022/requirements.txt | 2 + 4 files changed, 881 insertions(+), 1 deletion(-) create mode 100755 bug-2022/extract_feature_vectors.py create mode 100644 bug-2022/metrics/feature_vectors.csv create mode 100644 bug-2022/requirements.txt diff --git a/bug-2022/.gitignore b/bug-2022/.gitignore index d8d5cbf..ce76b6d 100644 --- a/bug-2022/.gitignore +++ b/bug-2022/.gitignore @@ -1,3 +1,3 @@ defects4j/ sources/ - +env/ diff --git a/bug-2022/extract_feature_vectors.py b/bug-2022/extract_feature_vectors.py new file mode 100755 index 0000000..4cc0a33 --- /dev/null +++ b/bug-2022/extract_feature_vectors.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python3 +import javalang +import os +import pandas as pd +import glob +import re + +# God class if: +# |M(C)| > E(M) + 6*V(M) +# (number of methods greater than average across all classes plus 6 times the +# standard deviation) + +DIR: str = os.path.dirname(os.path.realpath(__file__)) +SOURCES: str = DIR + '/sources/src/com/google/javascript/jscomp/' +OUT_DIR: str = DIR + '/metrics' + + +def clean_output(): + filelist = glob.glob(OUT_DIR + '/*.csv') + for f in filelist: + os.remove(f) + + +def count(node: javalang.tree.Node, the_filter) -> int: + i = 0 + for _, _ in node.filter(the_filter): + i += 1 + return i + + +def metrics(clazz: javalang.tree.ClassDeclaration) -> dict[str, str]: + m = {} + + m['MTH'] = len(clazz.methods) # MTH: #Methods + m['FLD'] = len(clazz.fields) # FLD: #Fields + + # RFC: #Public methods + #Method invocations + m['RFC'] = 0 + for method in clazz.methods: + if 'public' in method.modifiers: + m['RFC'] += 1 + m['RFC'] += count(clazz, javalang.tree.MethodInvocation) + + # INT: #Implemented interfaces + m['INT'] = 0 if clazz.implements is None else len(clazz.implements) + + # Method metrics (max across methods) + sz = 0; cpx = 0; ex = 0; ret = 0; sum_m_name_len = 0 + for method in clazz.methods: + sum_m_name_len += len(method.name) + + # SZ: #Statements + sz = max(sz, count(method, javalang.tree.Statement)) + + # CPX: #CONDITIONAL + #LOOP statements + cpx = max(cpx, + count(method, javalang.tree.IfStatement) + + count(method, javalang.tree.TernaryExpression) + + count(method, javalang.tree.WhileStatement) + + count(method, javalang.tree.ForStatement)) + + # EX: #Exceptions in throws clause + ex = max(ex, 0 if method.throws is None else len(method.throws)) + + # RET: #Return points + ret = max(ret, count(method, javalang.tree.ReturnStatement)) + m['SZ'] = sz; m['CPX'] = cpx; m['EX'] = ex; m['RET'] = ret + + # NLP metrics + + # Average length of method names + l = len(clazz.methods) + m['NML'] = 0 if l == 0 else sum_m_name_len / l + + m['BCM'] = 0; m['WRD'] = 0 + for _, node in clazz.filter(javalang.tree.Documented): + if node.documentation is not None: + # BCM: #block comments + m['BCM'] += 1 + + # #Words (longest alphanumeric substrings) in block comments + m['WRD'] += len(re.findall('\w+', node.documentation)) + + # #Words in comments / #Statements + s = count(clazz, javalang.tree.Statement) + m['DCM'] = 0 if s == 0 else m['WRD'] / s + + return m + + +def create_df(root) -> pd.DataFrame: + df = pd.DataFrame(columns=['class_name', 'MTH', 'FLD', 'RFC', 'INT', 'SZ', 'CPX', 'EX', 'RET', 'BCM', 'NML', 'WRD', 'DCM']) + + i: int = 0 + for path, dirs, files in os.walk(root): + for f in files: + if f.endswith('.java'): + # Get the AST of the file + with open(path + '/' + f) as file: + data = file.read() + tree = javalang.parse.parse(data) + + # Fetch package name from package declaration + # if node is missing, assuming default package ('') + package_name = '' + for _, node in tree.filter(javalang.tree.PackageDeclaration): + package_name = node.name + break + + # Get all classes and number of methods for each one + rows: list[tuple] = [] + for _, node in tree.filter(javalang.tree.ClassDeclaration): + fqdn = package_name + '.' + node.name + + df.loc[i, 'class_name'] = fqdn + m = metrics(node) + for metric in m: + df.loc[i, metric] = m[metric] + i += 1 + + return df + + +def main(): + clean_output() + df = create_df(SOURCES) + df.to_csv(OUT_DIR + '/feature_vectors.csv', index=False) + +if __name__ == '__main__': + main() diff --git a/bug-2022/metrics/feature_vectors.csv b/bug-2022/metrics/feature_vectors.csv new file mode 100644 index 0000000..443896c --- /dev/null +++ b/bug-2022/metrics/feature_vectors.csv @@ -0,0 +1,748 @@ +class_name,MTH,FLD,RFC,INT,SZ,CPX,EX,RET,BCM,NML,WRD,DCM +com.google.javascript.jscomp.PeepholeSimplifyRegExp,1,0,29,0,18,8,0,2,1,15.0,12,0.6666666666666666 +com.google.javascript.jscomp.MinimizeExitPoints,6,1,91,1,49,14,0,4,5,13.833333333333334,324,2.8672566371681416 +com.google.javascript.jscomp.RenameLabels,1,3,51,1,1,0,0,0,8,7.0,336,6.588235294117647 +com.google.javascript.jscomp.DefaultNameSupplier,1,1,2,1,1,0,0,1,0,3.0,0,0.0 +com.google.javascript.jscomp.ProcessLabels,8,2,52,1,15,3,0,1,7,11.5,121,2.75 +com.google.javascript.jscomp.LabelInfo,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.LabelNamespace,0,1,0,0,0,0,0,0,0,0,0,0 +com.google.javascript.jscomp.JsMessageExtractor,2,3,19,0,12,3,1,1,5,15.0,149,6.7727272727272725 +com.google.javascript.jscomp.ExtractMessagesVisitor,2,1,4,0,3,1,0,1,2,13.5,18,3.6 +com.google.javascript.jscomp.Tracer,25,16,177,0,17,4,0,3,70,16.8,2019,7.315217391304348 +com.google.javascript.jscomp.Stat,4,4,0,0,1,1,0,1,5,11.5,65,16.25 +com.google.javascript.jscomp.Event,2,2,25,0,27,4,0,1,2,8.5,64,2.1333333333333333 +com.google.javascript.jscomp.ThreadTrace,9,8,74,0,54,16,0,1,15,11.222222222222221,164,1.5185185185185186 +com.google.javascript.jscomp.AtomicTracerStatMap,2,1,4,0,13,4,0,1,3,8.5,53,3.7857142857142856 +com.google.javascript.jscomp.VerboseMessageFormatter,3,0,12,0,4,4,0,1,1,10.0,16,2.2857142857142856 +com.google.javascript.jscomp.DiagnosticType,9,5,15,2,1,0,0,1,11,6.777777777777778,151,11.615384615384615 +com.google.javascript.jscomp.StrictModeCheck,9,13,107,1,20,7,0,3,11,11.88888888888889,128,1.1962616822429906 +com.google.javascript.jscomp.NonExternChecks,3,0,20,0,11,4,0,0,3,11.333333333333334,18,0.8181818181818182 +com.google.javascript.jscomp.JSModule,26,6,87,2,8,3,1,2,28,11.884615384615385,342,4.56 +com.google.javascript.jscomp.JsMessageDefinition,3,3,0,0,1,0,0,1,2,16.333333333333332,121,20.166666666666668 +com.google.javascript.jscomp.LiveVariablesAnalysis,10,4,94,0,54,11,0,8,5,16.1,272,2.6930693069306932 +com.google.javascript.jscomp.LiveVariableJoinOp,1,0,5,1,4,1,0,1,0,5.0,0,0.0 +com.google.javascript.jscomp.LiveVariableLattice,5,1,14,1,2,0,0,1,2,6.8,46,4.6 +com.google.javascript.jscomp.StatementFusion,6,0,47,0,16,4,0,7,1,23.833333333333332,69,1.4680851063829787 +com.google.javascript.jscomp.VariableVisibilityAnalysis,3,2,20,1,19,5,0,1,9,15.666666666666666,234,9.75 +com.google.javascript.jscomp.FunctionRewriter,3,2,92,1,19,6,0,1,22,17.333333333333332,483,3.8031496062992125 +com.google.javascript.jscomp.Reduction,2,3,4,0,2,0,0,1,3,10.0,27,4.5 +com.google.javascript.jscomp.ReductionGatherer,2,2,4,1,7,2,0,2,2,9.5,43,4.777777777777778 +com.google.javascript.jscomp.Reducer,3,0,6,0,5,1,0,1,4,11.333333333333334,57,11.4 +com.google.javascript.jscomp.EmptyFunctionReducer,2,2,4,0,5,1,0,2,1,10.5,27,4.5 +com.google.javascript.jscomp.SingleReturnStatementReducer,1,0,5,0,7,2,0,3,2,26.0,28,4.0 +com.google.javascript.jscomp.IdentityReducer,3,2,13,0,8,2,0,3,2,13.0,47,2.9375 +com.google.javascript.jscomp.ReturnConstantReducer,3,2,7,0,8,2,0,3,2,11.0,58,4.461538461538462 +com.google.javascript.jscomp.GetterReducer,3,2,13,0,11,3,0,3,2,13.0,62,3.875 +com.google.javascript.jscomp.SetterReducer,3,2,26,0,15,5,0,5,2,13.0,63,2.3333333333333335 +com.google.javascript.jscomp.CheckUnreachableCode,5,3,24,1,8,2,0,2,1,9.4,12,0.5714285714285714 +com.google.javascript.jscomp.ReachablePredicate,1,0,5,1,9,3,0,3,0,5.0,0,0.0 +com.google.javascript.jscomp.DataFlowAnalysis,13,4,153,0,29,9,0,2,21,11.461538461538462,1031,7.20979020979021 +com.google.javascript.jscomp.FlowState,6,2,8,1,2,0,0,1,2,6.333333333333333,31,2.5833333333333335 +com.google.javascript.jscomp.MaxIterationsExceededException,0,1,0,0,0,0,0,0,1,0,39,39.0 +com.google.javascript.jscomp.BranchedForwardDataFlowAnalysis,6,0,46,0,10,3,0,2,2,12.166666666666666,80,2.6666666666666665 +com.google.javascript.jscomp.BranchedFlowState,6,2,9,1,5,1,0,1,2,6.333333333333333,31,2.066666666666667 +com.google.javascript.jscomp.RemoveUnusedVars,13,13,295,2,61,16,0,4,32,18.153846153846153,909,2.6045845272206303 +com.google.javascript.jscomp.CallSiteOptimizer,11,4,86,0,20,6,0,4,10,20.90909090909091,202,1.9803921568627452 +com.google.javascript.jscomp.Continuation,1,2,5,0,7,2,0,0,1,5.0,30,3.3333333333333335 +com.google.javascript.jscomp.Assign,2,5,36,0,15,4,0,2,2,11.5,25,0.7575757575757576 +com.google.javascript.jscomp.CollapseVariableDeclarations,3,3,70,1,23,5,0,1,9,12.333333333333334,221,3.112676056338028 +com.google.javascript.jscomp.Collapse,0,3,0,0,0,0,0,0,4,0,37,12.333333333333334 +com.google.javascript.jscomp.GatherCollapses,3,1,36,0,23,7,0,3,1,12.333333333333334,38,1.0857142857142856 +com.google.javascript.jscomp.RemoveTryCatch,1,2,23,1,1,0,0,0,2,7.0,31,0.9117647058823529 +com.google.javascript.jscomp.RemoveTryCatchCode,1,0,22,0,31,8,0,2,0,5.0,0,0.0 +com.google.javascript.jscomp.DiagnosticGroups,7,35,44,0,2,0,0,1,4,14.714285714285714,35,3.1818181818181817 +com.google.javascript.jscomp.ObjectPropertyStringPreprocess,2,6,53,1,5,1,0,0,1,13.5,47,1.3428571428571427 +com.google.javascript.jscomp.Callback,1,0,41,0,27,6,0,6,0,5.0,0,0.0 +com.google.javascript.jscomp.CheckSideEffects,5,6,58,1,24,8,0,4,3,10.4,75,1.3636363636363635 +com.google.javascript.jscomp.StripProtection,2,1,11,1,6,2,0,0,1,6.0,5,0.625 +com.google.javascript.jscomp.BinaryJoinOp,3,0,14,1,9,2,0,3,3,8.333333333333334,77,5.923076923076923 +com.google.javascript.jscomp.FindExportableNodes,2,3,27,0,24,6,0,1,3,7.5,84,2.5454545454545454 +com.google.javascript.jscomp.GenerateNodeContext,3,3,3,0,1,0,0,1,1,11.333333333333334,11,1.8333333333333333 +com.google.javascript.jscomp.PeepholeOptimizationsPass,10,4,39,1,13,3,0,2,3,11.3,55,0.7638888888888888 +com.google.javascript.jscomp.ScopeState,1,2,1,0,2,0,0,0,0,5.0,0,0.0 +com.google.javascript.jscomp.StateStack,3,2,7,0,6,1,0,1,0,3.6666666666666665,0,0.0 +com.google.javascript.jscomp.PeepholeChangeHandler,1,0,2,1,1,0,0,0,0,12.0,0,0.0 +com.google.javascript.jscomp.JvmMetrics,10,4,137,0,30,8,0,4,1,18.3,28,0.2074074074074074 +com.google.javascript.jscomp.ByPathWarningsGuard,4,5,7,0,9,3,0,2,4,8.25,177,9.833333333333334 +com.google.javascript.jscomp.DefaultPassConfig,20,120,341,0,170,51,0,3,119,19.15,964,1.5777414075286416 +com.google.javascript.jscomp.GlobalTypeResolver,2,1,7,1,5,1,0,0,1,10.0,10,1.4285714285714286 +com.google.javascript.jscomp.ClearTypedScope,1,0,2,1,1,0,0,0,1,7.0,8,8.0 +com.google.javascript.jscomp.HotSwapPassFactory,2,0,1,0,1,0,0,1,1,10.0,10,5.0 +com.google.javascript.jscomp.FunctionNames,4,4,23,2,13,3,0,2,1,13.5,75,2.027027027027027 +com.google.javascript.jscomp.FunctionRecord,0,4,0,1,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.FunctionListExtractor,1,2,6,0,4,1,0,0,0,5.0,0,0.0 +com.google.javascript.jscomp.FunctionExpressionNamer,3,3,6,1,3,0,0,1,0,12.333333333333334,0,0.0 +com.google.javascript.jscomp.AbstractCommandLineRunner,54,19,430,0,68,19,2,9,94,18.444444444444443,1965,2.6554054054054053 +com.google.javascript.jscomp.FlagUsageException,0,1,0,0,0,0,0,0,1,0,10,10.0 +com.google.javascript.jscomp.RunTimeStats,3,4,10,0,9,1,0,0,3,16.333333333333332,19,1.1875 +com.google.javascript.jscomp.CommandLineConfig,42,42,29,0,8,2,0,1,43,18.428571428571427,730,7.525773195876289 +com.google.javascript.jscomp.WarningGuardSpec,2,1,3,0,1,0,0,0,1,4.0,17,4.25 +com.google.javascript.jscomp.Entry,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.ClosureCodeRemoval,1,6,51,1,22,6,0,0,15,7.0,229,4.163636363636364 +com.google.javascript.jscomp.RemovableAssignment,1,4,14,0,10,2,0,0,7,6.0,53,3.1176470588235294 +com.google.javascript.jscomp.FindAbstractMethods,1,0,10,0,5,2,0,0,1,5.0,10,2.0 +com.google.javascript.jscomp.FindAssertionCalls,1,1,11,0,5,2,0,0,1,5.0,4,0.5 +com.google.javascript.jscomp.OptimizeReturns,5,1,40,2,22,7,0,6,4,10.8,128,2.8444444444444446 +com.google.javascript.jscomp.CheckRegExp,3,4,23,1,14,5,0,1,1,13.333333333333334,30,1.7647058823529411 +com.google.javascript.jscomp.ControlFlowAnalysis,38,12,358,2,54,14,0,19,20,13.605263157894736,503,1.2512437810945274 +com.google.javascript.jscomp.AstControlFlowGraph,2,1,7,0,7,1,0,4,3,18.0,60,5.454545454545454 +com.google.javascript.jscomp.NameReferenceGraphReport,8,1,106,0,35,6,0,2,11,19.5,447,4.966666666666667 +com.google.javascript.jscomp.DiGraphNodeComparator,1,0,18,1,12,3,0,4,1,7.0,24,2.0 +com.google.javascript.jscomp.AnalyzePrototypeProperties,3,14,217,1,7,2,0,2,29,13.0,563,2.385593220338983 +com.google.javascript.jscomp.ProcessProperties,13,1,157,1,56,21,0,5,6,18.46153846153846,151,1.1705426356589148 +com.google.javascript.jscomp.ProcessExternProperties,1,0,6,0,3,1,0,0,0,5.0,0,0.0 +com.google.javascript.jscomp.PropagateReferences,1,0,6,1,8,2,0,3,0,12.0,0,0.0 +com.google.javascript.jscomp.GlobalFunction,4,3,19,1,6,1,0,2,1,10.0,11,0.6470588235294118 +com.google.javascript.jscomp.AssignmentProperty,6,3,13,1,1,0,0,1,2,9.666666666666666,18,2.0 +com.google.javascript.jscomp.LiteralProperty,5,6,7,1,1,0,0,1,1,9.0,13,1.1818181818181819 +com.google.javascript.jscomp.NameContext,0,2,0,0,0,0,0,0,1,0,21,10.5 +com.google.javascript.jscomp.NameInfo,6,5,2,0,15,4,0,1,7,15.666666666666666,113,5.380952380952381 +com.google.javascript.jscomp.PeepholeFoldConstants,35,8,453,0,97,26,0,39,21,17.457142857142856,382,0.5744360902255639 +com.google.javascript.jscomp.AbstractCompiler,51,2,10,1,1,0,0,1,52,16.764705882352942,881,176.2 +com.google.javascript.jscomp.UseSite,2,3,3,0,1,0,0,1,1,7.0,29,5.8 +com.google.javascript.jscomp.RescopeGlobalSymbols,2,6,91,1,7,1,0,0,5,20.0,319,3.7529411764705882 +com.google.javascript.jscomp.RewriteGlobalFunctionStatementsToVarAssignmentsCallback,1,0,11,0,10,2,0,0,1,5.0,30,3.0 +com.google.javascript.jscomp.RewriteScopeCallback,2,0,32,0,23,7,0,6,1,9.0,91,3.033333333333333 +com.google.javascript.jscomp.RemoveGlobalVarCallback,2,0,24,0,20,6,0,1,1,8.0,64,2.56 +com.google.javascript.jscomp.MakeExternsReferenceWindowExplicitly,1,0,15,0,7,2,0,1,1,5.0,32,4.571428571428571 +com.google.javascript.jscomp.XtbMessageBundle,4,3,49,1,8,0,2,1,4,12.5,95,1.7592592592592593 +com.google.javascript.jscomp.Handler,11,8,37,1,15,3,0,0,1,14.636363636363637,19,0.6551724137931034 +com.google.javascript.jscomp.SecureEntityResolver,1,0,1,1,1,0,0,1,1,13.0,32,32.0 +com.google.javascript.jscomp.CoalesceVariableNames,7,4,159,2,40,16,0,4,5,15.285714285714286,174,1.144736842105263 +com.google.javascript.jscomp.CombinedLiveRangeChecker,2,2,7,0,5,1,0,2,1,10.5,21,1.9090909090909092 +com.google.javascript.jscomp.LiveRangeChecker,5,4,27,0,11,3,0,4,1,8.4,10,0.45454545454545453 +com.google.javascript.jscomp.NameGenerator,4,7,20,0,16,4,0,2,7,13.0,152,3.4545454545454546 +com.google.javascript.jscomp.CheckPathsBetweenNodes,8,11,41,0,22,7,0,4,7,18.5,221,2.9078947368421053 +com.google.javascript.jscomp.MethodCompilerPass,5,5,83,1,9,1,0,1,11,14.6,180,2.608695652173913 +com.google.javascript.jscomp.GetExternMethods,1,0,29,0,24,4,0,1,1,5.0,34,1.4166666666666667 +com.google.javascript.jscomp.GatherSignatures,2,0,32,0,20,4,0,0,2,13.5,39,1.56 +com.google.javascript.jscomp.EmptyMessageBundle,3,0,4,1,1,0,0,1,4,11.666666666666666,35,11.666666666666666 +com.google.javascript.jscomp.AnalyzeNameReferences,3,3,23,1,5,1,0,1,4,7.333333333333333,123,3.324324324324324 +com.google.javascript.jscomp.PropagateReferences,1,0,10,1,8,2,0,3,0,12.0,0,0.0 +com.google.javascript.jscomp.NameInfo,3,2,1,1,15,4,0,1,3,16.666666666666668,56,3.2941176470588234 +com.google.javascript.jscomp.RemoveUnusedClassProperties,5,4,54,2,16,4,0,3,2,11.6,62,1.3191489361702127 +com.google.javascript.jscomp.VarCheck,6,11,87,1,44,12,0,4,5,17.0,90,1.0714285714285714 +com.google.javascript.jscomp.NameRefInExternsCheck,1,0,18,0,16,4,0,0,1,5.0,24,1.5 +com.google.javascript.jscomp.CompilerInput,28,8,111,2,15,3,1,2,15,11.821428571428571,274,2.8842105263157896 +com.google.javascript.jscomp.DepsFinder,2,3,13,0,15,5,0,2,0,10.5,0,0.0 +com.google.javascript.jscomp.ConvertToDottedProperties,2,1,18,1,13,2,0,0,1,6.0,25,1.6666666666666667 +com.google.javascript.jscomp.FieldCleanupPass,2,1,23,1,1,0,0,0,3,10.0,264,14.666666666666666 +com.google.javascript.jscomp.QualifiedNameSearchTraversal,3,2,19,0,9,3,0,1,2,10.333333333333334,216,13.5 +com.google.javascript.jscomp.DiagnosticGroup,6,4,19,1,6,2,0,2,11,7.833333333333333,127,5.08 +com.google.javascript.jscomp.SymbolTable,48,11,506,1,39,13,0,9,45,16.895833333333332,1445,2.855731225296443 +com.google.javascript.jscomp.Symbol,16,6,33,0,5,1,0,1,4,14.125,36,1.3846153846153846 +com.google.javascript.jscomp.Reference,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.SymbolScope,15,7,39,1,9,3,0,3,3,12.933333333333334,58,1.5263157894736843 +com.google.javascript.jscomp.PropertyRefCollector,6,1,49,1,20,6,0,5,0,20.166666666666668,0,0.0 +com.google.javascript.jscomp.ThisRefCollector,4,2,35,1,17,7,0,1,0,7.75,0,0.0 +com.google.javascript.jscomp.JSDocInfoCollector,2,1,20,0,11,6,0,0,1,9.0,6,0.3333333333333333 +com.google.javascript.jscomp.PrepareAst,4,2,60,1,14,4,0,0,7,13.0,190,2.878787878787879 +com.google.javascript.jscomp.PrepareAnnotations,6,0,37,1,7,2,0,1,4,20.0,114,3.6774193548387095 +com.google.javascript.jscomp.ControlStructureCheck,4,2,16,1,9,2,0,0,2,7.75,20,1.5384615384615385 +com.google.javascript.jscomp.ClosureRewriteClass,16,7,176,1,39,10,0,6,4,16.25,56,0.3971631205673759 +com.google.javascript.jscomp.MemberDefinition,0,3,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.ClassDefinition,0,6,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.ReplaceMessagesForChrome,4,0,38,0,18,5,1,2,1,19.25,53,1.65625 +com.google.javascript.jscomp.ProcessDefines,6,10,129,1,24,7,0,1,21,12.333333333333334,477,3.138157894736842 +com.google.javascript.jscomp.CollectDefines,8,6,76,1,41,11,0,2,9,16.75,229,2.4623655913978495 +com.google.javascript.jscomp.RefInfo,0,2,0,0,0,0,0,0,1,0,14,7.0 +com.google.javascript.jscomp.DefineInfo,4,5,4,0,2,0,0,1,6,17.25,82,8.2 +com.google.javascript.jscomp.RecentChange,3,1,1,1,1,0,0,1,1,10.333333333333334,16,5.333333333333333 +com.google.javascript.jscomp.ForbiddenChange,1,0,1,1,1,0,0,0,1,12.0,12,12.0 +com.google.javascript.jscomp.PreprocessorSymbolTable,9,3,23,2,5,1,0,1,2,11.222222222222221,25,1.6666666666666667 +com.google.javascript.jscomp.Reference,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.MarkNoSideEffectCalls,3,3,42,1,6,1,0,3,5,22.333333333333332,103,1.9074074074074074 +com.google.javascript.jscomp.GatherNoSideEffectFunctions,1,1,23,0,26,9,0,0,1,5.0,7,0.25925925925925924 +com.google.javascript.jscomp.SetNoSideEffectCallProperty,1,1,10,0,13,4,0,3,1,5.0,24,1.7142857142857142 +com.google.javascript.jscomp.PrintStreamErrorManager,3,3,17,0,7,2,0,0,3,13.333333333333334,86,7.166666666666667 +com.google.javascript.jscomp.CodePrinter,1,1,88,0,10,4,0,1,27,8.0,590,2.9797979797979797 +com.google.javascript.jscomp.MappedCodePrinter,9,8,27,0,16,4,0,4,6,15.0,238,4.576923076923077 +com.google.javascript.jscomp.Mapping,0,3,0,0,0,0,0,0,1,0,44,0 +com.google.javascript.jscomp.PrettyCodePrinter,16,2,33,0,10,2,0,6,7,12.5625,132,2.2758620689655173 +com.google.javascript.jscomp.CompactCodePrinter,6,6,20,0,20,4,0,1,4,12.166666666666666,89,1.5344827586206897 +com.google.javascript.jscomp.Builder,7,5,3,0,5,3,0,1,8,12.714285714285714,111,5.55 +com.google.javascript.jscomp.TypeCheck,39,50,692,2,182,21,0,6,31,15.794871794871796,1056,1.6603773584905661 +com.google.javascript.jscomp.PeepholeFoldWithTypes,2,0,21,0,30,9,0,2,2,14.0,145,4.393939393939394 +com.google.javascript.jscomp.PassConfig,17,4,36,0,18,5,0,1,21,17.176470588235293,335,5.491803278688525 +com.google.javascript.jscomp.PassConfigDelegate,6,1,6,0,1,0,0,1,1,16.0,15,1.875 +com.google.javascript.jscomp.State,0,10,0,1,0,0,0,0,1,0,7,0.7777777777777778 +com.google.javascript.jscomp.AbstractPeepholeOptimization,13,1,22,0,10,3,0,1,14,17.076923076923077,316,13.166666666666666 +com.google.javascript.jscomp.RenamePrototypes,3,9,107,1,32,8,0,1,15,13.333333333333334,471,3.3404255319148937 +com.google.javascript.jscomp.Property,4,5,16,0,15,5,0,5,1,15.75,13,0.37142857142857144 +com.google.javascript.jscomp.ProcessExternedProperties,1,0,7,0,4,1,0,0,1,5.0,22,5.5 +com.google.javascript.jscomp.ProcessProperties,6,0,45,0,19,5,0,1,6,20.333333333333332,166,3.5319148936170213 +com.google.javascript.jscomp.RhinoErrorReporter,6,8,37,0,6,2,0,2,2,12.333333333333334,55,1.7741935483870968 +com.google.javascript.jscomp.OldRhinoErrorReporter,2,0,2,1,1,0,0,0,0,6.0,0,0.0 +com.google.javascript.jscomp.NewRhinoErrorReporter,5,0,11,1,5,1,0,1,0,7.2,0,0.0 +com.google.javascript.jscomp.NameReferenceGraph,6,6,58,1,13,4,0,3,10,14.666666666666666,383,4.5058823529411764 +com.google.javascript.jscomp.Name,21,7,45,0,6,2,0,2,6,13.666666666666666,172,4.777777777777778 +com.google.javascript.jscomp.Reference,6,4,6,0,1,0,0,1,2,8.333333333333334,41,5.125 +com.google.javascript.jscomp.UnreachableCodeElimination,4,3,66,2,6,1,0,0,2,7.75,231,3.08 +com.google.javascript.jscomp.EliminationPass,4,1,49,0,25,6,0,5,1,20.25,153,2.3181818181818183 +com.google.javascript.jscomp.ReplaceCssNames,2,10,68,1,2,0,0,1,2,12.0,240,3.75 +com.google.javascript.jscomp.Traversal,2,0,59,0,31,8,0,3,1,11.0,70,1.2280701754385965 +com.google.javascript.jscomp.ObjectPropertyStringPostprocess,1,1,26,1,1,0,0,0,1,7.0,52,2.3636363636363638 +com.google.javascript.jscomp.Callback,1,0,25,0,20,4,0,2,0,5.0,0,0.0 +com.google.javascript.jscomp.DefinitionSite,0,5,0,0,0,0,0,0,1,0,24,4.8 +com.google.javascript.jscomp.GroupVariableDeclarations,6,1,44,2,32,8,0,2,2,10.5,240,5.217391304347826 +com.google.javascript.jscomp.Strings,3,0,11,0,7,2,0,3,4,22.333333333333332,441,31.5 +com.google.javascript.jscomp.CheckRequiresForConstructors,4,4,76,1,6,2,0,2,3,13.0,72,1.0588235294117647 +com.google.javascript.jscomp.CheckRequiresForConstructorsCallback,5,3,61,1,31,6,0,3,1,11.8,23,0.4107142857142857 +com.google.javascript.jscomp.MemoizedScopeCreator,7,2,23,2,7,2,0,1,3,14.857142857142858,95,4.523809523809524 +com.google.javascript.jscomp.GatherRawExports,4,3,19,1,11,4,0,3,1,13.5,25,1.25 +com.google.javascript.jscomp.ExpressionDecomposer,26,6,217,0,33,11,0,4,27,19.0,974,4.407239819004525 +com.google.javascript.jscomp.DecompositionState,0,2,0,0,0,0,0,0,1,0,17,0 +com.google.javascript.jscomp.JSModuleGraph,15,3,136,0,39,12,2,3,19,18.133333333333333,675,4.411764705882353 +com.google.javascript.jscomp.InverseDepthComparator,1,0,2,1,1,0,0,1,1,7.0,23,23.0 +com.google.javascript.jscomp.ModuleDependenceException,2,3,2,0,1,0,0,1,0,13.5,0,0.0 +com.google.javascript.jscomp.InlineFunctions,19,9,298,1,34,11,0,4,33,20.68421052631579,549,1.5292479108635098 +com.google.javascript.jscomp.FindCandidateFunctions,4,1,38,1,14,4,0,1,2,15.0,30,0.9090909090909091 +com.google.javascript.jscomp.CallVisitor,1,3,17,0,22,7,0,0,1,5.0,7,0.28 +com.google.javascript.jscomp.FindCandidatesReferences,5,0,35,1,17,5,0,3,2,15.0,13,0.28888888888888886 +com.google.javascript.jscomp.Inline,2,2,17,1,12,4,0,0,2,13.5,13,0.8125 +com.google.javascript.jscomp.FunctionState,26,10,44,0,6,2,0,2,1,14.5,12,0.24489795918367346 +com.google.javascript.jscomp.NamedFunction,4,1,9,1,1,0,0,1,1,11.25,6,1.2 +com.google.javascript.jscomp.FunctionVar,4,1,11,1,1,0,0,1,1,11.25,6,1.2 +com.google.javascript.jscomp.FunctionExpression,4,2,5,1,1,0,0,1,1,11.25,6,1.2 +com.google.javascript.jscomp.Reference,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.ShadowVariables,1,7,68,1,5,1,0,0,3,7.0,115,1.3218390804597702 +com.google.javascript.jscomp.GatherReferenceInfo,1,0,21,0,21,7,0,4,0,5.0,0,0.0 +com.google.javascript.jscomp.DoShadowVariables,5,0,44,1,26,9,0,2,1,9.2,20,0.35714285714285715 +com.google.javascript.jscomp.GlobalNamespace,18,9,210,2,7,1,0,1,42,12.722222222222221,1431,3.222972972972973 +com.google.javascript.jscomp.NodeFilter,1,1,7,1,9,3,0,3,1,5.0,17,1.7 +com.google.javascript.jscomp.BuildGlobalNamespace,14,1,120,1,83,16,0,8,14,15.714285714285714,711,3.2465753424657535 +com.google.javascript.jscomp.Name,25,16,38,1,29,5,0,6,7,13.4,145,1.1788617886178863 +com.google.javascript.jscomp.Ref,10,8,10,1,3,1,0,1,4,10.9,83,2.59375 +com.google.javascript.jscomp.Tracker,1,4,14,1,19,7,0,0,2,7.0,58,2.6363636363636362 +com.google.javascript.jscomp.ClosureOptimizePrimitives,3,1,34,1,17,4,0,3,6,18.0,80,2.2222222222222223 +com.google.javascript.jscomp.FindObjectCreateCalls,1,1,8,0,5,2,0,0,1,5.0,7,1.4 +com.google.javascript.jscomp.FunctionTypeBuilder,20,32,228,0,45,14,0,4,27,17.2,672,2.0425531914893615 +com.google.javascript.jscomp.ExtendedTypeValidator,1,0,9,1,18,4,0,5,0,5.0,0,0.0 +com.google.javascript.jscomp.ImplementedTypeValidator,1,0,8,1,18,4,0,5,0,5.0,0,0.0 +com.google.javascript.jscomp.UnknownFunctionContents,8,1,10,1,1,0,0,1,0,16.875,0,0.0 +com.google.javascript.jscomp.AstFunctionContents,11,5,20,1,4,1,0,1,0,19.636363636363637,0,0.0 +com.google.javascript.jscomp.DotFormatter,12,8,93,0,26,6,1,2,8,9.5,239,2.463917525773196 +com.google.javascript.jscomp.CrossModuleCodeMotion,8,5,113,1,29,8,0,10,12,13.125,227,1.6814814814814816 +com.google.javascript.jscomp.NamedInfo,3,4,3,0,8,2,0,2,3,15.333333333333334,43,2.8666666666666667 +com.google.javascript.jscomp.Declaration,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.JSSourceFile,10,2,20,1,1,0,1,1,1,10.6,36,3.0 +com.google.javascript.jscomp.ComposeWarningsGuard,8,6,33,0,12,4,0,3,3,10.0,96,1.6551724137931034 +com.google.javascript.jscomp.GuardComparator,1,2,7,2,4,1,0,2,0,7.0,0,0.0 +com.google.javascript.jscomp.VariableReferenceCheck,2,6,49,1,1,0,0,0,3,10.0,113,2.0925925925925926 +com.google.javascript.jscomp.ReferenceCheckingBehavior,2,0,42,1,47,16,0,0,2,11.0,62,1.24 +com.google.javascript.jscomp.ReplaceMessages,8,3,100,0,20,6,1,4,7,19.0,432,4.595744680851064 +com.google.javascript.jscomp.CleanupPasses,4,4,16,0,4,0,0,1,2,16.25,56,2.5454545454545454 +com.google.javascript.jscomp.MemoizedScopeCleanupPass,2,1,13,1,10,4,0,0,1,10.0,39,3.5454545454545454 +com.google.javascript.jscomp.InlineVariables,2,4,244,1,5,0,0,3,24,11.5,506,2.219298245614035 +com.google.javascript.jscomp.IdentifyConstants,1,0,2,1,1,0,0,1,1,5.0,43,43.0 +com.google.javascript.jscomp.IdentifyLocals,1,0,2,1,1,0,0,1,1,5.0,4,4.0 +com.google.javascript.jscomp.AliasCandidate,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.InliningBehavior,22,2,239,1,35,11,0,7,21,19.136363636363637,354,1.6465116279069767 +com.google.javascript.jscomp.ProcessCommonJSModules,6,8,115,1,9,1,0,1,11,12.833333333333334,212,2.6835443037974684 +com.google.javascript.jscomp.ProcessCommonJsModulesCallback,6,2,81,0,11,3,0,1,6,17.166666666666668,73,1.7380952380952381 +com.google.javascript.jscomp.SuffixVarsCallback,1,2,12,0,14,4,0,1,1,5.0,13,0.8666666666666667 +com.google.javascript.jscomp.SanityCheck,5,4,32,1,12,3,0,2,4,17.0,91,2.935483870967742 +com.google.javascript.jscomp.SuppressDocWarningsGuard,2,2,17,0,25,10,0,2,3,8.0,31,1.0689655172413792 +com.google.javascript.jscomp.PeepholeSubstituteAlternateSyntax,47,10,634,0,94,20,0,19,37,20.148936170212767,981,1.4469026548672566 +com.google.javascript.jscomp.AstChangeProxy,6,1,24,0,19,4,0,1,9,13.666666666666666,74,2.642857142857143 +com.google.javascript.jscomp.DiagnosticGroupWarningsGuard,4,3,10,0,8,3,0,2,1,7.0,13,1.0 +com.google.javascript.jscomp.JqueryCodingConvention,3,3,15,0,2,0,0,1,1,17.666666666666668,8,1.1428571428571428 +com.google.javascript.jscomp.InferJSDocInfo,5,2,58,1,39,12,0,4,3,15.8,190,2.8358208955223883 +com.google.javascript.jscomp.SpecializeModule,8,5,125,1,16,4,0,1,32,26.625,1470,10.425531914893616 +com.google.javascript.jscomp.NodeMatcher,3,0,10,0,8,2,0,1,4,10.0,117,13.0 +com.google.javascript.jscomp.OriginalFunctionInformation,4,4,22,0,8,1,0,1,5,22.75,139,7.722222222222222 +com.google.javascript.jscomp.SpecializationState,11,5,31,0,14,4,0,5,14,22.363636363636363,453,10.295454545454545 +com.google.javascript.jscomp.SideEffectsAnalysis,9,4,92,1,20,6,0,9,42,17.77777777777778,1355,7.923976608187134 +com.google.javascript.jscomp.AbstractMotionEnvironment,1,0,1,0,0,0,0,0,2,20.0,87,0 +com.google.javascript.jscomp.IntraproceduralMotionEnvironment,1,0,1,0,1,0,0,1,2,20.0,73,73.0 +com.google.javascript.jscomp.CrossModuleMotionEnvironment,1,0,1,0,1,0,0,1,2,20.0,84,84.0 +com.google.javascript.jscomp.RawMotionEnvironment,1,1,1,0,1,0,0,1,1,20.0,32,16.0 +com.google.javascript.jscomp.LocationSummary,2,2,2,0,1,0,0,1,0,9.0,0,0.0 +com.google.javascript.jscomp.LocationAbstraction,3,0,8,0,5,1,0,1,4,21.666666666666668,83,16.6 +com.google.javascript.jscomp.DegenerateLocationAbstraction,4,2,5,0,5,1,0,2,1,17.75,51,2.6842105263157894 +com.google.javascript.jscomp.DegenerateEffectLocation,3,0,3,1,5,1,0,2,0,9.666666666666666,0,0.0 +com.google.javascript.jscomp.VisibilityLocationAbstraction,7,9,30,0,16,4,0,2,10,21.571428571428573,289,5.452830188679245 +com.google.javascript.jscomp.VisibilityBasedEffectLocation,3,1,5,1,2,0,0,1,1,9.666666666666666,41,6.833333333333333 +com.google.javascript.jscomp.VariableUseDeclarationMap,2,2,12,0,7,2,0,1,3,17.0,78,7.8 +com.google.javascript.jscomp.AmbiguateProperties,10,13,195,1,30,8,0,3,26,15.3,543,2.7989690721649483 +com.google.javascript.jscomp.PropertyGraph,5,1,12,1,3,1,0,1,0,11.0,0,0.0 +com.google.javascript.jscomp.PropertySubGraph,2,1,5,1,1,0,0,1,4,11.0,80,40.0 +com.google.javascript.jscomp.PropertyGraphNode,3,2,3,1,1,0,0,1,0,11.333333333333334,0,0.0 +com.google.javascript.jscomp.ProcessExterns,1,0,10,0,7,1,0,0,1,5.0,8,1.1428571428571428 +com.google.javascript.jscomp.ProcessProperties,3,0,25,0,16,3,0,1,2,12.333333333333334,44,2.0 +com.google.javascript.jscomp.Property,2,5,15,0,14,4,0,2,2,11.0,15,0.5769230769230769 +com.google.javascript.jscomp.JSTypeBitSet,1,1,9,0,5,1,0,1,1,8.0,5,0.7142857142857143 +com.google.javascript.jscomp.Bind,1,3,3,0,4,1,0,2,1,22.0,10,1.4285714285714286 +com.google.javascript.jscomp.SubclassRelationship,0,3,2,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.DelegateRelationship,0,2,0,0,0,0,0,0,3,0,60,30.0 +com.google.javascript.jscomp.ObjectLiteralCast,0,3,0,0,0,0,0,0,4,0,26,8.666666666666666 +com.google.javascript.jscomp.AssertionFunctionSpec,3,2,4,0,1,1,0,1,4,15.333333333333334,78,13.0 +com.google.javascript.jscomp.SourceFile,30,7,90,2,29,7,1,5,22,11.133333333333333,473,3.354609929078014 +com.google.javascript.jscomp.Builder,8,2,13,0,2,0,1,1,3,14.875,47,4.7 +com.google.javascript.jscomp.Preloaded,0,1,0,0,0,0,0,0,1,0,9,3.0 +com.google.javascript.jscomp.Generated,2,2,3,0,5,1,1,1,1,12.0,14,1.5555555555555556 +com.google.javascript.jscomp.OnDisk,5,3,13,0,5,1,1,2,4,11.4,109,5.7368421052631575 +com.google.javascript.jscomp.LineNumberCheck,4,3,13,2,8,3,0,1,1,10.25,26,1.5294117647058822 +com.google.javascript.jscomp.OptimizeCalls,2,2,6,1,6,2,0,1,1,7.0,36,4.0 +com.google.javascript.jscomp.CrossModuleMethodMotion,2,8,53,1,33,10,0,0,6,9.0,88,2.046511627906977 +com.google.javascript.jscomp.IdGenerator,2,2,0,1,1,0,0,1,3,11.5,30,15.0 +com.google.javascript.jscomp.Compiler,155,54,740,0,71,19,1,6,102,14.870967741935484,1625,1.9162735849056605 +com.google.javascript.jscomp.CodeBuilder,7,3,15,0,11,2,0,1,8,8.857142857142858,92,5.411764705882353 +com.google.javascript.jscomp.IntermediateState,0,10,0,1,0,0,0,0,1,0,82,0 +com.google.javascript.jscomp.NodeNameExtractor,1,2,27,0,24,5,0,11,2,7.0,101,4.04 +com.google.javascript.jscomp.TypedCodeGenerator,5,0,104,0,55,15,0,6,3,16.4,41,0.41414141414141414 +com.google.javascript.jscomp.TypeInferencePass,4,6,27,1,5,0,0,1,3,10.25,54,2.4545454545454546 +com.google.javascript.jscomp.FirstScopeBuildingCallback,2,0,3,0,1,0,0,0,0,7.5,0,0.0 +com.google.javascript.jscomp.SecondScopeBuildingCallback,2,0,5,0,1,0,0,0,0,7.5,0,0.0 +com.google.javascript.jscomp.SyntheticAst,5,4,9,1,3,0,0,1,1,10.8,13,1.3 +com.google.javascript.jscomp.CombinedCompilerPass,7,2,28,2,5,1,0,1,8,9.428571428571429,288,6.0 +com.google.javascript.jscomp.CallbackWrapper,5,3,8,0,6,2,0,1,5,17.0,132,6.0 +com.google.javascript.jscomp.RuntimeTypeCheck,3,3,132,1,4,1,0,1,7,10.333333333333334,343,3.0353982300884956 +com.google.javascript.jscomp.AddMarkers,6,1,41,0,10,3,0,3,2,17.0,125,3.90625 +com.google.javascript.jscomp.AddChecks,5,0,67,0,21,5,0,5,4,13.8,152,2.4516129032258065 +com.google.javascript.jscomp.VariableMap,14,3,58,0,11,3,1,2,13,11.571428571428571,160,2.711864406779661 +com.google.javascript.jscomp.MustBeReachingVariableDef,12,3,124,0,53,16,0,8,8,14.833333333333334,316,2.065359477124183 +com.google.javascript.jscomp.Definition,1,3,2,0,4,1,0,2,1,6.0,51,10.2 +com.google.javascript.jscomp.MustDef,1,1,7,1,1,0,0,1,2,6.0,80,11.428571428571429 +com.google.javascript.jscomp.MustDefJoin,1,0,16,0,21,6,0,1,0,5.0,0,0.0 +com.google.javascript.jscomp.StripCode,2,8,138,1,1,0,0,0,21,13.5,950,5.900621118012422 +com.google.javascript.jscomp.Strip,18,0,128,0,27,6,0,5,18,26.333333333333332,828,5.411764705882353 +com.google.javascript.jscomp.TransformAMDToCJSModule,3,6,117,1,1,0,0,1,10,16.0,168,1.6153846153846154 +com.google.javascript.jscomp.TransformAMDModulesCallback,6,0,93,0,36,9,0,6,6,18.5,113,1.2555555555555555 +com.google.javascript.jscomp.DefineCallbackReturnCallback,1,0,12,0,4,1,0,0,1,5.0,14,3.5 +com.google.javascript.jscomp.RenameCallback,1,2,6,0,4,1,0,0,1,5.0,2,0.3333333333333333 +com.google.javascript.jscomp.PeepholeCollectPropertyAssignments,9,0,96,0,29,9,0,7,1,17.555555555555557,43,0.32575757575757575 +com.google.javascript.jscomp.CheckProvides,2,4,36,1,1,0,0,0,1,10.0,8,0.18604651162790697 +com.google.javascript.jscomp.CheckProvidesCallback,3,3,31,0,15,5,0,0,0,12.333333333333334,0,0.0 +com.google.javascript.jscomp.ScopedAliases,2,11,161,1,21,6,0,0,4,10.0,82,0.5 +com.google.javascript.jscomp.AliasedNode,1,2,4,1,1,0,0,0,0,10.0,0,0.0 +com.google.javascript.jscomp.AliasedTypeNode,1,3,8,1,2,0,0,0,0,10.0,0,0.0 +com.google.javascript.jscomp.Traversal,16,8,118,1,40,14,0,2,2,13.8125,35,0.26717557251908397 +com.google.javascript.jscomp.JsMessage,14,11,76,0,7,5,0,3,37,8.285714285714286,877,4.022935779816514 +com.google.javascript.jscomp.PlaceholderReference,7,1,13,1,1,0,0,1,1,7.428571428571429,9,1.125 +com.google.javascript.jscomp.Builder,15,8,38,0,14,6,0,1,14,11.133333333333333,174,3.702127659574468 +com.google.javascript.jscomp.Hash,6,2,12,0,70,1,0,2,8,6.166666666666667,316,2.7719298245614037 +com.google.javascript.jscomp.ConcreteType,22,5,188,1,14,4,0,3,69,12.136363636363637,1130,4.934497816593886 +com.google.javascript.jscomp.TypeFilter,1,1,0,0,0,0,0,0,2,6.0,41,41.0 +com.google.javascript.jscomp.ConcreteNoneType,4,0,1,0,1,0,0,1,1,9.0,6,1.5 +com.google.javascript.jscomp.ConcreteFunctionType,14,9,68,0,21,5,0,2,16,12.642857142857142,284,5.071428571428571 +com.google.javascript.jscomp.ConcreteInstanceType,9,4,23,0,11,3,0,4,11,15.0,169,4.970588235294118 +com.google.javascript.jscomp.ConcreteUnionType,8,1,39,0,22,5,0,6,2,9.125,48,0.9795918367346939 +com.google.javascript.jscomp.ConcreteAll,4,0,1,0,1,0,0,1,1,8.75,7,1.75 +com.google.javascript.jscomp.ConcreteUniqueType,3,1,5,0,1,0,0,1,1,7.333333333333333,60,12.0 +com.google.javascript.jscomp.GatherSideEffectSubexpressionsCallback,7,3,95,1,25,7,0,7,15,17.0,374,3.8958333333333335 +com.google.javascript.jscomp.GetReplacementSideEffectSubexpressions,5,2,41,1,13,4,0,1,2,26.8,48,1.2972972972972974 +com.google.javascript.jscomp.NodeIterators,0,0,59,0,0,0,0,0,10,0,228,2.85 +com.google.javascript.jscomp.FunctionlessLocalScope,6,1,29,1,20,5,0,4,5,8.833333333333334,70,2.121212121212121 +com.google.javascript.jscomp.LocalVarMotion,6,4,36,1,32,10,0,5,4,8.0,136,2.893617021276596 +com.google.javascript.jscomp.PureFunctionIdentifier,9,8,297,1,41,13,0,7,37,15.444444444444445,652,1.5523809523809524 +com.google.javascript.jscomp.FunctionAnalyzer,13,1,128,1,50,15,0,4,10,17.384615384615383,153,0.9386503067484663 +com.google.javascript.jscomp.SideEffectPropagationCallback,1,0,25,1,32,10,0,1,1,12.0,9,0.28125 +com.google.javascript.jscomp.FunctionInformation,19,12,29,0,19,6,0,1,18,14.789473684210526,167,3.34 +com.google.javascript.jscomp.Driver,1,3,7,1,14,2,0,0,1,7.0,14,0.8235294117647058 +com.google.javascript.jscomp.CallGraph,21,9,117,1,23,7,0,3,43,20.666666666666668,1378,6.530805687203792 +com.google.javascript.jscomp.Function,10,5,17,0,9,2,0,2,9,18.1,181,4.7631578947368425 +com.google.javascript.jscomp.Callsite,6,5,8,0,9,2,0,2,4,16.166666666666668,162,8.526315789473685 +com.google.javascript.jscomp.LoggerErrorManager,2,2,18,0,7,3,0,0,3,9.5,45,2.8125 +com.google.javascript.jscomp.CheckAccessControls,24,20,251,2,37,14,0,5,19,19.041666666666668,488,2.076595744680851 +com.google.javascript.jscomp.NameAnalyzer,25,17,534,1,63,14,0,9,88,16.8,2034,3.1534883720930234 +com.google.javascript.jscomp.AliasSet,0,1,3,0,0,0,0,0,1,0,53,26.5 +com.google.javascript.jscomp.ReferencePropagationCallback,1,0,1,1,6,1,0,2,1,12.0,5,0.8333333333333334 +com.google.javascript.jscomp.NameInformation,0,7,0,0,0,0,0,0,8,0,81,0 +com.google.javascript.jscomp.JsName,2,6,15,1,12,3,0,1,8,8.5,62,4.769230769230769 +com.google.javascript.jscomp.JsNameRefNode,2,3,13,1,13,1,0,1,5,5.0,92,5.411764705882353 +com.google.javascript.jscomp.PrototypeSetNode,1,0,11,0,5,1,0,0,2,6.0,32,4.571428571428571 +com.google.javascript.jscomp.SpecialReferenceNode,3,2,5,1,1,1,0,1,4,7.333333333333333,28,5.6 +com.google.javascript.jscomp.ClassDefiningFunctionNode,1,0,12,0,6,1,0,0,2,6.0,34,4.25 +com.google.javascript.jscomp.InstanceOfCheckNode,1,0,10,0,1,0,0,0,2,6.0,26,6.5 +com.google.javascript.jscomp.ProcessExternals,1,0,8,0,10,3,0,0,1,5.0,11,1.1 +com.google.javascript.jscomp.FindDependencyScopes,4,0,41,0,20,7,0,1,2,12.5,150,3.1914893617021276 +com.google.javascript.jscomp.HoistVariableAndFunctionDeclarations,1,0,11,0,8,2,0,0,1,5.0,32,4.0 +com.google.javascript.jscomp.FindDeclarationsAndSetters,4,0,41,0,30,11,0,2,4,13.75,117,2.2941176470588234 +com.google.javascript.jscomp.FindReferences,9,1,115,1,41,15,0,4,4,16.555555555555557,126,0.9064748201438849 +com.google.javascript.jscomp.NodeAccumulator,4,0,15,1,7,2,0,1,1,27.0,15,1.3636363636363635 +com.google.javascript.jscomp.RemoveListener,1,0,2,1,1,0,0,0,0,11.0,0,0.0 +com.google.javascript.jscomp.PerformanceTracker,9,10,106,0,64,6,0,1,7,15.11111111111111,70,0.43478260869565216 +com.google.javascript.jscomp.Stats,0,8,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.CmpEntries,1,0,3,1,1,0,0,1,0,7.0,0,0.0 +com.google.javascript.jscomp.CodeSizeEstimatePrinter,4,5,8,0,11,2,0,2,1,9.75,15,0.5357142857142857 +com.google.javascript.jscomp.SimpleFunctionAliasAnalysis,4,2,30,0,12,4,0,1,5,14.5,109,3.7586206896551726 +com.google.javascript.jscomp.CheckMissingGetCssName,6,6,37,1,14,5,0,4,4,14.833333333333334,76,2.303030303030303 +com.google.javascript.jscomp.ByPart,2,0,2,1,1,0,0,1,0,5.5,0,0.0 +com.google.javascript.jscomp.ByWhole,2,0,2,1,1,0,0,1,0,5.5,0,0.0 +com.google.javascript.jscomp.ErrorPass,1,2,3,1,1,0,0,0,1,7.0,8,2.0 +com.google.javascript.jscomp.SourceInformationAnnotator,2,2,20,0,18,4,0,0,1,10.0,70,3.0434782608695654 +com.google.javascript.jscomp.MoveFunctionDeclarations,3,2,22,2,12,3,0,1,1,8.666666666666666,66,3.142857142857143 +com.google.javascript.jscomp.StrictWarningsGuard,2,2,5,0,4,2,0,2,1,8.0,13,2.6 +com.google.javascript.jscomp.NameReferenceGraphConstruction,7,5,222,1,11,4,0,2,13,17.0,209,0.8326693227091634 +com.google.javascript.jscomp.Traversal,20,1,202,1,44,12,0,6,8,19.25,130,0.6280193236714976 +com.google.javascript.jscomp.NameUse,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.ExportTestFunctions,4,4,53,1,7,1,0,1,4,18.75,139,3.3095238095238093 +com.google.javascript.jscomp.ExportTestFunctionsNodes,2,0,25,0,22,9,0,2,1,13.0,31,1.1923076923076923 +com.google.javascript.jscomp.AstValidator,64,1,390,1,38,3,0,18,1,17.296875,18,0.04411764705882353 +com.google.javascript.jscomp.ChainCalls,1,6,45,1,9,1,0,0,4,7.0,39,0.6 +com.google.javascript.jscomp.GatherFunctions,4,0,17,1,7,2,0,1,1,9.5,7,0.875 +com.google.javascript.jscomp.GatherCallSites,1,0,23,0,42,14,0,12,1,5.0,19,0.4523809523809524 +com.google.javascript.jscomp.CallSite,0,5,0,0,0,0,0,0,1,0,6,1.2 +com.google.javascript.jscomp.InlineSimpleMethods,12,2,73,0,10,3,0,4,13,17.0,313,3.7710843373493974 +com.google.javascript.jscomp.InlineTrivialAccessors,1,0,24,0,26,8,0,2,1,5.0,20,0.7692307692307693 +com.google.javascript.jscomp.MaybeReachingVariableUse,9,2,73,0,46,9,0,7,7,15.555555555555555,349,4.204819277108434 +com.google.javascript.jscomp.ReachingUses,2,1,5,1,1,0,0,1,2,7.0,130,32.5 +com.google.javascript.jscomp.ReachingUsesJoinOp,1,0,2,1,4,1,0,1,1,5.0,37,9.25 +com.google.javascript.jscomp.PeepholeReplaceKnownMethods,17,2,297,0,78,18,0,13,17,19.352941176470587,195,0.4936708860759494 +com.google.javascript.jscomp.DevirtualizePrototypeMethods,13,2,141,2,36,11,0,12,10,16.923076923076923,398,2.689189189189189 +com.google.javascript.jscomp.TightenTypes,19,8,530,2,74,12,0,6,53,17.05263157894737,1102,2.010948905109489 +com.google.javascript.jscomp.ConcreteScope,13,3,31,1,8,2,0,3,8,11.153846153846153,98,3.161290322580645 +com.google.javascript.jscomp.ConcreteSlot,8,3,10,1,2,0,0,1,5,10.625,57,4.75 +com.google.javascript.jscomp.Assignment,0,2,2,0,0,0,0,0,1,0,12,3.0 +com.google.javascript.jscomp.VariableAssignAction,1,2,5,1,1,0,0,1,1,14.0,9,1.8 +com.google.javascript.jscomp.PropertyAssignAction,1,3,11,1,4,1,0,1,2,14.0,51,5.1 +com.google.javascript.jscomp.FunctionCallBuilder,4,5,2,0,5,1,0,2,3,11.25,39,2.6 +com.google.javascript.jscomp.ExternFunctionCall,1,3,3,1,1,0,0,1,1,14.0,35,8.75 +com.google.javascript.jscomp.FunctionCall,1,4,14,1,20,6,0,1,2,14.0,31,1.24 +com.google.javascript.jscomp.NativeCallFunctionCall,1,3,13,1,7,3,0,1,1,14.0,8,0.7272727272727273 +com.google.javascript.jscomp.CreateScope,11,2,227,0,87,24,0,4,5,19.454545454545453,78,0.4262295081967213 +com.google.javascript.jscomp.ConcreteJSTypePair,4,3,8,0,6,2,0,2,1,10.75,22,1.375 +com.google.javascript.jscomp.CreateSyntheticBlocks,5,8,53,1,8,2,0,2,8,12.4,93,1.55 +com.google.javascript.jscomp.Marker,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.Callback,1,0,24,0,27,7,0,7,0,5.0,0,0.0 +com.google.javascript.jscomp.NodeTraversal,36,12,167,0,17,3,0,3,49,12.805555555555555,729,3.796875 +com.google.javascript.jscomp.AbstractPostOrderCallback,1,0,1,1,1,0,0,1,1,14.0,9,9.0 +com.google.javascript.jscomp.AbstractScopedCallback,3,0,3,1,1,0,0,1,1,11.0,10,10.0 +com.google.javascript.jscomp.AbstractShallowCallback,1,0,3,1,1,0,0,1,1,14.0,12,12.0 +com.google.javascript.jscomp.AbstractShallowStatementCallback,1,0,3,1,1,0,0,1,1,14.0,17,17.0 +com.google.javascript.jscomp.AbstractNodeTypePruningCallback,1,2,3,1,1,0,0,1,3,14.0,50,12.5 +com.google.javascript.jscomp.PhaseOptimizer,14,17,67,1,16,4,0,1,19,11.714285714285714,304,2.235294117647059 +com.google.javascript.jscomp.NamedPass,1,2,7,1,4,0,0,0,1,7.0,4,0.6666666666666666 +com.google.javascript.jscomp.Loop,5,2,30,1,43,10,0,2,4,12.2,49,0.8032786885245902 +com.google.javascript.jscomp.ProgressRange,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.CheckMissingReturn,8,5,45,1,13,4,0,5,6,14.125,130,2.888888888888889 +com.google.javascript.jscomp.CheckDebuggerStatement,2,2,6,1,3,1,0,0,1,6.0,40,8.0 +com.google.javascript.jscomp.InlineCostEstimator,2,2,11,0,2,0,0,1,5,7.0,71,4.733333333333333 +com.google.javascript.jscomp.CompiledSizeEstimator,7,4,7,0,5,1,0,1,2,9.857142857142858,37,3.0833333333333335 +com.google.javascript.jscomp.IgnoreCajaProperties,1,2,33,1,1,0,0,0,1,7.0,77,5.133333333333334 +com.google.javascript.jscomp.Traversal,1,0,32,0,12,2,0,0,0,5.0,0,0.0 +com.google.javascript.jscomp.AnonymousFunctionNamingCallback,2,1,29,0,13,5,0,0,5,14.5,97,3.730769230769231 +com.google.javascript.jscomp.AliasStrings,9,11,86,1,29,8,0,3,17,18.444444444444443,451,3.608 +com.google.javascript.jscomp.StringOccurrence,0,2,0,0,0,0,0,0,1,0,12,6.0 +com.google.javascript.jscomp.StringInfo,2,9,19,0,26,6,0,2,3,19.5,160,4.848484848484849 +com.google.javascript.jscomp.DisambiguateProperties,10,7,350,1,23,5,0,1,47,17.0,1007,2.352803738317757 +com.google.javascript.jscomp.Warnings,0,1,1,0,0,0,0,0,0,0,0,0 +com.google.javascript.jscomp.Property,8,6,40,0,20,7,0,2,14,11.875,264,4.47457627118644 +com.google.javascript.jscomp.AbstractScopingCallback,4,1,11,1,5,1,0,1,2,10.25,18,2.25 +com.google.javascript.jscomp.FindExternProperties,1,0,15,0,11,3,0,0,1,5.0,23,2.090909090909091 +com.google.javascript.jscomp.FindRenameableProperties,5,0,64,0,20,7,0,4,4,13.4,85,1.2686567164179106 +com.google.javascript.jscomp.JSTypeSystem,13,2,104,1,34,11,0,5,1,18.46153846153846,5,0.043859649122807015 +com.google.javascript.jscomp.ConcreteTypeSystem,14,5,70,1,19,7,0,5,2,17.5,38,0.5135135135135135 +com.google.javascript.jscomp.CollapseAnonymousFunctions,1,1,39,1,1,0,0,0,1,7.0,42,1.2727272727272727 +com.google.javascript.jscomp.Callback,3,0,35,0,17,4,0,3,0,12.0,0,0.0 +com.google.javascript.jscomp.WhitelistWarningsGuard,11,3,76,0,12,3,1,2,17,15.363636363636363,326,4.465753424657534 +com.google.javascript.jscomp.WhitelistBuilder,7,4,34,1,20,6,1,1,6,13.0,65,2.1666666666666665 +com.google.javascript.jscomp.AstParallelizer,6,7,43,0,18,3,0,4,6,16.666666666666668,250,4.716981132075472 +com.google.javascript.jscomp.DetachPoint,1,3,10,0,9,2,0,0,1,8.0,62,5.166666666666667 +com.google.javascript.jscomp.DefinitionsRemover,2,0,77,0,24,8,0,8,18,14.5,245,2.355769230769231 +com.google.javascript.jscomp.Definition,5,1,5,0,5,1,0,1,5,9.0,108,15.428571428571429 +com.google.javascript.jscomp.IncompleteDefinition,2,2,9,0,1,0,0,1,1,9.0,12,2.0 +com.google.javascript.jscomp.UnknownDefinition,1,0,1,0,1,0,0,0,1,13.0,4,2.0 +com.google.javascript.jscomp.ExternalNameOnlyDefinition,1,0,1,0,1,0,0,0,1,13.0,12,6.0 +com.google.javascript.jscomp.FunctionArgumentDefinition,1,0,5,0,1,0,0,0,1,13.0,11,2.75 +com.google.javascript.jscomp.FunctionDefinition,2,1,5,0,1,0,0,1,1,9.0,7,1.4 +com.google.javascript.jscomp.NamedFunctionDefinition,1,0,2,0,1,0,0,0,1,13.0,12,6.0 +com.google.javascript.jscomp.FunctionExpressionDefinition,1,0,6,0,1,0,0,0,1,13.0,19,6.333333333333333 +com.google.javascript.jscomp.AssignmentDefinition,3,1,11,0,2,0,0,1,1,10.333333333333334,6,0.8571428571428571 +com.google.javascript.jscomp.ObjectLiteralPropertyDefinition,3,3,9,0,3,0,0,1,1,10.333333333333334,12,1.3333333333333333 +com.google.javascript.jscomp.VarDefinition,3,1,19,0,3,0,0,1,1,10.333333333333334,7,0.7777777777777778 +com.google.javascript.jscomp.OptimizeArgumentsArray,7,7,61,2,35,10,0,4,5,10.571428571428571,127,1.8405797101449275 +com.google.javascript.jscomp.VariableNameGenerator,1,2,3,0,3,1,0,1,1,14.0,14,2.8 +com.google.javascript.jscomp.LinkedFlowScope,17,7,118,1,29,10,0,8,14,13.176470588235293,254,1.6282051282051282 +com.google.javascript.jscomp.FlowScopeJoinOp,1,0,4,0,6,1,0,2,1,5.0,4,0.6666666666666666 +com.google.javascript.jscomp.LinkedFlowSlot,0,1,0,0,0,0,0,0,1,0,11,5.5 +com.google.javascript.jscomp.FlatFlowScopeCache,1,4,36,0,5,1,0,2,2,7.0,27,0.7714285714285715 +com.google.javascript.jscomp.ConstCheck,4,3,36,1,29,8,0,1,4,8.25,46,1.3142857142857143 +com.google.javascript.jscomp.BasicErrorManager,11,4,24,1,8,3,0,1,4,11.272727272727273,127,1.9242424242424243 +com.google.javascript.jscomp.LeveledJSErrorComparator,1,2,6,1,40,13,0,13,1,7.0,45,1.125 +com.google.javascript.jscomp.ErrorWithLevel,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.DeadAssignmentsElimination,10,3,139,2,61,16,0,11,5,18.1,285,1.6964285714285714 +com.google.javascript.jscomp.Scope,26,7,85,2,9,2,0,3,52,11.692307692307692,802,6.739495798319328 +com.google.javascript.jscomp.Var,30,9,40,2,4,1,0,2,31,11.066666666666666,371,8.244444444444444 +com.google.javascript.jscomp.Arguments,2,0,5,0,4,1,0,2,1,7.0,13,2.1666666666666665 +com.google.javascript.jscomp.PassFactory,4,2,0,0,1,0,0,1,6,10.0,119,23.8 +com.google.javascript.jscomp.Denormalize,4,1,41,2,33,9,0,4,2,14.0,77,1.7906976744186047 +com.google.javascript.jscomp.StripConstantAnnotations,2,1,8,1,3,1,0,0,0,6.0,0,0.0 +com.google.javascript.jscomp.ReferenceCollectingCallback,11,6,151,3,13,4,0,3,41,10.818181818181818,700,3.910614525139665 +com.google.javascript.jscomp.ReferenceMapWrapper,1,1,2,1,1,0,0,1,0,13.0,0,0.0 +com.google.javascript.jscomp.ReferenceCollection,12,1,44,1,13,4,0,4,10,20.333333333333332,243,2.9634146341463414 +com.google.javascript.jscomp.Reference,19,6,51,1,4,1,0,2,5,14.526315789473685,62,2.2142857142857144 +com.google.javascript.jscomp.BasicBlock,3,4,9,0,12,4,0,4,7,16.333333333333332,130,5.909090909090909 +com.google.javascript.jscomp.NameAnonymousFunctionsMapped,2,9,22,1,5,1,0,1,3,10.5,125,4.62962962962963 +com.google.javascript.jscomp.MappedFunctionNamer,4,1,14,1,10,3,0,2,1,13.25,44,2.588235294117647 +com.google.javascript.jscomp.JsMessageVisitor,24,26,230,1,60,13,1,7,27,21.708333333333332,1017,3.619217081850534 +com.google.javascript.jscomp.MalformedException,1,2,0,0,1,0,0,1,0,7.0,0,0.0 +com.google.javascript.jscomp.MessageLocation,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.OptimizeParameters,17,2,135,2,26,8,0,8,13,19.058823529411764,278,1.4404145077720207 +com.google.javascript.jscomp.Parameter,7,4,7,0,1,0,0,1,1,14.428571428571429,15,1.6666666666666667 +com.google.javascript.jscomp.CodeConsumer,34,3,67,0,25,8,0,1,11,12.205882352941176,252,2.5714285714285716 +com.google.javascript.jscomp.TypedScopeCreator,8,17,749,1,26,5,0,2,48,18.5,1509,2.1965065502183405 +com.google.javascript.jscomp.DeferredSetType,1,2,5,0,1,0,0,0,1,7.0,22,3.6666666666666665 +com.google.javascript.jscomp.DiscoverEnumsAndTypedefs,2,1,22,0,11,4,0,0,0,10.5,0,0.0 +com.google.javascript.jscomp.AbstractScopeBuilder,32,7,518,1,46,20,0,9,31,19.0625,1164,2.503225806451613 +com.google.javascript.jscomp.CollectProperties,2,1,23,0,7,2,0,1,1,11.5,15,1.0 +com.google.javascript.jscomp.StubDeclaration,0,3,0,0,0,0,0,0,1,0,7,2.3333333333333335 +com.google.javascript.jscomp.GlobalScopeBuilder,3,0,20,0,14,4,0,2,3,15.0,66,2.869565217391304 +com.google.javascript.jscomp.LocalScopeBuilder,4,0,51,0,24,11,0,2,6,11.5,79,1.5490196078431373 +com.google.javascript.jscomp.FirstOrderFunctionAnalyzer,3,2,44,1,26,10,0,2,1,7.333333333333333,22,0.6111111111111112 +com.google.javascript.jscomp.RenameVars,10,21,114,1,30,8,0,3,26,16.0,386,2.120879120879121 +com.google.javascript.jscomp.Assignment,1,4,1,0,2,0,0,0,1,10.0,4,0.6666666666666666 +com.google.javascript.jscomp.ProcessVars,4,1,40,1,40,12,0,6,1,8.0,134,2.4814814814814814 +com.google.javascript.jscomp.ProcessTweaks,6,13,141,1,15,4,0,1,13,23.5,296,1.783132530120482 +com.google.javascript.jscomp.CollectTweaksResult,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.CollectTweaks,1,2,41,0,44,10,0,4,1,5.0,7,0.1590909090909091 +com.google.javascript.jscomp.TweakFunctionCall,1,4,2,0,1,0,0,1,1,9.0,10,1.6666666666666667 +com.google.javascript.jscomp.TweakInfo,8,4,25,0,12,5,0,3,4,17.75,72,2.0 +com.google.javascript.jscomp.FunctionInjector,18,9,164,0,30,10,0,6,33,20.666666666666668,778,3.26890756302521 +com.google.javascript.jscomp.Reference,0,3,0,0,0,0,0,0,1,0,11,3.6666666666666665 +com.google.javascript.jscomp.ControlFlowGraph,6,2,18,0,11,1,0,7,16,18.166666666666668,309,12.875 +com.google.javascript.jscomp.AbstractCfgNodeTraversalCallback,1,0,2,1,4,1,0,2,1,14.0,53,13.25 +com.google.javascript.jscomp.ExpandJqueryAliases,10,9,275,1,53,15,0,4,6,21.7,184,0.8518518518518519 +com.google.javascript.jscomp.FindCallbackArgumentReferences,4,5,28,1,11,5,0,1,2,8.5,43,1.2285714285714286 +com.google.javascript.jscomp.ProcessClosurePrimitives,21,23,422,1,53,16,0,5,30,20.19047619047619,559,1.3309523809523809 +com.google.javascript.jscomp.ProvidedName,13,8,94,0,39,7,0,2,10,16.923076923076923,168,1.6470588235294117 +com.google.javascript.jscomp.UnrecognizedRequire,0,3,0,0,0,0,0,0,1,0,8,2.6666666666666665 +com.google.javascript.jscomp.CheckGlobalThis,4,3,41,1,30,11,0,6,4,13.75,222,4.269230769230769 +com.google.javascript.jscomp.WarningsGuard,4,0,1,1,1,0,0,1,5,7.75,292,58.4 +com.google.javascript.jscomp.FlowSensitiveInlineVariables,6,7,139,2,23,5,0,2,9,9.0,310,1.901840490797546 +com.google.javascript.jscomp.GatherCandiates,1,0,19,0,18,6,0,4,1,5.0,45,2.5 +com.google.javascript.jscomp.Candidate,5,6,71,0,50,15,0,17,4,14.0,45,0.5232558139534884 +com.google.javascript.jscomp.NameAnonymousFunctions,1,5,11,1,2,0,0,0,3,7.0,100,9.090909090909092 +com.google.javascript.jscomp.AnonymousFunctionNamer,4,1,9,1,4,0,0,1,2,16.0,60,7.5 +com.google.javascript.jscomp.SimpleRegion,3,3,3,1,1,0,0,1,1,19.0,2,0.3333333333333333 +com.google.javascript.jscomp.CheckGlobalNames,9,9,85,1,25,9,0,6,5,18.22222222222222,113,1.2696629213483146 +com.google.javascript.jscomp.InvocationsCallback,2,0,9,0,10,3,0,3,2,5.0,56,5.6 +com.google.javascript.jscomp.AbstractMessageFormatter,5,3,8,1,4,1,0,3,2,12.4,20,1.5384615384615385 +com.google.javascript.jscomp.ExtractPrototypeMemberDeclarations,4,3,75,1,14,4,0,0,9,16.75,367,5.097222222222222 +com.google.javascript.jscomp.GatherExtractionInfo,2,2,10,0,13,4,0,1,2,9.0,30,2.142857142857143 +com.google.javascript.jscomp.ExtractionInstance,1,3,8,0,1,0,0,1,1,11.0,20,1.4285714285714286 +com.google.javascript.jscomp.PrototypeMemberDeclaration,2,4,7,0,4,1,0,2,2,14.5,28,3.111111111111111 +com.google.javascript.jscomp.Result,0,13,0,0,0,0,0,0,1,0,2,0.14285714285714285 +com.google.javascript.jscomp.CodeGenerator,32,8,515,0,409,50,1,4,16,15.0625,291,0.42419825072886297 +com.google.javascript.jscomp.ReplaceStrings,17,12,133,1,26,7,0,3,17,15.411764705882353,447,3.0408163265306123 +com.google.javascript.jscomp.Config,0,3,0,0,0,0,0,0,1,0,11,5.5 +com.google.javascript.jscomp.Result,1,3,5,0,1,0,0,0,1,11.0,5,1.6666666666666667 +com.google.javascript.jscomp.Location,0,3,0,0,0,0,0,0,1,0,8,2.6666666666666665 +com.google.javascript.jscomp.ShowByPathWarningsGuard,2,2,8,0,1,0,0,1,2,8.0,33,2.75 +com.google.javascript.jscomp.CollapseProperties,22,8,291,1,42,11,0,2,23,26.227272727272727,1339,4.433774834437086 +com.google.javascript.jscomp.FunctionArgumentInjector,11,1,129,0,32,8,0,3,14,21.727272727272727,552,3.3865030674846626 +com.google.javascript.jscomp.ReferencedAfterSideEffect,6,5,26,2,21,8,0,2,3,9.666666666666666,161,3.3541666666666665 +com.google.javascript.jscomp.TypeInference,49,9,557,0,69,15,0,3,21,18.897959183673468,658,1.1443478260869566 +com.google.javascript.jscomp.TemplateTypeReplacer,1,3,3,0,2,1,0,1,0,16.0,0,0.0 +com.google.javascript.jscomp.BooleanOutcomePair,2,5,2,0,8,2,0,2,3,18.5,65,3.823529411764706 +com.google.javascript.jscomp.RemoveUnusedPrototypeProperties,4,5,18,1,22,7,0,3,4,20.0,87,1.851063829787234 +com.google.javascript.jscomp.RecordFunctionInformation,4,4,41,1,10,3,0,2,5,9.5,105,3.5 +com.google.javascript.jscomp.LightweightMessageFormatter,4,2,52,0,27,8,0,1,3,10.75,56,0.8235294117647058 +com.google.javascript.jscomp.LineNumberingFormatter,2,0,27,1,31,6,0,4,1,11.0,27,0.84375 +com.google.javascript.jscomp.RemoveUnusedNames,2,3,14,1,9,3,0,0,3,14.5,37,2.8461538461538463 +com.google.javascript.jscomp.CodingConventions,1,0,65,0,1,0,0,1,4,10.0,81,0.9310344827586207 +com.google.javascript.jscomp.Proxy,33,1,66,1,1,0,0,1,1,21.151515151515152,56,1.6470588235294117 +com.google.javascript.jscomp.DefaultCodingConvention,34,1,64,1,20,7,0,5,1,20.764705882352942,13,0.25 +com.google.javascript.jscomp.GlobalVarReferenceMap,7,2,71,1,14,3,0,2,9,21.428571428571427,268,3.268292682926829 +com.google.javascript.jscomp.SourceRefRange,2,3,6,0,1,0,0,1,2,9.5,20,4.0 +com.google.javascript.jscomp.GlobalVarRefCleanupPass,2,1,5,1,3,1,0,0,1,10.0,30,7.5 +com.google.javascript.jscomp.InlineObjectLiterals,1,3,174,1,1,0,0,0,10,7.0,233,1.5533333333333332 +com.google.javascript.jscomp.InliningBehavior,9,1,173,1,44,14,0,8,9,18.666666666666668,197,1.3401360544217686 +com.google.javascript.jscomp.FunctionToBlockMutator,14,2,131,0,23,6,0,2,15,21.142857142857142,380,2.900763358778626 +com.google.javascript.jscomp.LabelNameSupplier,1,1,2,1,1,0,0,1,0,3.0,0,0.0 +com.google.javascript.jscomp.Normalize,5,5,257,1,13,3,0,1,20,21.0,673,2.539622641509434 +com.google.javascript.jscomp.FindExposeAnnotations,2,1,16,0,8,3,0,1,1,9.5,5,0.5555555555555556 +com.google.javascript.jscomp.RewriteExposedProperties,1,1,16,0,12,4,0,0,1,5.0,6,0.46153846153846156 +com.google.javascript.jscomp.PropagateConstantAnnotationsOverVars,2,2,18,1,14,5,0,1,1,6.0,7,0.4117647058823529 +com.google.javascript.jscomp.VerifyConstants,2,3,28,1,30,8,0,1,1,6.0,12,0.34285714285714286 +com.google.javascript.jscomp.NormalizeStatements,12,2,118,1,25,7,0,2,10,18.916666666666668,306,2.5081967213114753 +com.google.javascript.jscomp.DuplicateDeclarationHandler,2,1,48,1,23,7,0,1,3,19.5,161,3.926829268292683 +com.google.javascript.jscomp.ScopeTicklingCallback,4,0,5,1,1,0,0,1,1,9.5,9,4.5 +com.google.javascript.jscomp.JSError,16,8,38,0,25,9,0,9,21,8.0,372,6.526315789473684 +com.google.javascript.jscomp.AliasKeywords,9,11,100,1,8,3,0,3,30,17.77777777777778,673,7.236559139784946 +com.google.javascript.jscomp.FindAliasableNodes,3,0,11,0,6,2,0,0,3,12.0,36,3.6 +com.google.javascript.jscomp.AliasSpecification,8,4,14,0,6,2,0,2,9,16.75,190,11.176470588235293 +com.google.javascript.jscomp.ThrowAliasSpecification,3,0,12,0,2,0,0,1,1,20.0,7,1.4 +com.google.javascript.jscomp.KeywordAliasSpecification,3,0,13,0,3,0,0,1,1,20.0,9,1.5 +com.google.javascript.jscomp.VoidKeywordAliasSpecification,4,0,18,0,3,1,0,1,1,16.25,9,1.0 +com.google.javascript.jscomp.NodeUtil,156,13,882,0,61,17,0,42,141,16.80128205128205,3133,3.0745829244357212 +com.google.javascript.jscomp.NumbericResultPredicate,1,0,2,1,1,0,0,1,0,5.0,0,0.0 +com.google.javascript.jscomp.BooleanResultPredicate,1,0,2,1,1,0,0,1,0,5.0,0,0.0 +com.google.javascript.jscomp.MayBeStringResultPredicate,1,0,2,1,1,0,0,1,0,5.0,0,0.0 +com.google.javascript.jscomp.VarCollector,1,1,8,1,7,3,0,0,0,5.0,0,0.0 +com.google.javascript.jscomp.MatchNameNode,1,1,4,1,1,0,0,1,1,5.0,10,5.0 +com.google.javascript.jscomp.MatchNodeType,1,1,2,1,1,0,0,1,1,5.0,9,4.5 +com.google.javascript.jscomp.MatchDeclaration,1,0,3,1,1,0,0,1,1,5.0,8,8.0 +com.google.javascript.jscomp.MatchNotFunction,1,0,2,1,1,0,0,1,1,5.0,8,8.0 +com.google.javascript.jscomp.MatchShallowStatement,1,0,6,1,1,0,0,1,1,5.0,10,10.0 +com.google.javascript.jscomp.SourceMap,8,3,42,0,17,5,1,3,4,12.75,49,1.1951219512195121 +com.google.javascript.jscomp.LocationMapping,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.InlineProperties,5,4,119,1,12,4,0,3,5,15.4,125,1.1904761904761905 +com.google.javascript.jscomp.PropertyInfo,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.GatherCandidates,6,0,49,0,29,8,0,2,1,19.833333333333332,11,0.20754716981132076 +com.google.javascript.jscomp.ReplaceCandidates,2,0,21,0,9,3,0,2,0,9.5,0,0.0 +com.google.javascript.jscomp.CompilerOptions,209,167,267,2,15,4,1,1,221,21.406698564593302,2694,6.6683168316831685 +com.google.javascript.jscomp.NullAliasTransformationHandler,1,2,2,2,2,0,0,1,0,22.0,0,0.0 +com.google.javascript.jscomp.NullAliasTransformation,1,1,1,2,0,0,0,0,0,8.0,0,0 +com.google.javascript.jscomp.ReorderConstantExpression,1,0,17,0,11,3,0,1,1,15.0,31,2.8181818181818183 +com.google.javascript.jscomp.GoogleJsMessageIdGenerator,1,1,15,1,9,3,0,1,6,10.0,186,2.0 +com.google.javascript.jscomp.FP,3,0,4,0,73,1,0,1,3,9.333333333333334,33,0.4177215189873418 +com.google.javascript.jscomp.MessageId,1,0,3,0,4,2,0,1,1,10.0,49,12.25 +com.google.javascript.jscomp.GenerateExports,3,4,58,1,30,8,0,1,3,10.0,55,1.4102564102564104 +com.google.javascript.jscomp.GoogleCodingConvention,7,4,27,0,10,3,0,3,8,13.285714285714286,212,10.095238095238095 +com.google.javascript.jscomp.AliasExternals,16,15,205,1,29,10,0,3,36,15.6875,1005,5.87719298245614 +com.google.javascript.jscomp.GetAliasableNames,1,1,12,0,4,1,0,0,1,5.0,7,1.4 +com.google.javascript.jscomp.PropertyGatherer,3,0,29,0,10,3,0,1,3,15.666666666666666,139,11.583333333333334 +com.google.javascript.jscomp.GetGlobals,2,0,20,0,7,4,0,0,1,9.0,7,0.5 +com.google.javascript.jscomp.GlobalGatherer,1,0,20,0,16,5,0,1,1,5.0,17,1.0625 +com.google.javascript.jscomp.Symbol,2,9,7,0,4,2,0,0,1,13.5,7,0.7 +com.google.javascript.jscomp.CheckSuspiciousCode,5,2,30,0,8,1,0,0,1,12.2,32,1.6 +com.google.javascript.jscomp.PeepholeRemoveDeadCode,28,0,377,0,66,15,0,12,27,16.75,448,1.0666666666666667 +com.google.javascript.jscomp.InstrumentFunctions,1,10,98,1,18,4,0,1,7,7.0,376,3.547169811320755 +com.google.javascript.jscomp.RemoveCallback,1,1,8,0,8,3,0,0,1,5.0,44,4.888888888888889 +com.google.javascript.jscomp.InstrumentReturns,5,1,26,1,8,2,0,2,4,13.0,117,4.875 +com.google.javascript.jscomp.InstrumentCallback,1,0,33,0,31,8,0,2,0,5.0,0,0.0 +com.google.javascript.jscomp.MakeDeclaredNamesUnique,7,3,146,1,19,4,0,2,22,14.285714285714286,342,1.976878612716763 +com.google.javascript.jscomp.ContextualRenameInverter,12,4,55,2,11,3,0,2,6,13.416666666666666,78,1.4444444444444444 +com.google.javascript.jscomp.ContextualRenamer,7,4,15,1,12,4,0,1,5,15.428571428571429,89,4.045454545454546 +com.google.javascript.jscomp.InlineRenamer,5,4,18,1,7,2,0,2,1,15.8,31,1.7222222222222223 +com.google.javascript.jscomp.BoilerplateRenamer,1,2,1,0,1,0,0,1,1,13.0,14,4.666666666666667 +com.google.javascript.jscomp.WhitelistedRenamer,4,2,10,1,3,1,0,1,1,16.5,10,1.25 +com.google.javascript.jscomp.ReplaceIdGenerators,6,10,132,1,30,6,0,4,2,17.666666666666668,27,0.17088607594936708 +com.google.javascript.jscomp.ObfuscatedNameSuppier,2,3,6,1,4,1,0,1,0,12.0,0,0.0 +com.google.javascript.jscomp.PseudoNameSuppier,2,2,2,1,4,1,0,2,0,12.0,0,0.0 +com.google.javascript.jscomp.StableNameSupplier,2,0,4,1,1,0,0,1,0,12.0,0,0.0 +com.google.javascript.jscomp.GatherGenerators,1,0,32,0,31,12,0,3,0,5.0,0,0.0 +com.google.javascript.jscomp.ReplaceGenerators,1,0,31,0,33,9,0,5,0,5.0,0,0.0 +com.google.javascript.jscomp.CommandLineRunner,10,3,158,0,41,7,2,2,8,15.1,381,2.281437125748503 +com.google.javascript.jscomp.Flags,1,54,31,0,3,0,0,1,1,10.0,138,4.3125 +com.google.javascript.jscomp.BooleanOptionHandler,2,2,12,0,18,3,1,3,0,18.0,0,0.0 +com.google.javascript.jscomp.WarningGuardErrorOptionHandler,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.WarningGuardWarningOptionHandler,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.WarningGuardOffOptionHandler,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.WarningGuardSetter,3,2,7,1,2,0,1,1,0,9.333333333333334,0,0.0 +com.google.javascript.jscomp.ExternExportsPass,6,10,163,1,16,5,0,3,21,14.333333333333334,329,2.1933333333333334 +com.google.javascript.jscomp.Export,11,2,92,0,16,4,0,5,8,19.272727272727273,249,3.1125 +com.google.javascript.jscomp.SymbolExport,1,0,2,0,1,0,0,1,1,15.0,3,0.6 +com.google.javascript.jscomp.PropertyExport,1,1,12,0,9,3,0,2,1,15.0,3,0.2727272727272727 +com.google.javascript.jscomp.SyntacticScopeCreator,6,7,90,1,28,5,0,5,8,15.666666666666666,127,1.4269662921348314 +com.google.javascript.jscomp.DefaultRedeclarationHandler,1,0,17,1,11,5,0,1,1,15.0,6,0.5454545454545454 +com.google.javascript.jscomp.ExploitAssigns,6,0,63,0,39,7,0,8,6,16.833333333333332,206,2.575 +com.google.javascript.jscomp.ClosureCodingConvention,24,4,135,0,28,9,0,7,11,21.125,193,1.3310344827586207 +com.google.javascript.jscomp.AssertInstanceofSpec,1,0,9,0,8,3,0,2,2,15.0,40,4.444444444444445 +com.google.javascript.jscomp.DependencyOptions,9,5,7,1,3,0,0,1,6,18.22222222222222,350,25.0 +com.google.javascript.jscomp.TypeValidator,33,17,246,0,30,10,0,5,27,17.424242424242426,1079,5.042056074766355 +com.google.javascript.jscomp.TypeMismatch,3,3,8,0,4,1,0,2,2,7.333333333333333,55,6.111111111111111 +com.google.javascript.jscomp.SimpleDefinitionFinder,13,4,138,2,20,7,0,5,10,17.846153846153847,239,1.3976608187134503 +com.google.javascript.jscomp.DefinitionGatheringCallback,2,1,37,0,44,17,0,1,1,15.0,11,0.2391304347826087 +com.google.javascript.jscomp.UseSiteGatheringCallback,1,0,10,0,5,1,0,1,0,5.0,0,0.0 +com.google.javascript.jscomp.JsAst,6,6,30,1,12,1,0,1,1,9.833333333333334,8,0.3076923076923077 +com.google.javascript.jscomp.RenameProperties,5,14,149,1,41,9,0,1,17,14.6,543,2.8134715025906734 +com.google.javascript.jscomp.ProcessExterns,1,0,11,0,9,2,0,0,1,5.0,8,0.8888888888888888 +com.google.javascript.jscomp.ProcessProperties,6,1,73,1,42,11,0,1,4,14.0,81,0.9 +com.google.javascript.jscomp.Property,0,4,0,0,0,0,0,0,1,0,8,8.0 +com.google.javascript.jscomp.PropertyAffinity,1,1,0,0,1,0,0,0,0,8.0,0,0.0 +com.google.javascript.jscomp.ant.Warning,4,2,4,0,1,0,0,1,1,8.0,8,2.0 +com.google.javascript.jscomp.ant.AntErrorManager,2,2,12,0,6,2,0,0,1,9.5,14,1.1666666666666667 +com.google.javascript.jscomp.ant.CompileTask,35,20,141,0,24,5,0,1,29,15.114285714285714,388,1.9795918367346939 +com.google.javascript.jscomp.jsonml.SecureCompiler,7,7,27,0,14,3,0,2,6,12.857142857142858,168,3.574468085106383 +com.google.javascript.jscomp.jsonml.Report,3,3,3,0,1,0,0,1,0,10.666666666666666,0,0.0 +com.google.javascript.jscomp.jsonml.Writer,40,0,319,0,155,4,0,2,4,13.625,90,0.21844660194174756 +com.google.javascript.jscomp.jsonml.Validator,50,7,155,0,80,4,0,1,3,16.9,101,0.4410480349344978 +com.google.javascript.jscomp.jsonml.JsonMLAst,9,6,26,1,17,4,0,3,3,12.11111111111111,75,1.6304347826086956 +com.google.javascript.jscomp.jsonml.WalkHelper,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.jsonml.Reader,77,7,423,0,107,6,1,4,31,17.5974025974026,502,0.8916518650088809 +com.google.javascript.jscomp.jsonml.ErrorReporter,4,1,5,0,4,1,1,0,3,6.0,72,9.0 +com.google.javascript.jscomp.jsonml.JsonMLUtil,5,0,54,0,24,6,1,2,8,11.0,232,2.32 +com.google.javascript.jscomp.jsonml.JsonMLComparator,6,5,31,0,28,8,0,6,3,12.5,27,0.38571428571428573 +com.google.javascript.jscomp.jsonml.JsonML,22,3,79,0,34,7,1,1,22,11.272727272727273,349,4.308641975308642 +com.google.javascript.jscomp.jsonml.JsonMLException,0,1,0,0,0,0,0,0,1,0,15,15.0 +com.google.javascript.jscomp.jsonml.NodeUtil,4,0,13,0,4,0,0,2,5,16.75,94,13.428571428571429 +com.google.javascript.jscomp.jsonml.JsonMLError,2,5,6,0,1,1,0,1,6,4.0,35,2.9166666666666665 +com.google.javascript.jscomp.graph.LinkedDirectedGraph,35,3,149,1,11,4,0,3,9,15.771428571428572,125,0.9328358208955224 +com.google.javascript.jscomp.graph.LinkedDirectedGraphNode,10,3,22,2,1,1,0,1,2,10.0,24,1.7142857142857142 +com.google.javascript.jscomp.graph.NeighborIterator,3,2,11,1,1,2,0,1,0,5.666666666666667,0,0.0 +com.google.javascript.jscomp.graph.AnnotatedLinkedDirectedGraphNode,2,1,2,0,1,0,0,1,2,13.0,11,3.6666666666666665 +com.google.javascript.jscomp.graph.LinkedDirectedGraphEdge,14,3,17,2,1,1,0,1,2,10.0,19,1.1176470588235294 +com.google.javascript.jscomp.graph.AnnotatedLinkedDirectedGraphEdge,2,1,2,0,1,0,0,1,2,13.0,19,6.333333333333333 +com.google.javascript.jscomp.graph.DiGraph,15,0,19,0,1,0,0,1,9,18.2,188,94.0 +com.google.javascript.jscomp.graph.GraphReachability,3,3,20,1,7,2,0,2,3,9.333333333333334,76,4.0 +com.google.javascript.jscomp.graph.EdgeTuple,0,3,0,0,0,0,0,0,1,0,7,2.3333333333333335 +com.google.javascript.jscomp.graph.FixedPointGraphTraversal,4,2,31,0,12,4,0,1,7,15.75,203,10.15 +com.google.javascript.jscomp.graph.Graph,24,2,55,1,5,1,0,1,29,13.625,706,15.347826086956522 +com.google.javascript.jscomp.graph.AnnotationState,0,2,0,0,0,0,0,0,1,0,16,8.0 +com.google.javascript.jscomp.graph.GraphAnnotationState,0,1,0,0,0,0,0,0,1,0,15,15.0 +com.google.javascript.jscomp.graph.SimpleSubGraph,2,2,9,1,6,2,0,2,1,11.0,15,1.875 +com.google.javascript.jscomp.graph.GraphPruner,2,1,38,0,23,9,0,1,1,7.5,89,2.78125 +com.google.javascript.jscomp.graph.LinkedUndirectedGraph,27,3,114,1,14,5,0,4,5,14.407407407407407,70,0.5555555555555556 +com.google.javascript.jscomp.graph.LinkedUndirectedGraphNode,9,2,19,2,1,1,0,1,1,12.333333333333334,18,1.0588235294117647 +com.google.javascript.jscomp.graph.NeighborIterator,3,1,9,1,5,1,0,2,0,5.666666666666667,0,0.0 +com.google.javascript.jscomp.graph.AnnotatedLinkedUndirectedGraphNode,2,1,2,0,1,0,0,1,1,13.0,6,2.0 +com.google.javascript.jscomp.graph.LinkedUndirectedGraphEdge,10,3,13,2,1,1,0,1,1,9.4,11,0.8461538461538461 +com.google.javascript.jscomp.graph.AnnotatedLinkedUndirectedGraphEdge,2,1,2,0,1,0,0,1,1,13.0,5,1.6666666666666667 +com.google.javascript.jscomp.graph.UndiGraph,4,0,1,0,0,0,0,0,4,23.25,79,0 +com.google.javascript.jscomp.graph.StandardUnionFind,9,2,51,2,14,3,0,7,12,9.88888888888889,257,4.431034482758621 +com.google.javascript.jscomp.graph.Node,0,4,0,0,0,0,0,0,5,0,50,25.0 +com.google.javascript.jscomp.graph.GraphColoring,3,2,28,0,7,1,0,2,5,11.333333333333334,214,6.294117647058823 +com.google.javascript.jscomp.graph.Color,2,1,2,1,5,1,0,2,0,7.0,0,0.0 +com.google.javascript.jscomp.graph.GreedyGraphColoring,1,1,23,0,15,3,0,2,2,5.0,32,1.7777777777777777 +com.google.javascript.jscomp.regex.CharRanges,18,3,47,0,48,11,0,4,5,8.61111111111111,196,0.9158878504672897 +com.google.javascript.jscomp.regex.RegExpTree,16,12,445,0,241,49,0,31,24,12.8125,340,0.422360248447205 +com.google.javascript.jscomp.regex.Parser,9,3,74,0,55,9,0,10,10,12.666666666666666,131,0.5458333333333333 +com.google.javascript.jscomp.regex.RegExpTreeAtom,4,0,5,0,1,0,0,1,0,13.75,0,0.0 +com.google.javascript.jscomp.regex.Empty,5,1,3,0,1,0,0,1,0,10.6,0,0.0 +com.google.javascript.jscomp.regex.Anchor,6,1,6,0,1,0,0,1,0,11.166666666666666,0,0.0 +com.google.javascript.jscomp.regex.WordBoundary,5,1,6,0,1,0,0,1,0,10.6,0,0.0 +com.google.javascript.jscomp.regex.BackReference,5,1,7,0,1,0,0,1,0,10.6,0,0.0 +com.google.javascript.jscomp.regex.Text,7,1,24,0,9,3,0,3,1,12.714285714285714,17,0.5483870967741935 +com.google.javascript.jscomp.regex.Repetition,12,3,53,0,31,10,0,7,0,12.75,0,0.0 +com.google.javascript.jscomp.regex.Alternation,9,1,50,0,60,18,0,5,0,12.0,0,0.0 +com.google.javascript.jscomp.regex.LookaheadAssertion,9,2,18,0,6,2,0,2,0,12.0,0,0.0 +com.google.javascript.jscomp.regex.CapturingGroup,9,1,16,0,3,0,0,1,0,12.0,0,0.0 +com.google.javascript.jscomp.regex.Charset,10,2,84,0,25,6,0,4,1,13.2,27,0.38028169014084506 +com.google.javascript.jscomp.regex.DecomposedCharset,6,3,38,0,35,8,0,2,0,11.5,0,0.0 +com.google.javascript.jscomp.regex.Concatenation,9,1,39,0,43,12,0,7,0,12.0,0,0.0 +com.google.javascript.jscomp.regex.Simplifier,2,1,10,0,21,6,0,3,0,12.0,0,0.0 +com.google.javascript.jscomp.regex.CaseCanonicalize,4,4,213,0,11,5,0,3,8,16.25,502,13.210526315789474 +com.google.javascript.jscomp.regex.DeltaSet,0,2,0,0,0,0,0,0,1,0,20,10.0 +com.google.javascript.jscomp.testing.TestErrorReporter,5,4,9,1,5,1,0,1,3,14.4,53,3.533333333333333 +com.google.javascript.jscomp.testing.SimpleSourceExcerptProvider,2,1,5,1,1,0,0,1,1,14.0,13,4.333333333333333 +com.google.javascript.jscomp.webservice.common.Protocol,2,3,17,0,5,1,0,1,14,18.5,219,6.257142857142857 +com.google.javascript.jscomp.webservice.common.AbstractWebServiceException,3,0,7,0,1,0,0,1,1,12.333333333333334,15,15.0 +com.google.javascript.jscomp.type.ClosureReverseAbstractInterpreter,2,5,57,0,10,4,0,2,7,28.0,58,1.0175438596491229 +com.google.javascript.jscomp.type.TypeRestriction,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.type.SemanticReverseAbstractInterpreter,11,5,149,0,73,15,0,22,12,18.545454545454547,253,1.1552511415525115 +com.google.javascript.jscomp.type.RestrictByTrueInstanceOfResultVisitor,6,1,17,0,7,2,0,3,1,15.166666666666666,3,0.1875 +com.google.javascript.jscomp.type.RestrictByFalseInstanceOfResultVisitor,3,1,14,0,10,3,0,4,1,14.333333333333334,3,0.15789473684210525 +com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter,11,6,114,1,22,6,0,6,22,22.363636363636363,643,3.7823529411764705 +com.google.javascript.jscomp.type.RestrictByTypeOfResultVisitor,8,0,21,1,10,3,0,2,2,14.5,46,2.3 +com.google.javascript.jscomp.type.RestrictByTrueTypeOfResultVisitor,8,0,8,0,1,0,0,1,1,14.125,38,4.75 +com.google.javascript.jscomp.type.RestrictByFalseTypeOfResultVisitor,9,0,14,0,1,0,0,1,1,13.777777777777779,38,4.222222222222222 +com.google.javascript.jscomp.type.RestrictByOneTypeOfResultVisitor,10,2,29,0,8,4,0,3,4,14.2,71,2.9583333333333335 +com.google.javascript.jscomp.deps.JsFileParser,5,8,32,0,24,7,1,2,11,11.2,245,6.805555555555555 +com.google.javascript.jscomp.deps.DepsGenerator,19,12,121,0,19,7,1,3,13,18.94736842105263,337,2.982300884955752 +com.google.javascript.jscomp.deps.JsFileLineParser,6,9,49,0,46,12,1,1,15,12.833333333333334,286,3.7142857142857144 +com.google.javascript.jscomp.deps.ParseException,1,2,1,0,1,0,0,1,2,7.0,28,9.333333333333334 +com.google.javascript.jscomp.deps.JsFunctionParser,4,5,24,0,14,4,1,1,9,9.75,117,3.774193548387097 +com.google.javascript.jscomp.deps.SymbolInfo,0,2,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.deps.PathUtil,6,2,48,0,18,6,0,4,7,13.5,424,9.217391304347826 +com.google.javascript.jscomp.deps.SimpleDependencyInfo,6,4,13,1,4,1,0,2,6,11.833333333333334,109,8.384615384615385 +com.google.javascript.jscomp.deps.DepsFileParser,4,5,32,0,15,4,1,1,11,10.5,242,10.083333333333334 +com.google.javascript.jscomp.deps.SortedDependencies,11,4,97,0,24,7,1,3,7,17.727272727272727,220,2.3655913978494625 +com.google.javascript.jscomp.deps.CircularDependencyException,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.deps.MissingProvideException,0,0,0,0,0,0,0,0,0,0,0,0.0 +com.google.javascript.jscomp.parsing.JsDocInfoParser,58,15,776,0,463,96,0,18,54,18.29310344827586,1087,0.98193315266486 +com.google.javascript.jscomp.parsing.ErrorReporterParser,4,0,12,0,1,0,0,0,0,15.0,0,0.0 +com.google.javascript.jscomp.parsing.ExtractionInfo,0,2,0,0,0,0,0,0,1,0,21,10.5 +com.google.javascript.jscomp.parsing.ExtendedTypeInfo,0,3,0,0,0,0,0,0,1,0,5,1.6666666666666667 +com.google.javascript.jscomp.parsing.ParserRunner,7,4,41,0,20,1,1,1,2,12.142857142857142,40,0.9090909090909091 +com.google.javascript.jscomp.parsing.ParseResult,0,2,0,0,0,0,0,0,1,0,8,4.0 +com.google.javascript.jscomp.parsing.JsDocTokenStream,20,19,55,0,92,13,0,23,5,11.35,59,0.24583333333333332 +com.google.javascript.jscomp.parsing.TypeSafeDispatcher,44,0,57,0,67,9,0,42,1,19.204545454545453,51,0.7611940298507462 +com.google.javascript.jscomp.parsing.IRFactory,29,19,541,0,88,4,0,86,8,15.586206896551724,224,0.4202626641651032 +com.google.javascript.jscomp.parsing.TransformDispatcher,56,0,416,0,36,9,0,2,4,18.589285714285715,136,0.45484949832775917 +com.google.javascript.jscomp.parsing.Config,1,6,6,0,7,2,0,1,9,20.0,78,6.0 +com.google.javascript.jscomp.parsing.NullErrorReporter,4,0,4,0,1,0,0,1,1,8.5,11,2.2 +com.google.javascript.jscomp.parsing.NewRhinoNullReporter,3,0,3,1,1,0,0,1,0,8.0,0,0.0 +com.google.javascript.jscomp.parsing.OldRhinoNullReporter,0,0,0,1,0,0,0,0,0,0,0,0 diff --git a/bug-2022/requirements.txt b/bug-2022/requirements.txt new file mode 100644 index 0000000..bad8ae3 --- /dev/null +++ b/bug-2022/requirements.txt @@ -0,0 +1,2 @@ +javalang==0.13.0 +pandas==1.5.2