
When an include is not surrounded by empty lines, its content is inlined on the same line as the adjacent content. That can lead to broken tags and other display issues. This PR fixes all such includes and introduces a validation step that forbids introducing the same problem again.
54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
== Why is this an issue?
|
|
|
|
include::../description.adoc[]
|
|
|
|
include::../noncompliant.adoc[]
|
|
|
|
include::../compliant.adoc[]
|
|
|
|
=== Exceptions
|
|
|
|
This rule is relaxed in the following cases:
|
|
|
|
[source,java]
|
|
----
|
|
switch (myVariable) {
|
|
case 0: // Empty case used to specify the same behavior for a group of cases.
|
|
case 1:
|
|
doSomething();
|
|
break;
|
|
case 2: // Use of a fallthrough comment
|
|
// fallthrough
|
|
case 3: // Use of return statement
|
|
return;
|
|
case 4: // Use of throw statement
|
|
throw new IllegalStateException();
|
|
case 5: // Use of continue statement
|
|
continue;
|
|
default: // For the last case, use of break statement is optional
|
|
doSomethingElse();
|
|
}
|
|
----
|
|
|
|
== Resources
|
|
|
|
* https://cwe.mitre.org/data/definitions/484[MITRE, CWE-484] - Omitted Break Statement in Switch
|
|
* https://wiki.sei.cmu.edu/confluence/x/ldYxBQ[CERT, MSC17-C.] - Finish every set of statements associated with a case label with a break statement
|
|
* https://wiki.sei.cmu.edu/confluence/x/1DdGBQ[CERT, MSC52-J.] - Finish every set of statements associated with a case label with a break statement
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|