| attributeValue(int) |   | 14% |   | 3% | 35 | 36 | 117 | 137 | 0 | 1 |
| paramDefault() |  | 0% |  | 0% | 28 | 28 | 107 | 107 | 1 | 1 |
| balancedContent() |  | 0% |  | 0% | 27 | 27 | 66 | 66 | 1 | 1 |
| propertyOrFieldBody() |  | 0% |  | 0% | 21 | 21 | 80 | 80 | 1 | 1 |
| overloadableOperator() |  | 0% |  | 0% | 24 | 24 | 108 | 108 | 1 | 1 |
| conversionDeclaration() |  | 0% |  | 0% | 19 | 19 | 70 | 70 | 1 | 1 |
| bodyContent() |  | 0% |  | 0% | 21 | 21 | 55 | 55 | 1 | 1 |
| constructorDeclaration() |  | 0% |  | 0% | 16 | 16 | 68 | 68 | 1 | 1 |
| operatorDeclaration() |  | 0% |  | 0% | 15 | 15 | 66 | 66 | 1 | 1 |
| delegateDeclaration() |  | 0% |  | 0% | 13 | 13 | 60 | 60 | 1 | 1 |
| eventDeclaration() |  | 0% |  | 0% | 14 | 14 | 54 | 54 | 1 | 1 |
| enumDeclaration() |  | 0% |  | 0% | 13 | 13 | 52 | 52 | 1 | 1 |
| indexerDeclaration() |  | 0% |  | 0% | 10 | 10 | 44 | 44 | 1 | 1 |
| enumBodyContent() |  | 0% |  | 0% | 13 | 13 | 36 | 36 | 1 | 1 |
| blockContent() |   | 43% |   | 27% | 19 | 21 | 30 | 55 | 0 | 1 |
| constructorInitializer() |  | 0% |  | 0% | 10 | 10 | 31 | 31 | 1 | 1 |
| typeConstraint() |  | 0% |  | 0% | 9 | 9 | 47 | 47 | 1 | 1 |
| destructorDeclaration() |  | 0% |  | 0% | 6 | 6 | 37 | 37 | 1 | 1 |
| propertyOrFieldDeclaration() |  | 0% |  | 0% | 6 | 6 | 40 | 40 | 1 | 1 |
| type() |   | 34% |   | 26% | 8 | 9 | 39 | 57 | 0 | 1 |
| typeBase() |  | 0% |  | 0% | 8 | 8 | 28 | 28 | 1 | 1 |
| typeDeclaration() |   | 65% |   | 43% | 17 | 22 | 29 | 89 | 0 | 1 |
| argument() |  | 0% |  | 0% | 7 | 7 | 29 | 29 | 1 | 1 |
| typeParameter() |  | 0% |  | 0% | 7 | 7 | 31 | 31 | 1 | 1 |
| typeRankSuffix() |  | 0% |  | 0% | 5 | 5 | 35 | 35 | 1 | 1 |
| typeMember() |   | 33% |   | 16% | 10 | 12 | 39 | 54 | 0 | 1 |
| typeKwd() |   | 27% |   | 6% | 9 | 10 | 27 | 38 | 0 | 1 |
| memberBody() |   | 28% |   | 10% | 6 | 7 | 25 | 36 | 0 | 1 |
| globalAttributeSection() |  | 0% |  | 0% | 4 | 4 | 24 | 24 | 1 | 1 |
| typeArguments() |  | 0% |  | 0% | 2 | 2 | 26 | 26 | 1 | 1 |
| typeParameterList() |  | 0% |  | 0% | 2 | 2 | 26 | 26 | 1 | 1 |
| parameter() |   | 53% |   | 30% | 10 | 11 | 19 | 44 | 0 | 1 |
| usingTypeName() |   | 37% |   | 28% | 4 | 5 | 26 | 40 | 0 | 1 |
| compilationUnit() |   | 68% |   | 40% | 11 | 15 | 16 | 55 | 0 | 1 |
| typeList() |  | 0% |  | 0% | 2 | 2 | 22 | 22 | 1 | 1 |
| typeBaseList() |  | 0% |  | 0% | 2 | 2 | 22 | 22 | 1 | 1 |
| typeConstraintList() |  | 0% |  | 0% | 2 | 2 | 22 | 22 | 1 | 1 |
| argumentList() |  | 0% |  | 0% | 2 | 2 | 22 | 22 | 1 | 1 |
| parameterModifier() |  | 0% |  | 0% | 4 | 4 | 16 | 16 | 1 | 1 |
| attributeTarget() |  | 0% |  | 0% | 5 | 5 | 16 | 16 | 1 | 1 |
| typeArgument() |  | 0% |  | 0% | 3 | 3 | 20 | 20 | 1 | 1 |
| tupleElement() |  | 0% |  | 0% | 2 | 2 | 17 | 17 | 1 | 1 |
| externalAliasDirective() |  | 0% | | n/a | 1 | 1 | 17 | 17 | 1 | 1 |
| typeConstraintClause() |  | 0% | | n/a | 1 | 1 | 17 | 17 | 1 | 1 |
| methodDeclaration() |   | 81% |   | 59% | 8 | 12 | 11 | 59 | 0 | 1 |
| usingDirective() |   | 68% |   | 50% | 3 | 4 | 12 | 34 | 0 | 1 |
| identifier() |   | 57% |   | 33% | 6 | 7 | 5 | 16 | 0 | 1 |
| memberName() |   | 51% |   | 50% | 1 | 2 | 11 | 22 | 0 | 1 |
| attributeList() |   | 51% |   | 50% | 1 | 2 | 11 | 22 | 0 | 1 |
| parameterList() |   | 51% |   | 50% | 1 | 2 | 11 | 22 | 0 | 1 |
| modifier() |   | 58% |   | 30% | 5 | 6 | 5 | 16 | 0 | 1 |
| member() |   | 61% |   | 40% | 3 | 5 | 11 | 26 | 0 | 1 |
| namespaceDeclaration() |   | 79% |   | 66% | 4 | 7 | 9 | 35 | 0 | 1 |
| attribute() |   | 75% |   | 42% | 6 | 8 | 4 | 25 | 0 | 1 |
| returnType() |   | 57% |   | 33% | 2 | 3 | 9 | 20 | 0 | 1 |
| attributeSection() |   | 68% |   | 50% | 1 | 2 | 8 | 22 | 0 | 1 |
| qualifiedName() |   | 79% |   | 50% | 5 | 7 | 5 | 28 | 0 | 1 |
| typeAtom() |   | 63% |   | 33% | 2 | 3 | 8 | 18 | 0 | 1 |
| fileScopedNamespaceDeclaration() |   | 78% |   | 50% | 3 | 5 | 4 | 24 | 0 | 1 |
| primitiveTypeKwd() |   | 71% |   | 50% | 3 | 4 | 5 | 16 | 0 | 1 |
| stringLiteral() |   | 71% |   | 50% | 3 | 4 | 5 | 16 | 0 | 1 |
| block() |   | 82% |   | 66% | 3 | 7 | 4 | 22 | 0 | 1 |
| attributeValue_sempred(CSharpTestParser.AttributeValueContext, int) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| attributeArg() |   | 83% |   | 66% | 1 | 3 | 4 | 22 | 0 | 1 |
| attributeArgs() |   | 82% |  | 100% | 0 | 2 | 4 | 22 | 0 | 1 |
| sempred(RuleContext, int, int) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| attributeValue() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTokenNames() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getVocabulary() | | 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 | 19 | 0 | 1 |
| CSharpTestParser(TokenStream) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getATN() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |