Create rule S2189[kotlin]: Loops should not be infinite (#327)
This commit is contained in:
parent
4618d16b53
commit
08f4f27d48
3
rules/S2189/kotlin/metadata.json
Normal file
3
rules/S2189/kotlin/metadata.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
|
||||
}
|
44
rules/S2189/kotlin/rule.adoc
Normal file
44
rules/S2189/kotlin/rule.adoc
Normal file
@ -0,0 +1,44 @@
|
||||
include::../description.adoc[]
|
||||
|
||||
|
||||
== Noncompliant Code Example
|
||||
|
||||
----
|
||||
var j: Int
|
||||
while (true) { // Noncompliant; end condition omitted
|
||||
j++
|
||||
}
|
||||
|
||||
var k: Int
|
||||
val b = true
|
||||
while (b) { // Noncompliant; b never written to in loop
|
||||
k++
|
||||
}
|
||||
----
|
||||
|
||||
== Compliant Solution
|
||||
|
||||
----
|
||||
var j: Int = 0
|
||||
while (true) { // reachable end condition added
|
||||
j++
|
||||
if (j == Int.MIN_VALUE) { // true at Integer.MAX_VALUE +1
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
var k: Int = 0
|
||||
var b = true
|
||||
while (b) {
|
||||
k++
|
||||
b = k < Int.MAX_VALUE
|
||||
}
|
||||
----
|
||||
|
||||
ifdef::env-github,rspecator-view[]
|
||||
'''
|
||||
== Comments And Links
|
||||
(visible only on this page)
|
||||
|
||||
include::../comments-and-links.adoc[]
|
||||
endif::env-github,rspecator-view[]
|
@ -12,7 +12,8 @@
|
||||
"extra": {
|
||||
"coveredLanguages": [
|
||||
"Java",
|
||||
"JavaScript"
|
||||
"JavaScript",
|
||||
"Kotlin"
|
||||
],
|
||||
"replacementRules": [
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user