| expr(int) |   | 85% |   | 67% | 62 | 116 | 32 | 458 | 0 | 1 |
| expr_sempred(JavaLanguageParser.ExprContext, int) |  | 0% |  | 0% | 23 | 23 | 24 | 24 | 1 | 1 |
| superSuffix() |   | 50% |   | 27% | 13 | 16 | 18 | 45 | 0 | 1 |
| classType() |  | 0% |  | 0% | 3 | 3 | 26 | 26 | 1 | 1 |
| annotationTypeElementRest(List) |   | 78% |   | 61% | 8 | 15 | 21 | 82 | 0 | 1 |
| arrayCreatorRest() |   | 78% |   | 52% | 7 | 11 | 11 | 53 | 0 | 1 |
| statement() |   | 94% |   | 78% | 12 | 43 | 6 | 224 | 0 | 1 |
| forControl() |   | 85% |   | 64% | 11 | 21 | 4 | 48 | 0 | 1 |
| localTypeDeclaration() |   | 80% |   | 81% | 3 | 11 | 10 | 43 | 0 | 1 |
| typeBoundType() |   | 61% |   | 50% | 2 | 3 | 9 | 22 | 0 | 1 |
| typeDeclaration() |   | 85% |   | 66% | 5 | 9 | 7 | 42 | 0 | 1 |
| switchBlockStatementGroup() |   | 81% |   | 66% | 4 | 7 | 6 | 34 | 0 | 1 |
| creator() |   | 80% |   | 66% | 2 | 5 | 6 | 37 | 0 | 1 |
| explicitConstructorInvocation() |   | 88% |   | 76% | 3 | 8 | 5 | 49 | 0 | 1 |
| id() |   | 72% |   | 62% | 3 | 5 | 5 | 16 | 0 | 1 |
| integerLiteral() |   | 71% |   | 50% | 3 | 4 | 5 | 16 | 0 | 1 |
| floatLiteral() |   | 71% |   | 50% | 3 | 4 | 5 | 16 | 0 | 1 |
| primitiveType() |   | 70% |   | 50% | 3 | 4 | 5 | 16 | 0 | 1 |
| blockStatement() |   | 82% |   | 66% | 2 | 5 | 4 | 29 | 0 | 1 |
| modifier() |   | 91% |  | 93% | 1 | 16 | 5 | 72 | 0 | 1 |
| createdName() |   | 87% |  | 85% | 1 | 5 | 5 | 39 | 0 | 1 |
| typeArgument() |   | 87% |   | 80% | 2 | 7 | 5 | 38 | 0 | 1 |
| importDeclaration() |   | 86% |  | 85% | 1 | 5 | 5 | 40 | 0 | 1 |
| literal() |   | 86% |  | 88% | 1 | 9 | 5 | 44 | 0 | 1 |
| switchLabel() |   | 86% |  | 85% | 1 | 5 | 5 | 34 | 0 | 1 |
| variableDeclaratorId(List, ParserRuleContext) |   | 85% |  | 88% | 1 | 6 | 5 | 35 | 0 | 1 |
| interfaceBodyDeclaration() |   | 85% |   | 66% | 3 | 6 | 5 | 31 | 0 | 1 |
| annotationTypeElementDeclaration() |   | 85% |   | 66% | 3 | 6 | 5 | 31 | 0 | 1 |
| variableAccess() |   | 84% |   | 66% | 3 | 6 | 5 | 30 | 0 | 1 |
| primaryPattern() |   | 83% |   | 66% | 2 | 5 | 5 | 32 | 0 | 1 |
| types(List) |   | 82% |  | 83% | 1 | 6 | 5 | 32 | 0 | 1 |
| variableModifier() |   | 73% |  | 66% | 1 | 3 | 5 | 20 | 0 | 1 |
| methodBody() |   | 73% |  | 66% | 1 | 3 | 5 | 20 | 0 | 1 |
| variableInitializer() |   | 72% |  | 66% | 1 | 3 | 5 | 20 | 0 | 1 |
| lambdaBody() |   | 72% |  | 66% | 1 | 3 | 5 | 20 | 0 | 1 |
| classOrInterfaceOrPrimitiveType() |   | 71% |  | 66% | 1 | 3 | 5 | 19 | 0 | 1 |
| primary() |  | 95% |   | 82% | 3 | 13 | 4 | 80 | 0 | 1 |
| switchBlock() |  | 93% |   | 82% | 3 | 10 | 4 | 46 | 0 | 1 |
| arrayInitializer() |  | 92% |   | 80% | 4 | 11 | 4 | 37 | 0 | 1 |
| elementValueArrayInitializer() |  | 92% |   | 80% | 4 | 11 | 4 | 37 | 0 | 1 |
| classBodyDeclaration() |  | 92% |   | 75% | 3 | 8 | 4 | 42 | 0 | 1 |
| lambdaParameters() |  | 91% |   | 75% | 3 | 8 | 4 | 37 | 0 | 1 |
| recordComponents() |  | 90% |   | 72% | 3 | 7 | 4 | 37 | 0 | 1 |
| formalParameterList() |  | 90% |   | 72% | 3 | 7 | 4 | 37 | 0 | 1 |
| methodDeclaration(List) |  | 90% |  | 100% | 0 | 5 | 4 | 39 | 0 | 1 |
| interfaceMethodDeclaration(List) |  | 90% |  | 87% | 1 | 5 | 4 | 39 | 0 | 1 |
| memberDeclaration(List) |  | 90% |  | 88% | 1 | 9 | 4 | 42 | 0 | 1 |
| classDeclaration(List) |  | 89% |  | 100% | 0 | 5 | 4 | 39 | 0 | 1 |
| interfaceMemberDeclaration(List) |  | 89% |  | 87% | 1 | 8 | 4 | 38 | 0 | 1 |
| enumBody() |  | 89% |  | 90% | 1 | 6 | 4 | 31 | 0 | 1 |
| classOrInterfaceType(boolean) |  | 89% |   | 75% | 2 | 5 | 4 | 29 | 0 | 1 |
| recordBody() |  | 88% |   | 83% | 2 | 7 | 4 | 22 | 0 | 1 |
| classBody() |  | 88% |   | 83% | 2 | 7 | 4 | 22 | 0 | 1 |
| interfaceBody() |  | 88% |   | 83% | 2 | 7 | 4 | 22 | 0 | 1 |
| lastFormalParameter() |  | 88% |   | 66% | 2 | 4 | 4 | 28 | 0 | 1 |
| annotationMethodRest(List, JavaLanguageParser.TypeTypeContext) |  | 88% |  | 83% | 1 | 4 | 4 | 31 | 0 | 1 |
| resourceDeclaration() |  | 88% |   | 66% | 2 | 4 | 4 | 28 | 0 | 1 |
| enhancedForControl() |  | 88% |   | 66% | 2 | 4 | 4 | 28 | 0 | 1 |
| constructorBlock() |  | 88% |   | 75% | 2 | 5 | 4 | 28 | 0 | 1 |
| interfaceDeclaration(List) |  | 88% |  | 100% | 0 | 4 | 4 | 33 | 0 | 1 |
| enumBodyDeclarations() |  | 88% |   | 83% | 2 | 7 | 4 | 20 | 0 | 1 |
| annotationTypeBody() |  | 87% |  | 87% | 1 | 5 | 4 | 22 | 0 | 1 |
| arguments() |  | 87% |   | 83% | 2 | 7 | 4 | 19 | 0 | 1 |
| formalParameter() |  | 87% |   | 66% | 2 | 4 | 4 | 24 | 0 | 1 |
| localVariableDeclaration() |  | 87% |   | 66% | 2 | 4 | 4 | 24 | 0 | 1 |
| variableDeclarator(List, JavaLanguageParser.TypeTypeContext) |  | 87% |  | 100% | 0 | 4 | 4 | 28 | 0 | 1 |
| annotation() |  | 86% |  | 100% | 0 | 4 | 4 | 29 | 0 | 1 |
| typePattern() |  | 86% |   | 66% | 2 | 4 | 4 | 24 | 0 | 1 |
| recordDeclaration(List) |  | 86% |  | 100% | 0 | 3 | 4 | 29 | 0 | 1 |
| compactConstructorDeclaration() |  | 86% |   | 66% | 2 | 4 | 4 | 24 | 0 | 1 |
| catchParameter() |  | 86% |   | 66% | 2 | 4 | 4 | 24 | 0 | 1 |
| block() |  | 85% |   | 66% | 2 | 4 | 4 | 23 | 0 | 1 |
| typeType(boolean) |  | 85% |   | 66% | 2 | 4 | 4 | 23 | 0 | 1 |
| enumConstants() |  | 85% |   | 66% | 2 | 4 | 4 | 23 | 0 | 1 |
| constructorDeclaration(List) |  | 85% |  | 100% | 0 | 3 | 4 | 27 | 0 | 1 |
| qualifiedName() |  | 85% |   | 66% | 2 | 4 | 4 | 22 | 0 | 1 |
| resources() |  | 85% |   | 66% | 2 | 4 | 4 | 23 | 0 | 1 |
| caseConstants() |  | 85% |   | 66% | 2 | 4 | 4 | 23 | 0 | 1 |
| typeParameters() |  | 85% |  | 100% | 0 | 2 | 4 | 26 | 0 | 1 |
| qualifiedNameList() |  | 85% |  | 100% | 0 | 2 | 4 | 26 | 0 | 1 |
| typeArguments() |  | 85% |  | 100% | 0 | 2 | 4 | 26 | 0 | 1 |
| recordComponentsList() |  | 85% |   | 75% | 2 | 5 | 4 | 19 | 0 | 1 |
| formalParameters() |  | 85% |   | 75% | 2 | 5 | 4 | 19 | 0 | 1 |
| annotations(boolean) |  | 84% |   | 66% | 2 | 4 | 4 | 20 | 0 | 1 |
| permittedSubclassesAndInterfaces() |  | 84% |  | 100% | 0 | 2 | 4 | 24 | 0 | 1 |
| enumConstant() |  | 84% |  | 100% | 0 | 3 | 4 | 25 | 0 | 1 |
| variableDeclarators(List, JavaLanguageParser.TypeTypeContext) |  | 84% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| typeArgumentsOrDiamond() |  | 83% |  | 66% | 1 | 3 | 4 | 22 | 0 | 1 |
| nonWildcardTypeArgumentsOrDiamond() |  | 83% |  | 66% | 1 | 3 | 4 | 22 | 0 | 1 |
| catchType() |  | 83% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| typeCastParameters() |  | 83% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| typeArgumentsTypeList() |  | 83% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| typeList() |  | 83% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| expressionList() |  | 83% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| typeBound() |  | 82% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| elementValuePairs() |  | 82% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| multiLambdaParams() |  | 82% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| caseConstant() |  | 82% |  | 75% | 1 | 4 | 4 | 22 | 0 | 1 |
| elementValue() |  | 82% |  | 75% | 1 | 4 | 4 | 22 | 0 | 1 |
| switchExpressionOrStatement() |  | 82% | | n/a | 0 | 1 | 4 | 21 | 0 | 1 |
| switchLabeledRule() |  | 82% |  | 75% | 1 | 4 | 4 | 22 | 0 | 1 |
| classOrInterfaceTypeExtended() |  | 82% |  | 100% | 0 | 2 | 4 | 20 | 0 | 1 |
| resourceSpecification() |  | 81% |  | 100% | 0 | 2 | 4 | 21 | 0 | 1 |
| enumDeclaration(List) |  | 81% |  | 100% | 0 | 2 | 4 | 21 | 0 | 1 |
| createdNameExtended() |  | 81% |  | 100% | 0 | 2 | 4 | 21 | 0 | 1 |
| innerCreator() |  | 81% |  | 100% | 0 | 2 | 4 | 21 | 0 | 1 |
| recordBodyDeclaration() |  | 79% |  | 66% | 1 | 3 | 4 | 18 | 0 | 1 |
| typeParameter() |  | 79% |  | 100% | 0 | 2 | 4 | 19 | 0 | 1 |
| resource() |  | 79% |  | 66% | 1 | 3 | 4 | 18 | 0 | 1 |
| forInit() |  | 79% |  | 66% | 1 | 3 | 4 | 18 | 0 | 1 |
| pattern() |  | 79% |  | 66% | 1 | 3 | 4 | 18 | 0 | 1 |
| switchLabeledThrow() |  | 79% | | n/a | 0 | 1 | 4 | 19 | 0 | 1 |
| catchClause() |  | 79% | | n/a | 0 | 1 | 4 | 19 | 0 | 1 |
| classCreatorRest() |  | 78% |  | 100% | 0 | 2 | 4 | 16 | 0 | 1 |
| lastRecordComponent() |  | 77% | | n/a | 0 | 1 | 4 | 17 | 0 | 1 |
| packageDeclaration() |  | 77% | | n/a | 0 | 1 | 4 | 17 | 0 | 1 |
| annotationTypeDeclaration(List) |  | 77% | | n/a | 0 | 1 | 4 | 17 | 0 | 1 |
| bracketsWithExp() |  | 77% | | n/a | 0 | 1 | 4 | 17 | 0 | 1 |
| fieldDeclaration(List) |  | 77% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| switchLabeledExpression() |  | 77% | | n/a | 0 | 1 | 4 | 17 | 0 | 1 |
| arrayDeclarator() |  | 75% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| recordComponent() |  | 75% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| textBlockLiteral() |  | 75% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| typeUpperBounds() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| qualifiedNameExtended() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| parExpression() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| nonWildcardTypeArguments() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| guardedPattern() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| elementValuePair() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| switchLabeledBlock() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| lambdaExpression() |  | 74% | | n/a | 0 | 1 | 4 | 15 | 0 | 1 |
| classExtends() |  | 72% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| fieldAccessNoIdent() |  | 71% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| implementsClause() |  | 70% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| interfaceExtends() |  | 70% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| throwsList() |  | 70% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| defaultValue() |  | 70% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| elseStat() |  | 70% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| finallyBlock() |  | 70% | | n/a | 0 | 1 | 4 | 13 | 0 | 1 |
| annotationConstantRest(List, JavaLanguageParser.TypeTypeContext) |  | 68% | | n/a | 0 | 1 | 4 | 11 | 0 | 1 |
| expression() |  | 66% | | n/a | 0 | 1 | 4 | 11 | 0 | 1 |
| compilationUnit() |  | 94% |   | 75% | 4 | 9 | 2 | 35 | 0 | 1 |
| sempred(RuleContext, int, int) | | 50% |  | 33% | 2 | 3 | 2 | 4 | 0 | 1 |
| expr() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| blockStatement_sempred(JavaLanguageParser.BlockStatementContext, int) | | 81% |  | 75% | 1 | 3 | 1 | 3 | 0 | 1 |
| getTokenNames() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getGrammarFileName() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getRuleNames() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSerializedATN() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| makeSymbolicNames() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| makeLiteralNames() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| makeRuleNames() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% |  | 100% | 0 | 5 | 0 | 20 | 0 | 1 |
| JavaLanguageParser(TokenStream, int) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| JavaLanguageParser(TokenStream) | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| isYieldStatement() | | 100% |  | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| getVocabulary() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getATN() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |