github.com/amarpal/go-tools@v0.0.0-20240422043104-40142f59f616/quickfix/qf1006/testdata/src/example.com/CheckForLoopIfBreak/CheckForLoopIfBreak.go (about)

     1  package pkg
     2  
     3  func done() bool { return false }
     4  
     5  var a, b int
     6  var x bool
     7  
     8  func fn() {
     9  	for {
    10  		if done() { //@ diag(`could lift into loop condition`)
    11  			break
    12  		}
    13  	}
    14  
    15  	for {
    16  		if !done() { //@ diag(`could lift into loop condition`)
    17  			break
    18  		}
    19  	}
    20  
    21  	for {
    22  		if a > b || b > a { //@ diag(`could lift into loop condition`)
    23  			break
    24  		}
    25  	}
    26  
    27  	for {
    28  		if x && (a == b) { //@ diag(`could lift into loop condition`)
    29  			break
    30  		}
    31  	}
    32  
    33  	for {
    34  		if done() { //@ diag(`could lift into loop condition`)
    35  			break
    36  		}
    37  		println()
    38  	}
    39  
    40  	for {
    41  		println()
    42  		if done() {
    43  			break
    44  		}
    45  	}
    46  
    47  	for {
    48  		if done() {
    49  			println()
    50  			break
    51  		}
    52  	}
    53  }