-
Notifications
You must be signed in to change notification settings - Fork 10.4k
/
Copy pathlocal.swift
81 lines (74 loc) · 3.12 KB
/
local.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
func test1() {
if true {
let x = 1
print(x)
} else {
let x = 2
print(x)
}
}
func test2(arg1: Int?, arg2: (Int, String)?) {
if let x = arg1 {
print(x)
} else if let (x, y) = arg2 {
print(x, y)
}
}
func test3(arg: Int?) {
switch arg {
case let .some(x) where x == 0:
print(x)
case let .some(x) where x == 1,
let .some(x) where x == 2:
print(x)
fallthrough
case let .some(x) where x == 3:
print(x)
default:
break
}
}
struct Err1 : Error { }
func test4(arg: () throws -> Void) {
do {
try arg()
} catch let x as Err1 {
print(x)
} catch let x {
print(x)
}
}
func test5(_ x: Int) {
let x = x
print(x)
}
func testCaptureVariable() {
let capturedVariable = 0
_ = { [capturedVariable] in
print(capturedVariable)
}
}
// REQUIRES: swift_swift_parser
// RUN: %empty-directory(%t.result)
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=3:9 -new-name="xRenamed" > %t.result/localvar_1.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=7:11 -new-name="xRenamed" > %t.result/localvar_2.swift
// RUN: diff -u %S/Outputs/local/localvar_1.swift.expected %t.result/localvar_1.swift
// RUN: diff -u %S/Outputs/local/localvar_2.swift.expected %t.result/localvar_2.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=12:10 -new-name="xRenamed" > %t.result/ifbind_1.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=15:11 -new-name="xRenamed" > %t.result/ifbind_2.swift
// RUN: diff -u %S/Outputs/local/ifbind_1.swift.expected %t.result/ifbind_1.swift
// RUN: diff -u %S/Outputs/local/ifbind_2.swift.expected %t.result/ifbind_2.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=21:18 -new-name="xRenamed" > %t.result/casebind_1.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=25:11 -new-name="xRenamed" > %t.result/casebind_2.swift
// RUN: diff -u %S/Outputs/local/casebind_1.swift.expected %t.result/casebind_1.swift
// RUN: diff -u %S/Outputs/local/casebind_2.swift.expected %t.result/casebind_2.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=38:15 -new-name="xRenamed" > %t.result/catch_1.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=41:11 -new-name="xRenamed" > %t.result/catch_2.swift
// RUN: diff -u %S/Outputs/local/catch_1.swift.expected %t.result/catch_1.swift
// RUN: diff -u %S/Outputs/local/catch_2.swift.expected %t.result/catch_2.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=45:14 -new-name="xRenamed" > %t.result/param_1.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=47:9 -new-name="xRenamed" > %t.result/param_2.swift
// RUN: diff -u %S/Outputs/local/param_1.swift.expected %t.result/param_1.swift
// RUN: diff -u %S/Outputs/local/param_2.swift.expected %t.result/param_2.swift
// RUN: %refactor -find-local-rename-ranges -source-filename %s -pos=51:7 -new-name="capturedVariableRenamed" > %t.result/captured_variable.swift
// RUN: diff -u %S/Outputs/local/captured_variable.swift.expected %t.result/captured_variable.swift