| 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 |
| getNumberValue(Node) |   | 67% |   | 60% | 10 | 22 | 10 | 30 | 0 | 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 |
| 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 |
| precedence(Token) |   | 60% |   | 69% | 7 | 23 | 7 | 24 | 0 | 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 |
| 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 |
| getStringNumberValue(String) |   | 89% |   | 86% | 4 | 16 | 2 | 23 | 0 | 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% |   | 81% | 7 | 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 |
| getAddingRoot(Node) |   | 96% |   | 66% | 5 | 9 | 0 | 12 | 0 | 1 |
| toInt32(double) |   | 95% |   | 70% | 3 | 6 | 0 | 10 | 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 |
| 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 |