| validateStatement(Node, boolean) |   | 37% |   | 40% | 19 | 32 | 36 | 64 | 0 | 1 |
| validateExport(Node, boolean) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| validateClassMember(Node, boolean) |  | 0% |  | 0% | 8 | 8 | 20 | 20 | 1 | 1 |
| validateImport(Node) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| validateObjectPattern(Token, Node) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| validateDestructuringLhs(Token, Node) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| validateInterfaceMember(Node) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| validateClassHelper(Node, boolean) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| validateArrayPattern(Token, Node) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| validateExpression(Node) |   | 63% |   | 66% | 8 | 24 | 16 | 49 | 0 | 1 |
| validateObjectLitKey(Node) |   | 19% |   | 11% | 7 | 8 | 14 | 17 | 0 | 1 |
| validateSpread(Node) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| validateAmbientDeclarationHelper(Node) |  | 0% |  | 0% | 8 | 8 | 16 | 16 | 1 | 1 |
| validateObjectLitGetKey(Node) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| validateObjectLitSetKey(Node) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| validateInterface(Node) |  | 0% |  | 0% | 2 | 2 | 11 | 11 | 1 | 1 |
| validateMaximumChildCount(Node, int) |   | 32% |   | 30% | 5 | 6 | 4 | 9 | 0 | 1 |
| validateMinimumChildCount(Node, int) |   | 27% |   | 25% | 4 | 5 | 4 | 9 | 0 | 1 |
| validateObjectPatternStringKey(Token, Node) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| validateLHS(Token, Node) |   | 35% |   | 33% | 4 | 6 | 7 | 13 | 0 | 1 |
| validateObjectPatternComputedPropKey(Token, Node) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| validateTemplateLit(Node) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| validateGetPropGetElemInLHS(Token, Node) |   | 50% |   | 54% | 5 | 7 | 4 | 11 | 0 | 1 |
| validateComputedPropClassMethod(Node) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| validateRest(Token, Node) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| validateNamespaceElements(Node, boolean) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| validateParameters(Node) |   | 55% |   | 50% | 4 | 6 | 5 | 12 | 0 | 1 |
| validateIncDecTarget(Node) |   | 33% |   | 33% | 2 | 3 | 4 | 8 | 0 | 1 |
| validateRegExpLit(Node) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| validateNameDeclarationChild(Token, Node) |   | 47% |   | 50% | 2 | 4 | 3 | 9 | 0 | 1 |
| validateYield(Node) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| validateImportSpecifier(Node) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| validateExportSpecifier(Node) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| validateNamespace(Node, boolean) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| validateTaggedTemplateLit(Node) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| validateForIn(Node) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| validateForOf(Node) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| validateVarOrAssignmentTarget(Node) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| validateChildCountIn(Node, int, int) |   | 34% |   | 50% | 2 | 3 | 1 | 4 | 0 | 1 |
| validateObjectLiteralKeyName(Node) |   | 28% |   | 50% | 1 | 2 | 4 | 7 | 0 | 1 |
| validateClassMembers(Node, boolean) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateSwitchMember(Node) |   | 37% |   | 33% | 2 | 3 | 4 | 7 | 0 | 1 |
| validateRoot(Node) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| validateImportSpecifiers(Node) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateExportSpecifiers(Node) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateInterfaceExtends(Node) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateInterfaceMembers(Node) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateEnumMembers(Node) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| validateDefaultValue(Token, Node) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| validateNodeType(Token, Node) |   | 23% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| validateWith(Node) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| validateWhile(Node) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| validateDo(Node) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| validateObjectLitComputedPropKey(Node) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| validateChildCount(Node, int) |   | 31% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| validateNamespaceName(Node) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| validateCompoundAssignmentExpression(Node) |   | 69% |   | 66% | 1 | 3 | 1 | 11 | 0 | 1 |
| validateNonNullString(Node) |   | 31% |   | 50% | 1 | 2 | 5 | 8 | 0 | 1 |
| validateWithinAsyncFunction(Node) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| validateEnum(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateAmbientDeclaration(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateSwitch(Node) |   | 73% |   | 66% | 2 | 4 | 2 | 11 | 0 | 1 |
| validateCatch(Node) |   | 64% |   | 25% | 2 | 3 | 3 | 10 | 0 | 1 |
| validateAwait(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateTemplateLitSub(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateEnumStringKey(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateDefaultCase(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateNamedType(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateTypeAlias(Node) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| validateFeature(FeatureSet.Feature, Node) |   | 38% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| validateTry(Node) |   | 80% |   | 50% | 3 | 4 | 3 | 16 | 0 | 1 |
| validateScript(Node) |   | 70% |   | 75% | 1 | 3 | 2 | 8 | 0 | 1 |
| validateModuleContents(Node) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| validateClassDeclaration(Node, boolean) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| violation(String, Node) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| validateString(Node) |   | 70% | | n/a | 0 | 1 | 2 | 7 | 0 | 1 |
| validateNumber(Node) |   | 70% | | n/a | 0 | 1 | 2 | 7 | 0 | 1 |
| validateFunctionBody(Node, boolean) |   | 54% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| validateClass(Node) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| validateFunctionSignature(Node) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| validateFunctionExpressionHelper(Node, boolean) |   | 91% |   | 75% | 1 | 3 | 1 | 14 | 0 | 1 |
| validateContinue(Node) |   | 75% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| validateNonEmptyString(Node) |   | 69% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| validateEmptyString(Node) |   | 69% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| validateHasSourceName(Node) |   | 63% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| validateHasInputId(Node) |   | 60% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| validateFor(Node) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| validateIf(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| validateGetProp(Node) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| validateFunctionStatement(Node) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| validateCall(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| validateNew(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| validateTrinaryOp(Node) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| validateNameDeclarationHelper(Token, Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateCodeRoot(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateBlock(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateArrayLit(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateObjectLit(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateLabel(Node) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| validateReturn(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| validateBreak(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| validateCase(Node) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| validateObjectLitStringKey(Node) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| validateAssignmentExpression(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateVarOrOptionalExpression(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateBinaryOp(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateOptionalName(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateExprStmt(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateThrow(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateChildCount(Node) |  | 100% |   | 50% | 1 | 2 | 0 | 4 | 0 | 1 |
| process(Node, Node) |  | 100% |   | 50% | 2 | 3 | 0 | 5 | 0 | 1 |
| validateLabelName(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateName(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateEmptyName(Node) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateOptionalExpression(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| validateStatements(Node) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| AstValidator(AbstractCompiler, AstValidator.ViolationHandler) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| validateIncDecOp(Node) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| validateUnaryOp(Node) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| AstValidator(AbstractCompiler) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| validateStatement(Node) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| validateFunctionExpression(Node) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| validateChildless(Node) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |