Skip to content

Commit 539116f

Browse files
committed
Unified: Add name binding test
1 parent 96852da commit 539116f

3 files changed

Lines changed: 57 additions & 9 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
testFailures
2+
unqualifiedMemberAccess
3+
| extensions.swift:3:9:3:17 | ownMethod | extensions.swift:1:1:7:1 | class A |
4+
| extensions.swift:4:9:4:24 | extensionMethod1 | extensions.swift:1:1:7:1 | class A |
5+
| extensions.swift:5:9:5:24 | extensionMethod2 | extensions.swift:1:1:7:1 | class A |
6+
| extensions.swift:11:9:11:17 | ownMethod | extensions.swift:1:1:7:1 | class A |
7+
| extensions.swift:12:9:12:24 | extensionMethod1 | extensions.swift:9:1:15:1 | extension A |
8+
| extensions.swift:13:9:13:24 | extensionMethod2 | extensions.swift:1:1:7:1 | class A |
9+
| extensions.swift:19:9:19:17 | ownMethod | extensions.swift:1:1:7:1 | class A |
10+
| extensions.swift:20:9:20:24 | extensionMethod1 | extensions.swift:1:1:7:1 | class A |
11+
| extensions.swift:21:9:21:24 | extensionMethod2 | extensions.swift:17:1:23:1 | extension A |
12+
| extensions.swift:34:20:34:20 | C | extensions.swift:25:1:26:1 | class B |
13+
| extensions.swift:35:17:35:17 | D | extensions.swift:34:5:36:5 | class B.Nested |
14+
| extensions.swift:51:9:51:18 | baseMethod | extensions.swift:49:1:58:1 | class X |
15+
| extensions.swift:52:9:52:24 | baseMethodNoImpl | extensions.swift:49:1:58:1 | class X |
16+
| extensions.swift:53:9:53:21 | baseMethodExt | extensions.swift:49:1:58:1 | class X |
17+
| extensions.swift:56:9:56:29 | baseMethodDefaultImpl | extensions.swift:49:1:58:1 | class X |
18+
| extensions.swift:66:9:66:18 | baseMethod | extensions.swift:64:1:69:1 | class Y |
19+
| extensions.swift:67:9:67:29 | baseMethodDefaultImpl | extensions.swift:64:1:69:1 | class Y |
20+
| implicit-instance-field-access.swift:5:16:5:16 | x | implicit-instance-field-access.swift:1:1:7:1 | class A |
21+
| implicit-instance-field-access.swift:11:16:11:16 | x | implicit-instance-field-access.swift:9:1:13:1 | class B |
22+
| not-a-package/Main/Runner.swift:9:14:9:19 | Nested | not-a-package/Main/Runner.swift:8:1:10:1 | class MyDriver |
23+
| not-a-package/Mock/Runner.swift:9:14:9:19 | Nested | not-a-package/Mock/Runner.swift:8:1:10:1 | class MyDriver |
24+
| package1/Sources/Target1/File1.swift:6:9:6:30 | target2ExtensionMethod | package1/Sources/Target1/File1.swift:4:1:8:1 | class ScopedExtensionTarget |
25+
| test.swift:8:24:8:24 | B | test.swift:3:1:11:1 | class A |
26+
| test.swift:37:13:37:13 | A | test.swift:31:1:39:1 | class E |
27+
| test.swift:38:13:38:13 | A | test.swift:31:1:39:1 | class E |
28+
| unqualified-access.swift:8:13:8:13 | B | unqualified-access.swift:7:1:20:1 | class ASub |
29+
| unqualified-access.swift:9:13:9:13 | B | unqualified-access.swift:7:1:20:1 | class ASub |
30+
| unqualified-access.swift:11:17:11:17 | B | unqualified-access.swift:7:1:20:1 | class ASub |
31+
| unqualified-access.swift:12:17:12:17 | B | unqualified-access.swift:7:1:20:1 | class ASub |
32+
| unqualified-access.swift:13:17:13:17 | C | unqualified-access.swift:11:5:14:5 | class ASub.BSub |
33+
| unqualified-access.swift:16:18:16:18 | B | unqualified-access.swift:7:1:20:1 | class ASub |
34+
| unqualified-access.swift:18:17:18:17 | C | unqualified-access.swift:16:5:19:5 | class ASub.BSub2 |
35+
| unqualified-access.swift:24:16:24:19 | Leaf | unqualified-access.swift:23:5:25:5 | class Node.Leaf |
36+
| unqualified-access.swift:24:23:24:26 | Leaf | unqualified-access.swift:23:5:25:5 | class Node.Leaf |

‎unified/ql/test/library-tests/static-name-binding/test.ql‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,9 @@ module StaticDeclAccess implements TestSig {
1919
}
2020

2121
import MakeTest<StaticDeclAccess>
22+
23+
query predicate unqualifiedMemberAccess(
24+
UnqualifiedMemberAccess uma, ClassLikeDeclaration accessingClass
25+
) {
26+
accessingClass = uma.getAccessingClass()
27+
}

‎unified/ql/test/library-tests/static-name-binding/unqualified-access.swift‎

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,23 @@ class A {
44
}
55
}
66

7-
class ASub : A { // $ access=A
8-
let x1: B = nil; // $ access=A.B
9-
let x2: B.C = nil; // $ access=A.B access=A.B.C
7+
class ASub: A { // $ access=A
8+
let x1: B = nil // $ access=A.B
9+
let x2: B.C = nil // $ access=A.B access=A.B.C
1010

11-
class BSub : B { // $ access=A.B
12-
let x3: B = nil; // $ access=A.B
13-
let x4: C = nil; // $ access=A.B.C
11+
class BSub: B { // $ access=A.B
12+
let x3: B = nil // $ access=A.B
13+
let x4: C = nil // $ access=A.B.C
1414
}
1515

16-
class BSub2 : B { // $ access=A.B
17-
class C {} // shadow the inherited C
18-
let x5: C = nil; // $ access=ASub.BSub2.C
16+
class BSub2: B { // $ access=A.B
17+
class C {} // shadow the inherited C
18+
let x5: C = nil // $ access=ASub.BSub2.C
19+
}
20+
}
21+
22+
class Node {
23+
class Leaf: Node { // $ access=Node
24+
let x: Leaf = Leaf() // $ access=Node.Leaf
1925
}
2026
}

0 commit comments

Comments
 (0)