160 lines
3.6 KiB
Swift
160 lines
3.6 KiB
Swift
internal struct NoFallthroughOnlyRuleExamples {
|
|
static let nonTriggeringExamples: [Example] = [
|
|
Example("""
|
|
switch myvar {
|
|
case 1:
|
|
var a = 1
|
|
fallthrough
|
|
case 2:
|
|
var a = 2
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case "a":
|
|
var one = 1
|
|
var two = 2
|
|
fallthrough
|
|
case "b": /* comment */
|
|
var three = 3
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case 1:
|
|
let one = 1
|
|
case 2:
|
|
// comment
|
|
var two = 2
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case MyFunc(x: [1, 2, YourFunc(a: 23)], y: 2):
|
|
var three = 3
|
|
fallthrough
|
|
default:
|
|
var three = 4
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case .alpha:
|
|
var one = 1
|
|
case .beta:
|
|
var three = 3
|
|
fallthrough
|
|
default:
|
|
var four = 4
|
|
}
|
|
"""),
|
|
Example("""
|
|
let aPoint = (1, -1)
|
|
switch aPoint {
|
|
case let (x, y) where x == y:
|
|
let A = "A"
|
|
case let (x, y) where x == -y:
|
|
let B = "B"
|
|
fallthrough
|
|
default:
|
|
let C = "C"
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case MyFun(with: { $1 }):
|
|
let one = 1
|
|
fallthrough
|
|
case "abc":
|
|
let two = 2
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch enumInstance {
|
|
case .caseA:
|
|
print("it's a")
|
|
case .caseB:
|
|
fallthrough
|
|
@unknown default:
|
|
print("it's not a")
|
|
}
|
|
""")
|
|
]
|
|
|
|
static let triggeringExamples = [
|
|
Example("""
|
|
switch myvar {
|
|
case 1:
|
|
↓fallthrough
|
|
case 2:
|
|
var a = 1
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case 1:
|
|
var a = 2
|
|
case 2:
|
|
↓fallthrough
|
|
case 3:
|
|
var a = 3
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case 1: // comment
|
|
↓fallthrough
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case 1: /* multi
|
|
line
|
|
comment */
|
|
↓fallthrough
|
|
case 2:
|
|
var a = 2
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case MyFunc(x: [1, 2, YourFunc(a: 23)], y: 2):
|
|
↓fallthrough
|
|
default:
|
|
var three = 4
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case .alpha:
|
|
var one = 1
|
|
case .beta:
|
|
↓fallthrough
|
|
case .gamma:
|
|
var three = 3
|
|
default:
|
|
var four = 4
|
|
}
|
|
"""),
|
|
Example("""
|
|
let aPoint = (1, -1)
|
|
switch aPoint {
|
|
case let (x, y) where x == y:
|
|
let A = "A"
|
|
case let (x, y) where x == -y:
|
|
↓fallthrough
|
|
default:
|
|
let B = "B"
|
|
}
|
|
"""),
|
|
Example("""
|
|
switch myvar {
|
|
case MyFun(with: { $1 }):
|
|
↓fallthrough
|
|
case "abc":
|
|
let two = 2
|
|
}
|
|
""")
|
|
]
|
|
}
|