File tree Expand file tree Collapse file tree 6 files changed +87
-0
lines changed
swift/ql/test/library-tests Expand file tree Collapse file tree 6 files changed +87
-0
lines changed Original file line number Diff line number Diff line change @@ -3338,6 +3338,24 @@ cfg.swift:
3338
3338
# 545| getElse(): [BraceStmt] { ... }
3339
3339
# 546| getElement(0): [ReturnStmt] return ...
3340
3340
# 546| getResult(): [IntegerLiteralExpr] 0
3341
+ # 550| [NamedFunction] usesAutoclosure(_:)
3342
+ # 550| InterfaceType = (@autoclosure () -> Int) -> Int
3343
+ # 550| getParam(0): [ParamDecl] expr
3344
+ # 550| Type = () -> Int
3345
+ # 550| getBody(): [BraceStmt] { ... }
3346
+ # 551| getElement(0): [ReturnStmt] return ...
3347
+ # 551| getResult(): [CallExpr] call to ...
3348
+ # 551| getFunction(): [DeclRefExpr] expr
3349
+ # 554| [NamedFunction] autoclosureTest()
3350
+ # 554| InterfaceType = () -> ()
3351
+ # 554| getBody(): [BraceStmt] { ... }
3352
+ # 555| getElement(0): [CallExpr] call to usesAutoclosure(_:)
3353
+ # 555| getFunction(): [DeclRefExpr] usesAutoclosure(_:)
3354
+ # 555| getArgument(0): [Argument] : { ... }
3355
+ # 555| getExpr(): [AutoClosureExpr] { ... }
3356
+ # 555| getBody(): [BraceStmt] { ... }
3357
+ # 555| getElement(0): [ReturnStmt] return ...
3358
+ # 555| getResult(): [IntegerLiteralExpr] 1
3341
3359
declarations.swift:
3342
3360
# 1| [StructDecl] Foo
3343
3361
# 2| getMember(0): [PatternBindingDecl] var ... = ...
Original file line number Diff line number Diff line change @@ -546,3 +546,11 @@ func testNilCoalescing2(x: Bool?) -> Int {
546
546
return 0
547
547
}
548
548
}
549
+
550
+ func usesAutoclosure( _ expr: @autoclosure ( ) -> Int ) -> Int {
551
+ return expr ( )
552
+ }
553
+
554
+ func autoclosureTest( ) {
555
+ usesAutoclosure ( 1 )
556
+ }
Original file line number Diff line number Diff line change @@ -6276,3 +6276,46 @@ cfg.swift:
6276
6276
6277
6277
# 546| 0
6278
6278
#-----| -> return ...
6279
+
6280
+ # 550| enter usesAutoclosure(_:)
6281
+ #-----| -> usesAutoclosure(_:)
6282
+
6283
+ # 550| exit usesAutoclosure(_:)
6284
+
6285
+ # 550| exit usesAutoclosure(_:) (normal)
6286
+ #-----| -> exit usesAutoclosure(_:)
6287
+
6288
+ # 550| usesAutoclosure(_:)
6289
+ #-----| -> expr
6290
+
6291
+ # 550| expr
6292
+ #-----| -> expr
6293
+
6294
+ # 551| return ...
6295
+ #-----| return -> exit usesAutoclosure(_:) (normal)
6296
+
6297
+ # 551| expr
6298
+ #-----| -> call to ...
6299
+
6300
+ # 551| call to ...
6301
+ #-----| -> return ...
6302
+
6303
+ # 554| autoclosureTest()
6304
+ #-----| -> usesAutoclosure(_:)
6305
+
6306
+ # 554| enter autoclosureTest()
6307
+ #-----| -> autoclosureTest()
6308
+
6309
+ # 554| exit autoclosureTest()
6310
+
6311
+ # 554| exit autoclosureTest() (normal)
6312
+ #-----| -> exit autoclosureTest()
6313
+
6314
+ # 555| usesAutoclosure(_:)
6315
+ #-----| -> { ... }
6316
+
6317
+ # 555| call to usesAutoclosure(_:)
6318
+ #-----| -> exit autoclosureTest() (normal)
6319
+
6320
+ # 555| { ... }
6321
+ #-----| -> call to usesAutoclosure(_:)
Original file line number Diff line number Diff line change @@ -546,3 +546,11 @@ func testNilCoalescing2(x: Bool?) -> Int {
546
546
return 0
547
547
}
548
548
}
549
+
550
+ func usesAutoclosure( _ expr: @autoclosure ( ) -> Int ) -> Int {
551
+ return expr ( )
552
+ }
553
+
554
+ func autoclosureTest( ) {
555
+ usesAutoclosure ( 1 )
556
+ }
Original file line number Diff line number Diff line change 1091
1091
| test.swift:871:24:871:31 | [...] | test.swift:871:24:871:31 | [...] |
1092
1092
| test.swift:872:28:872:31 | [...] | test.swift:872:28:872:31 | [...] |
1093
1093
| test.swift:873:21:873:31 | [...] | test.swift:873:21:873:31 | [...] |
1094
+ | test.swift:876:22:876:49 | SSA def(expr) | test.swift:877:13:877:13 | expr |
1095
+ | test.swift:876:22:876:49 | expr | test.swift:876:22:876:49 | SSA def(expr) |
Original file line number Diff line number Diff line change @@ -872,3 +872,11 @@ func testVarargsCaller() {
872
872
testVarargs2 ( source ( ) , 2 , 3 )
873
873
testVarargs3 ( 1 , 2 , source ( ) )
874
874
}
875
+
876
+ func usesAutoclosure( _ expr: @autoclosure ( ) -> Int ) {
877
+ sink ( arg: expr ( ) )
878
+ }
879
+
880
+ func autoclosureTest( ) {
881
+ usesAutoclosure ( source ( ) )
882
+ }
You can’t perform that action at this time.
0 commit comments