| removeChild(Node, Node) |    | 36% |    | 39% | 17 | 24 | 28 | 49 | 0 | 1 | 
| isNamespaceDecl(Node) |   | 0% |   | 0% | 21 | 21 | 30 | 30 | 1 | 1 | 
| functionCallHasSideEffects(Node, AbstractCompiler) |    | 39% |    | 32% | 25 | 31 | 25 | 40 | 0 | 1 | 
| newQName(AbstractCompiler, String) |   | 0% |   | 0% | 7 | 7 | 21 | 21 | 1 | 1 | 
| getNodeByLineCol(Node, int, int) |   | 0% |   | 0% | 17 | 17 | 26 | 26 | 1 | 1 | 
| replaceDeclarationChild(Node, Node) |   | 0% |   | 0% | 6 | 6 | 21 | 21 | 1 | 1 | 
| isDefinedValue(Node) |   | 0% |   | 0% | 15 | 15 | 14 | 14 | 1 | 1 | 
| isPropertyTest(AbstractCompiler, Node) |   | 0% |   | 0% | 15 | 15 | 14 | 14 | 1 | 1 | 
| checkForStateChangeHelper(Node, boolean, AbstractCompiler) |    | 68% |    | 65% | 17 | 44 | 16 | 57 | 0 | 1 | 
| getBestLValueName(Node) |   | 0% |   | 0% | 9 | 9 | 16 | 16 | 1 | 1 | 
| isLiteralValue(Node, boolean) |    | 52% |    | 44% | 17 | 27 | 17 | 32 | 0 | 1 | 
| getBestLValue(Node) |   | 0% |   | 0% | 12 | 12 | 18 | 18 | 1 | 1 | 
| isValidDefineValue(Node, Set) |   | 0% |   | 0% | 12 | 12 | 11 | 11 | 1 | 1 | 
| isAliasedConstDefinition(Node) |   | 0% |   | 0% | 13 | 13 | 12 | 12 | 1 | 1 | 
| isExecutedExactlyOnce(Node) |   | 0% |   | 0% | 14 | 14 | 16 | 16 | 1 | 1 | 
| isControlStructureCodeBlock(Node, Node) |   | 0% |   | 0% | 11 | 11 | 8 | 8 | 1 | 1 | 
| getStringValue(Node) |    | 55% |    | 63% | 7 | 21 | 11 | 29 | 0 | 1 | 
| isBundledGoogModuleScopeRoot(Node) |    | 20% |    | 20% | 10 | 13 | 12 | 14 | 0 | 1 | 
| allResultsMatch(Node, Predicate) |   | 0% |   | 0% | 9 | 9 | 8 | 8 | 1 | 1 | 
| getDeclaredTypeExpression(Node) |   | 0% |   | 0% | 8 | 8 | 12 | 12 | 1 | 1 | 
| evaluatesToLocalValue(Node, Predicate) |    | 70% |    | 67% | 14 | 33 | 5 | 25 | 0 | 1 | 
| newQNameDeclaration(AbstractCompiler, String, Node, JSDocInfo) |   | 0% |   | 0% | 4 | 4 | 10 | 10 | 1 | 1 | 
| isEnumDecl(Node) |   | 0% |   | 0% | 11 | 11 | 7 | 7 | 1 | 1 | 
| removeNestedChangeScopeNodes(List) |   | 0% |   | 0% | 5 | 5 | 10 | 10 | 1 | 1 | 
| getLhsNodesHelper(Node, List) |    | 41% |    | 41% | 6 | 10 | 12 | 20 | 0 | 1 | 
| getFirstPropMatchingKey(Node, String) |   | 0% |   | 0% | 7 | 7 | 7 | 7 | 1 | 1 | 
| isValidQualifiedName(FeatureSet, String) |   | 0% |   | 0% | 5 | 5 | 8 | 8 | 1 | 1 | 
| getApproxRequiredArity(Node) |   | 0% |   | 0% | 5 | 5 | 9 | 9 | 1 | 1 | 
| isConstantDeclaration(CodingConvention, JSDocInfo, Node) |   | 0% |   | 0% | 8 | 8 | 9 | 9 | 1 | 1 | 
| newCallNode(Node, Node[]) |   | 0% |   | 0% | 3 | 3 | 6 | 6 | 1 | 1 | 
| getFirstGetterMatchingKey(Node, String) |   | 0% |   | 0% | 6 | 6 | 6 | 6 | 1 | 1 | 
| getFirstSetterMatchingKey(Node, String) |   | 0% |   | 0% | 6 | 6 | 6 | 6 | 1 | 1 | 
| toUInt32(double) |   | 0% |   | 0% | 4 | 4 | 7 | 7 | 1 | 1 | 
| useSourceInfoForNewQName(Node, Node) |   | 0% |   | 0% | 4 | 4 | 8 | 8 | 1 | 1 | 
| getObjectDefinedPropertiesKeys(Node) |   | 0% |   | 0% | 3 | 3 | 9 | 9 | 1 | 1 | 
| isTypedefDecl(Node) |   | 0% |   | 0% | 8 | 8 | 6 | 6 | 1 | 1 | 
| referencesArgumentsHelper(Node) |   | 0% |   | 0% | 6 | 6 | 8 | 8 | 1 | 1 | 
| getPrototypeClassName(Node) |   | 0% |   | 0% | 5 | 5 | 8 | 8 | 1 | 1 | 
| isStringLiteralValue(Node) |   | 0% |   | 0% | 5 | 5 | 8 | 8 | 1 | 1 | 
| deleteFunctionCall(Node, AbstractCompiler) |   | 0% |   | 0% | 2 | 2 | 11 | 11 | 1 | 1 | 
| isNestedObjectPattern(Node) |   | 0% |   | 0% | 6 | 6 | 7 | 7 | 1 | 1 | 
| getNearestFunctionName(Node) |   | 0% |   | 0% | 5 | 5 | 10 | 10 | 1 | 1 | 
| getObjectLitKeyNode(Node) |   | 0% |   | 0% | 4 | 4 | 4 | 4 | 1 | 1 | 
| isLhsByDestructuringHelper(Node) |    | 50% |    | 40% | 9 | 11 | 6 | 15 | 0 | 1 | 
| removeName(Node) |   | 0% |   | 0% | 4 | 4 | 5 | 5 | 1 | 1 | 
| getFirstComputedPropMatchingKey(Node, Node) |   | 0% |   | 0% | 4 | 4 | 6 | 6 | 1 | 1 | 
| functionHasInlineJsdocs(Node) |   | 0% |   | 0% | 5 | 5 | 10 | 10 | 1 | 1 | 
| getNumberValue(Node) |    | 75% |    | 69% | 8 | 22 | 9 | 30 | 0 | 1 | 
| isTypedAsString(Node, AbstractCompiler) |   | 0% |   | 0% | 5 | 5 | 10 | 10 | 1 | 1 | 
| isFunctionBind(Node) |   | 0% |   | 0% | 6 | 6 | 6 | 6 | 1 | 1 | 
| isPrototypeAssignment(Node) |   | 0% |   | 0% | 5 | 5 | 5 | 5 | 1 | 1 | 
| getParentChangeScopeNodes(List) |   | 0% |   | 0% | 2 | 2 | 5 | 5 | 1 | 1 | 
| isKnownGlobalObjectReference(Node) |   | 0% |   | 0% | 5 | 5 | 5 | 5 | 1 | 1 | 
| mayBeString(Node, boolean) |    | 20% |    | 7% | 7 | 8 | 7 | 9 | 0 | 1 | 
| isUnannotatedCallback(Node) |   | 0% |   | 0% | 6 | 6 | 3 | 3 | 1 | 1 | 
| isPropertyAbsenceTest(Node) |   | 0% |   | 0% | 3 | 3 | 6 | 6 | 1 | 1 | 
| isBleedingFunctionName(Node) |   | 0% |   | 0% | 5 | 5 | 4 | 4 | 1 | 1 | 
| precedence(Token) |    | 63% |    | 73% | 6 | 23 | 6 | 24 | 0 | 1 | 
| getBestLValueOwner(Node) |   | 0% |   | 0% | 5 | 5 | 7 | 7 | 1 | 1 | 
| countAstSizeUpToLimit(Node, int) |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| getInvocationArgsAsIterable(Node) |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| isEmptyBlock(Node) |   | 0% |   | 0% | 4 | 4 | 6 | 6 | 1 | 1 | 
| isImmutableValue(Node) |    | 62% |    | 52% | 5 | 11 | 5 | 11 | 0 | 1 | 
| getObjectLitKeyName(Node) |   | 0% |   | 0% | 2 | 2 | 4 | 4 | 1 | 1 | 
| isDestructuringDeclaration(Node) |   | 0% |   | 0% | 4 | 4 | 5 | 5 | 1 | 1 | 
| isNestedArrayPattern(Node) |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| isInvocationTarget(Node) |   | 0% |   | 0% | 5 | 5 | 3 | 3 | 1 | 1 | 
| getInvocationArgsCount(Node) |   | 0% |   | 0% | 2 | 2 | 4 | 4 | 1 | 1 | 
| referencesSuper(Node) |   | 0% |   | 0% | 3 | 3 | 6 | 6 | 1 | 1 | 
| getLengthOfQname(Node) |   | 0% |   | 0% | 3 | 3 | 6 | 6 | 1 | 1 | 
| newName(AbstractCompiler, String) |   | 0% |   | 0% | 2 | 2 | 5 | 5 | 1 | 1 | 
| getPrototypePropertyName(Node) |   | 0% |  | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 
| getConditionExpression(Node) |    | 50% |    | 57% | 3 | 6 | 2 | 6 | 0 | 1 | 
| newQName(AbstractCompiler, String, Node, String) |   | 0% |   | 0% | 2 | 2 | 5 | 5 | 1 | 1 | 
| isPrototypeMethod(Node) |   | 0% |   | 0% | 3 | 3 | 6 | 6 | 1 | 1 | 
| getOpFromAssignmentOp(Node) |    | 61% |    | 76% | 3 | 13 | 3 | 14 | 0 | 1 | 
| newVarNode(Node, Node) |    | 57% |    | 62% | 3 | 5 | 2 | 7 | 0 | 1 | 
| isBlockScopedFunctionDeclaration(Node) |    | 55% |    | 44% | 5 | 6 | 5 | 10 | 0 | 1 | 
| allArgsUnescapedLocal(Node) |   | 0% |   | 0% | 3 | 3 | 4 | 4 | 1 | 1 | 
| isLhsOfAssign(Node) |   | 0% |   | 0% | 4 | 4 | 2 | 2 | 1 | 1 | 
| newPropertyAccess(AbstractCompiler, Node, String) |   | 0% |   | 0% | 2 | 2 | 4 | 4 | 1 | 1 | 
| isCallOrNewArgument(Node) |   | 0% |   | 0% | 4 | 4 | 2 | 2 | 1 | 1 | 
| getPureBooleanValue(Node) |    | 81% |    | 75% | 5 | 19 | 3 | 19 | 0 | 1 | 
| getSourceName(Node) |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| getSourceFile(Node) |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| getAssignOpFromOp(Node) |    | 66% |    | 84% | 2 | 13 | 2 | 14 | 0 | 1 | 
| mayBeObject(NodeUtil.ValueType) |   | 0% |   | 0% | 3 | 3 | 4 | 4 | 1 | 1 | 
| isObjLitProperty(Node) |    | 31% |    | 10% | 5 | 6 | 3 | 5 | 0 | 1 | 
| getNthSibling(Node, int) |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| isMethodDeclaration(Node) |    | 53% |    | 28% | 4 | 5 | 3 | 7 | 0 | 1 | 
| getInverseOperator(Token) |    | 52% |    | 80% | 1 | 5 | 1 | 6 | 0 | 1 | 
| opToStrNoFail(Token) |    | 36% |    | 50% | 1 | 2 | 1 | 4 | 0 | 1 | 
| isInSyntheticScript(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| isNamedFunctionExpression(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| doesFunctionReferenceOwnArgumentsObject(Node) |   | 0% |   | 0% | 2 | 2 | 4 | 4 | 1 | 1 | 
| isGoogModuleDeclareLegacyNamespaceCall(Node) |   | 0% |   | 0% | 2 | 2 | 4 | 4 | 1 | 1 | 
| isLegacyGoogModuleFile(Node) |   | 0% |   | 0% | 3 | 3 | 2 | 2 | 1 | 1 | 
| isDeclarationLValue(Node) |    | 62% |    | 50% | 3 | 5 | 3 | 9 | 0 | 1 | 
| isBlockScopedDeclaration(Node) |    | 59% |    | 37% | 4 | 6 | 2 | 6 | 0 | 1 | 
| isNamedClass(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| isEmptyFunctionExpression(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| isGoogBind(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| isGoogPartial(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| newDeclaration(Node, Node, Token) |   | 0% |   | 0% | 2 | 2 | 3 | 3 | 1 | 1 | 
| createConstantJsDoc() |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| isLValue(Node) |    | 81% |    | 76% | 3 | 11 | 2 | 12 | 0 | 1 | 
| findLhsNodesInNode(Node) |    | 71% |    | 42% | 5 | 8 | 2 | 11 | 0 | 1 | 
| isConstructor(Node) |    | 66% |    | 35% | 7 | 8 | 1 | 7 | 0 | 1 | 
| isNonlocalModuleExportName(Node) |    | 61% |    | 33% | 6 | 7 | 0 | 5 | 0 | 1 | 
| isCallOrNew(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| newName(AbstractCompiler, String, Node, String) |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| isTopLevel(Node) |   | 0% |   | 0% | 3 | 3 | 1 | 1 | 1 | 1 | 
| numberNode(double, Node) |    | 74% |    | 75% | 2 | 5 | 2 | 10 | 0 | 1 | 
| isClassDeclaration(Node) |    | 35% |    | 16% | 3 | 4 | 0 | 1 | 0 | 1 | 
| isClassExpression(Node) |    | 35% |    | 16% | 3 | 4 | 0 | 1 | 0 | 1 | 
| isBinaryOperatorType(Token) |   | 0% |   | 0% | 2 | 2 | 3 | 3 | 1 | 1 | 
| isUpdateOperatorType(Token) |   | 0% |   | 0% | 2 | 2 | 3 | 3 | 1 | 1 | 
| deleteChildren(Node, AbstractCompiler) |   | 0% |   | 0% | 2 | 2 | 3 | 3 | 1 | 1 | 
| getArgumentForFunction(Node, int) |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| getKnownValueType(Node) |    | 92% |    | 91% | 3 | 24 | 3 | 39 | 0 | 1 | 
| constructorCallHasSideEffects(Node) |    | 76% |    | 50% | 4 | 6 | 2 | 7 | 0 | 1 | 
| isImpureTrue(Node) |   | 0% |   | 0% | 2 | 2 | 1 | 1 | 1 | 1 | 
| isBooleanResult(Node) |   | 0% |   | 0% | 2 | 2 | 1 | 1 | 1 | 1 | 
| isObjectResult(Node) |   | 0% |   | 0% | 2 | 2 | 1 | 1 | 1 | 1 | 
| getArgumentForCallOrNew(Node, int) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| isEs6Constructor(Node) |    | 63% |    | 37% | 4 | 5 | 0 | 4 | 0 | 1 | 
| isInFunction(Node) |   | 0% |   | 0% | 2 | 2 | 1 | 1 | 1 | 1 | 
| mayBeUndefined(Node) |   | 0% |   | 0% | 2 | 2 | 1 | 1 | 1 | 1 | 
| opToStr(Token) |    | 93% |    | 92% | 3 | 42 | 3 | 43 | 0 | 1 | 
| getBestJSDocInfoNode(Node) |    | 93% |    | 84% | 6 | 20 | 2 | 23 | 0 | 1 | 
| isObjectDefinePropertiesDefinition(Node) |    | 81% |    | 70% | 2 | 6 | 0 | 8 | 0 | 1 | 
| getAssignedValue(Node) |    | 81% |    | 50% | 4 | 6 | 1 | 7 | 0 | 1 | 
| callHasLocalResult(Node) |    | 70% |    | 33% | 3 | 4 | 0 | 2 | 0 | 1 | 
| isGoogModuleFile(Node) |    | 66% |    | 50% | 3 | 5 | 0 | 2 | 0 | 1 | 
| isImportedName(Node) |    | 64% |    | 33% | 3 | 4 | 0 | 2 | 0 | 1 | 
| getClassMembers(Node) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| newName(AbstractCompiler, String, Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| emptyFunction() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| isExportFrom(Node) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| isExpressionResultUsed(Node) |    | 93% |    | 88% | 3 | 16 | 2 | 15 | 0 | 1 | 
| isValidPropertyName(FeatureSet, String) |    | 68% |    | 50% | 2 | 4 | 0 | 3 | 0 | 1 | 
| isFromTypeSummary(Node) |    | 66% |    | 25% | 2 | 3 | 0 | 3 | 0 | 1 | 
| mayBeString(NodeUtil.ValueType) |    | 64% |    | 66% | 1 | 3 | 1 | 4 | 0 | 1 | 
| getLoopCodeBlock(Node) |    | 64% |    | 33% | 2 | 3 | 2 | 4 | 0 | 1 | 
| isValidQualifiedName(CompilerOptions.LanguageMode, String) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| isNameReferenced(Node, String) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| visitPreOrder(Node, NodeUtil.Visitor) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| getColumnNoBase1(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getNameNode(Node) |    | 91% |    | 69% | 3 | 8 | 0 | 8 | 0 | 1 | 
| isGetterOrSetter(Node) |    | 86% |    | 70% | 3 | 6 | 1 | 6 | 0 | 1 | 
| copyNameAnnotations(Node, Node) |    | 55% |    | 50% | 1 | 2 | 1 | 3 | 0 | 1 | 
| isBinaryOperator(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| isUpdateOperator(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| isImmutableResult(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| mayBeString(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| mayBeObject(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getEnclosingClassMemberFunction(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getEnclosingClass(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getEnclosingScript(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getEnclosingBlock(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getEnclosingBlockScopeRoot(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getEnclosingScopeRoot(Node) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| getRValueOfLValue(Node) |    | 88% |    | 83% | 1 | 6 | 1 | 8 | 0 | 1 | 
| getStringNumberValue(String) |    | 97% |    | 90% | 3 | 16 | 1 | 23 | 0 | 1 | 
| getAddingRoot(Node) |    | 96% |    | 66% | 5 | 9 | 0 | 12 | 0 | 1 | 
| isConstantByConvention(CodingConvention, Node) |    | 93% |    | 87% | 1 | 5 | 1 | 8 | 0 | 1 | 
| canMergeBlock(Node) |    | 92% |    | 85% | 1 | 5 | 1 | 7 | 0 | 1 | 
| isToStringMethodCall(Node) |    | 91% |    | 83% | 1 | 4 | 0 | 5 | 0 | 1 | 
| isPrototypeProperty(Node) |    | 90% |    | 83% | 1 | 4 | 0 | 4 | 0 | 1 | 
| isLhsByDestructuring(Node) |    | 88% |    | 75% | 2 | 5 | 1 | 3 | 0 | 1 | 
| isObjectDefinePropertyDefinition(Node) |    | 87% |    | 83% | 1 | 4 | 0 | 3 | 0 | 1 | 
| isTryCatchNodeContainer(Node) |    | 85% |    | 75% | 1 | 3 | 0 | 3 | 0 | 1 | 
| isAnyFor(Node) |    | 84% |    | 50% | 3 | 4 | 0 | 1 | 0 | 1 | 
| isCallTo(Node, String) |    | 83% |    | 75% | 1 | 3 | 0 | 1 | 0 | 1 | 
| isDeclarationParent(Node) |    | 81% |    | 50% | 1 | 2 | 1 | 3 | 0 | 1 | 
| isPrototypePropertyDeclaration(Node) |    | 81% |    | 75% | 1 | 3 | 0 | 1 | 0 | 1 | 
| isEnhancedFor(Node) |    | 80% |    | 50% | 2 | 3 | 0 | 1 | 0 | 1 | 
| isGetOrSetKey(Node) |    | 80% |    | 50% | 1 | 2 | 1 | 3 | 0 | 1 | 
| getBestJSDocInfo(Node) |    | 80% |    | 50% | 1 | 2 | 0 | 2 | 0 | 1 | 
| isModuleScopeRoot(Node) |    | 80% |    | 50% | 2 | 3 | 0 | 1 | 0 | 1 | 
| canBeSideEffected(Node, Set, Scope) |   | 98% |    | 93% | 1 | 10 | 0 | 10 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 21 | 0 | 1 | 
| getImpureBooleanValue(Node) |   | 100% |   | 100% | 0 | 9 | 0 | 19 | 0 | 1 | 
| toInt32(double) |   | 100% |    | 80% | 2 | 6 | 0 | 10 | 0 | 1 | 
| tryMergeBlock(Node, boolean) |   | 100% |    | 80% | 2 | 6 | 0 | 13 | 0 | 1 | 
| redeclareVarsInsideBranch(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 13 | 0 | 1 | 
| collectExternVariableNames(AbstractCompiler, Node) |   | 100% |    | 75% | 1 | 3 | 0 | 8 | 0 | 1 | 
| arrayToString(Node) |   | 100% |   | 100% | 0 | 4 | 0 | 10 | 0 | 1 | 
| isNaN(Node) |   | 100% |    | 92% | 1 | 8 | 0 | 6 | 0 | 1 | 
| trimJsWhiteSpace(String) |   | 100% |   | 100% | 0 | 5 | 0 | 9 | 0 | 1 | 
| has(Node, Predicate, Predicate) |   | 100% |   | 100% | 0 | 5 | 0 | 8 | 0 | 1 | 
| isConstantVar(Node, Scope) |   | 100% |    | 83% | 2 | 7 | 0 | 6 | 0 | 1 | 
| getCount(Node, Predicate, Predicate) |   | 100% |   | 100% | 0 | 4 | 0 | 7 | 0 | 1 | 
| getAllVarsDeclaredInFunction(Map, List, AbstractCompiler, ScopeCreator, Scope) |   | 100% |  | n/a | 0 | 1 | 0 | 7 | 0 | 1 | 
| isObjectCallMethod(Node, String) |   | 100% |    | 87% | 1 | 5 | 0 | 8 | 0 | 1 | 
| nodeTypeMayHaveSideEffects(Node, AbstractCompiler) |   | 100% |   | 100% | 0 | 6 | 0 | 8 | 0 | 1 | 
| createsBlockScope(Node) |   | 100% |    | 88% | 1 | 6 | 0 | 5 | 0 | 1 | 
| isHoistedFunctionDeclaration(Node) |   | 100% |    | 80% | 2 | 6 | 0 | 7 | 0 | 1 | 
| isWithinLoop(Node) |   | 100% |   | 100% | 0 | 4 | 0 | 7 | 0 | 1 | 
| getRootOfQualifiedName(Node) |   | 100% |    | 83% | 1 | 4 | 0 | 4 | 0 | 1 | 
| isLatin(String) |   | 100% |   | 100% | 0 | 3 | 0 | 6 | 0 | 1 | 
| visitPreOrder(Node, NodeUtil.Visitor, Predicate) |   | 100% |   | 100% | 0 | 3 | 0 | 5 | 0 | 1 | 
| visitPostOrder(Node, NodeUtil.Visitor, Predicate) |   | 100% |    | 75% | 1 | 3 | 0 | 5 | 0 | 1 | 
| createsScope(Node) |   | 100% |    | 90% | 1 | 6 | 0 | 2 | 0 | 1 | 
| getInputId(Node) |   | 100% |    | 87% | 1 | 5 | 0 | 3 | 0 | 1 | 
| markNewScopesChanged(Node, AbstractCompiler) |   | 100% |   | 100% | 0 | 3 | 0 | 5 | 0 | 1 | 
| markFunctionsDeleted(Node, AbstractCompiler) |   | 100% |   | 100% | 0 | 3 | 0 | 5 | 0 | 1 | 
| countAstSize(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| isStatementBlock(Node) |   | 100% |    | 87% | 1 | 5 | 0 | 1 | 0 | 1 | 
| isUndefined(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 4 | 0 | 1 | 
| isNameDeclaration(Node) |   | 100% |    | 62% | 3 | 5 | 0 | 1 | 0 | 1 | 
| isTryFinallyNode(Node, Node) |   | 100% |   | 100% | 0 | 4 | 0 | 2 | 0 | 1 | 
| getEnclosingNode(Node, Predicate) |   | 100% |   | 100% | 0 | 3 | 0 | 4 | 0 | 1 | 
| isFunctionDeclaration(Node) |   | 100% |   | 100% | 0 | 4 | 0 | 1 | 0 | 1 | 
| isFunctionBlock(Node) |   | 100% |    | 83% | 1 | 4 | 0 | 1 | 0 | 1 | 
| isNameDeclOrSimpleAssignLhs(Node, Node) |   | 100% |   | 100% | 0 | 4 | 0 | 2 | 0 | 1 | 
| hasCatchHandler(Node) |   | 100% |    | 75% | 1 | 3 | 0 | 2 | 0 | 1 | 
| referencesThis(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 2 | 0 | 1 | 
| deleteNode(Node, AbstractCompiler) |   | 100% |  | n/a | 0 | 1 | 0 | 5 | 0 | 1 | 
| isDeclaration(Node) |   | 100% |    | 83% | 1 | 4 | 0 | 1 | 0 | 1 | 
| isFunctionExpression(Node) |   | 100% |    | 83% | 1 | 4 | 0 | 3 | 0 | 1 | 
| isValidSimpleName(String) |   | 100% |   | 100% | 0 | 4 | 0 | 3 | 0 | 1 | 
| getVarsDeclaredInBranch(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| newVarNode(String, Node) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| maybeAddFinally(Node) |   | 100% |    | 50% | 1 | 2 | 0 | 4 | 0 | 1 | 
| newUndefinedNode(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| isGoogModuleCall(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 4 | 0 | 1 | 
| getArrayElementStringValue(Node) |   | 100% |    | 75% | 1 | 3 | 0 | 2 | 0 | 1 | 
| isExprAssign(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 2 | 0 | 1 | 
| isExprCall(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 2 | 0 | 1 | 
| isStatement(Node) |   | 100% |    | 75% | 1 | 3 | 0 | 1 | 0 | 1 | 
| isReferenceName(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 1 | 0 | 1 | 
| isNamedFunction(Node) |   | 100% |    | 75% | 1 | 3 | 0 | 1 | 0 | 1 | 
| getEnclosingChangeScopeRoot(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 3 | 0 | 1 | 
| getName(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 2 | 0 | 1 | 
| isSymmetricOperation(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isRelationalOperation(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isNullOrUndefined(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 1 | 0 | 1 | 
| isAssignmentOp(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isCompoundAssignmentOp(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 1 | 0 | 1 | 
| hasCorrespondingAssignmentOp(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isGet(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 1 | 0 | 1 | 
| isVanillaFunction(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 1 | 0 | 1 | 
| isLoopStructure(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isControlStructure(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isSwitchCase(Node) |   | 100% |    | 75% | 1 | 3 | 0 | 1 | 0 | 1 | 
| isObjectLitKey(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isChangeScopeRoot(Node) |   | 100% |   | 100% | 0 | 3 | 0 | 1 | 0 | 1 | 
| isUnaryOperatorType(Token) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isSimpleOperatorType(Token) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isAssociative(Token) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isCommutative(Token) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| isNumericResult(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| isStringResult(Node) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| containsType(Node, Token, Predicate) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getNodeTypeReferenceCount(Node, Token, Predicate) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isNameReferenced(Node, String, Predicate) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getNameReferenceCount(Node, String) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| newHasLocalResult(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| canBeSideEffected(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| and(NodeUtil.ValueType, NodeUtil.ValueType) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| getEnclosingType(Node, Token) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getFunctionBody(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| hasFinally(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| getCatchBlock(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| getFunctionParameters(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| booleanNode(boolean) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| newExpr(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| mayEffectMutableState(Node, AbstractCompiler) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| mayHaveSideEffects(Node, AbstractCompiler) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isValidCfgRoot(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isStatementParent(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| containsType(Node, Token) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isUnaryOperator(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isSimpleOperator(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| mayEffectMutableState(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| mayHaveSideEffects(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| functionCallHasSideEffects(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| nodeTypeMayHaveSideEffects(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| containsFunction(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getEnclosingFunction(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getEnclosingStatement(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isFunctionObjectCall(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isFunctionObjectApply(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isConstantName(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| evaluatesToLocalValue(Node) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |