Skip to content

Commit 9d97fe7

Browse files
committed
Swift: generalize EnumIsCaseExpr test
1 parent 7f694f3 commit 9d97fe7

File tree

3 files changed

+22
-4
lines changed

3 files changed

+22
-4
lines changed

swift/ql/test/extractor-tests/generated/expr/EnumIsCaseExpr/EnumIsCaseExpr.expected

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@
33
| enum_is_case.swift:6:1:6:1 | ... is some | getSubExpr: | enum_is_case.swift:6:1:6:1 | 42 | getTypeRepr: | enum_is_case.swift:6:7:6:10 | ...? | getElement: | file://:0:0:0:0 | some |
44
| enum_is_case.swift:7:1:7:1 | ... is some | getSubExpr: | enum_is_case.swift:7:1:7:1 | 42 | getTypeRepr: | enum_is_case.swift:7:7:7:11 | ...? | getElement: | file://:0:0:0:0 | some |
55
| enum_is_case.swift:9:1:9:19 | ... is some | getSubExpr: | enum_is_case.swift:9:1:9:19 | [...] | getTypeRepr: | enum_is_case.swift:9:24:9:28 | [...] | getElement: | file://:0:0:0:0 | some |
6-
| enum_is_case.swift:14:1:14:18 | ... is some | getSubExpr: | enum_is_case.swift:14:1:14:18 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:14:23:14:23 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
6+
| enum_is_case.swift:20:1:20:18 | ... is some | getSubExpr: | enum_is_case.swift:20:1:20:18 | OptionalEvaluationExpr | getTypeRepr: | enum_is_case.swift:20:23:20:23 | SimpleIdentTypeRepr | getElement: | file://:0:0:0:0 | some |
7+
| enum_is_case.swift:22:1:22:5 | ... is some | getSubExpr: | enum_is_case.swift:22:1:22:5 | [...] | getTypeRepr: | enum_is_case.swift:22:10:22:12 | [...] | getElement: | file://:0:0:0:0 | some |
8+
| enum_is_case.swift:23:1:23:10 | ... is some | getSubExpr: | enum_is_case.swift:23:1:23:10 | [...] | getTypeRepr: | enum_is_case.swift:23:15:23:25 | [... : ...] | getElement: | file://:0:0:0:0 | some |
9+
| enum_is_case.swift:24:1:24:10 | ... is some | getSubExpr: | enum_is_case.swift:24:1:24:10 | [...] | getTypeRepr: | enum_is_case.swift:24:15:24:25 | [... : ...] | getElement: | file://:0:0:0:0 | some |
10+
| enum_is_case.swift:25:1:25:8 | ... is some | getSubExpr: | enum_is_case.swift:25:1:25:8 | call to ... | getTypeRepr: | enum_is_case.swift:25:13:25:18 | ...<...> | getElement: | file://:0:0:0:0 | some |

swift/ql/test/extractor-tests/generated/expr/EnumIsCaseExpr/EnumIsCaseExpr_getType.expected

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,8 @@
33
| enum_is_case.swift:6:1:6:1 | ... is some | Bool |
44
| enum_is_case.swift:7:1:7:1 | ... is some | Bool |
55
| enum_is_case.swift:9:1:9:19 | ... is some | Bool |
6-
| enum_is_case.swift:14:1:14:18 | ... is some | Bool |
6+
| enum_is_case.swift:20:1:20:18 | ... is some | Bool |
7+
| enum_is_case.swift:22:1:22:5 | ... is some | Bool |
8+
| enum_is_case.swift:23:1:23:10 | ... is some | Bool |
9+
| enum_is_case.swift:24:1:24:10 | ... is some | Bool |
10+
| enum_is_case.swift:25:1:25:8 | ... is some | Bool |
Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// EnumIsCaseExpr despite its generic nature is actually only generated when an `is` expression passes through an
2-
// intrinsic Optional check
2+
// intrinsic Optional check, or an array, dictionary or set downcast
33

44
Optional.some(42) is Int
55
Optional.some(Optional.some(42)) is Int
@@ -9,6 +9,16 @@ Optional.some(Optional.some(42)) is Int
99
[Optional.some(42)] is [Int]
1010
[42] is [Int?]
1111

12-
class X {}
12+
class X : Hashable {
13+
static func == (lhs: X, rhs: X) -> Bool { return true }
14+
func hash(into hasher: inout Hasher) {}
15+
}
16+
1317
class Y: X {}
18+
1419
Optional.some(Y()) is X
20+
21+
[X()] is [Y]
22+
["x": X()] is [String: Y]
23+
["x": X()] is [String: Y]
24+
Set<X>() is Set<Y>

0 commit comments

Comments
 (0)