File tree Expand file tree Collapse file tree
swift/ql/test/library-tests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3338,6 +3338,24 @@ cfg.swift:
33383338# 545| getElse(): [BraceStmt] { ... }
33393339# 546| getElement(0): [ReturnStmt] return ...
33403340# 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
33413359declarations.swift:
33423360# 1| [StructDecl] Foo
33433361# 2| getMember(0): [PatternBindingDecl] var ... = ...
Original file line number Diff line number Diff line change @@ -546,3 +546,11 @@ func testNilCoalescing2(x: Bool?) -> Int {
546546 return 0
547547 }
548548}
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:
62766276
62776277# 546| 0
62786278#-----| -> 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 {
546546 return 0
547547 }
548548}
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 10911091| test.swift:871:24:871:31 | [...] | test.swift:871:24:871:31 | [...] |
10921092| test.swift:872:28:872:31 | [...] | test.swift:872:28:872:31 | [...] |
10931093| 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() {
872872 testVarargs2 ( source ( ) , 2 , 3 )
873873 testVarargs3 ( 1 , 2 , source ( ) )
874874}
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