Files
codeql/go/ql/test/query-tests/InconsistentCode/InconsistentLoopOrientation/main.go
2022-05-20 10:07:19 -07:00

43 lines
648 B
Go

package main
func f1(i int) {
for j := i - 1; j >= 0; j-- { // OK
}
}
func f2(i int, s string) {
for j := i + 1; j < len(s); j-- { // NOT OK
}
}
func f3(s string) {
for i, l := 0, len(s); i > l; i++ { // NOT OK
}
}
func f4(lower int, a []int) {
for i := lower - 1; i >= 0; i-- { // OK
a[i] = 0
}
}
func f5(upper int, a []int) {
for i := upper + 1; i < len(a); i-- { // NOT OK
a[i] = 0
}
}
func f6(upper uint, a []int) {
for i := upper + 1; i < uint(len(a)); i-- { // NOT OK, but not currently flagged
a[i] = 0
}
}
func f7(a []int) {
for i := uint(len(a)) - 1; i < uint(len(a)); i-- { // OK
a[i] = 0
}
}
func main() {}