| buildErrorMessageFromContext(NoOrphanAliasInLayoutsListener.UsedAlias) |   | 51% |   | 83% | 1 | 4 | 4 | 10 | 0 | 1 |
| buildErrorMessageFromC4L1Context(NoOrphanAliasInLayoutsListener.UsedAlias) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| buildErrorMessageFromC4L2Context(NoOrphanAliasInLayoutsListener.UsedAlias) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| buildErrorMessageFromC4L3Context(NoOrphanAliasInLayoutsListener.UsedAlias) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| NoOrphanAliasInLayoutsListener(NoOrphanAliasInLayoutsRule, Reporter) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| lambda$checkThatNoAliasIsOrphanThenClearCollected$0(NoOrphanAliasInLayoutsListener.UsedAlias) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| collectUsedAlias(TerminalNode, ParserRuleContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| checkThatNoAliasIsOrphanThenClearCollected() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| enterLayout(C4L1Parser.LayoutContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterLayout(C4L2Parser.LayoutContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterLayout(C4L3Parser.LayoutContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| collectDeclaredAlias(TerminalNode) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterCloud(C4L1Parser.CloudContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterCloud(C4L2Parser.CloudContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterCloud(C4L3Parser.CloudContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterComponent(C4L3Parser.ComponentContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterContainer(C4L2Parser.ContainerContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterContainer(C4L3Parser.ContainerContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterContainer_boundary(C4L3Parser.Container_boundaryContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterEnterprise_boundary(C4L1Parser.Enterprise_boundaryContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterEnterprise_boundary(C4L2Parser.Enterprise_boundaryContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterEnterprise_boundary(C4L3Parser.Enterprise_boundaryContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterPerson(C4L1Parser.PersonContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterPerson(C4L2Parser.PersonContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterPerson(C4L3Parser.PersonContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterPerson_ext(C4L1Parser.Person_extContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterPerson_ext(C4L2Parser.Person_extContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterPerson_ext(C4L3Parser.Person_extContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem(C4L1Parser.SystemContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem(C4L2Parser.SystemContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem(C4L3Parser.SystemContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem_boundary(C4L2Parser.System_boundaryContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem_ext(C4L1Parser.System_extContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem_ext(C4L2Parser.System_extContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| enterSystem_ext(C4L3Parser.System_extContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$enterLayout$3(C4L3Parser.LayoutContext, TerminalNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$enterLayout$2(C4L2Parser.LayoutContext, TerminalNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$enterLayout$1(C4L1Parser.LayoutContext, TerminalNode) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |