Skip to content

Commit 7ca6b6f

Browse files
committed
Swift: add dataflow test for async for
1 parent 53ad559 commit 7ca6b6f

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

swift/ql/test/library-tests/dataflow/dataflow/LocalFlow.expected

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,3 +1014,20 @@
10141014
| test.swift:816:15:816:15 | [post] generator | test.swift:816:15:816:15 | &... |
10151015
| test.swift:816:15:816:15 | generator | test.swift:816:15:816:15 | &... |
10161016
| test.swift:816:15:816:30 | call to next() | test.swift:816:15:816:31 | ...! |
1017+
| test.swift:820:9:820:9 | SSA def(stream) | test.swift:830:24:830:24 | stream |
1018+
| test.swift:820:9:820:9 | stream | test.swift:820:9:820:9 | SSA def(stream) |
1019+
| test.swift:820:18:828:6 | call to AsyncStream<Element>.init(_:bufferingPolicy:_:) | test.swift:820:9:820:9 | stream |
1020+
| test.swift:823:17:823:17 | $generator | test.swift:823:17:823:17 | &... |
1021+
| test.swift:823:17:823:17 | &... | test.swift:823:17:823:17 | $generator |
1022+
| test.swift:823:17:823:17 | [post] $generator | test.swift:823:17:823:17 | &... |
1023+
| test.swift:823:26:823:26 | $generator | test.swift:823:26:823:26 | SSA def($generator) |
1024+
| test.swift:823:26:823:26 | SSA def($generator) | test.swift:823:17:823:17 | $generator |
1025+
| test.swift:823:26:823:30 | call to makeIterator() | test.swift:823:26:823:26 | $generator |
1026+
| test.swift:830:5:830:5 | $i$generator | test.swift:830:5:830:5 | &... |
1027+
| test.swift:830:5:830:5 | &... | test.swift:830:5:830:5 | $i$generator |
1028+
| test.swift:830:5:830:5 | [post] $i$generator | test.swift:830:5:830:5 | &... |
1029+
| test.swift:830:19:830:19 | SSA def(i) | test.swift:831:19:831:19 | i |
1030+
| test.swift:830:19:830:19 | i | test.swift:830:19:830:19 | SSA def(i) |
1031+
| test.swift:830:24:830:24 | $i$generator | test.swift:830:24:830:24 | SSA def($i$generator) |
1032+
| test.swift:830:24:830:24 | SSA def($i$generator) | test.swift:830:5:830:5 | $i$generator |
1033+
| test.swift:830:24:830:24 | call to makeAsyncIterator() | test.swift:830:24:830:24 | $i$generator |

swift/ql/test/library-tests/dataflow/dataflow/test.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,3 +815,19 @@ func testSetForEach() {
815815
var generator = set1.makeIterator()
816816
sink(arg: generator.next()!) // $ flow=809
817817
}
818+
819+
func testAsyncFor () async {
820+
var stream = AsyncStream(Int.self, bufferingPolicy: .bufferingNewest(5), {
821+
continuation in
822+
Task.detached {
823+
for _ in 1...100 {
824+
continuation.yield(source())
825+
}
826+
continuation.finish()
827+
}
828+
})
829+
830+
for try await i in stream {
831+
sink(arg: i) // $ MISSING: flow=824
832+
}
833+
}

0 commit comments

Comments
 (0)