77protocol MyProto { }
88
99public struct Foo : MyProto {
10- let init1 = Bar ( )
11- let init2 : Bat = . init( )
12- let init3 = Bat ( buz: " hello " , fuz: adder ( 2 , 3 ) )
13- static var init4 : Bar ? = Bar ( )
10+ let init1 = Bar ( )
11+ let init2 : Bat = . init( )
12+ let init3 = Bat ( buz: " hello " , fuz: adder ( 2 , 3 ) )
13+ static var init4 : Bar ? = Bar ( )
1414
15- let func1 : Int = adder ( 2 , 3 )
15+ let init5 = Hux ( )
16+ let init6 = Hux ( fuz: 42 )
17+
18+ let func1 : Int = adder ( 2 , 3 )
1619}
1720
1821extension Foo {
@@ -26,16 +29,19 @@ func adder(_ x: Int, _ y: Int) -> Int {
2629}
2730
2831public struct Bar { }
29- public struct Bat {
30- let buz : String
32+
33+ public class Bat {
34+ let buz : String ?
3135 let fuz : Int
3236
33- init ( buz: String = " " , fuz: Int = 0 ) {
37+ init ( buz: String ? = nil , fuz: Int = 0 ) {
3438 self . buz = buz
3539 self . fuz = fuz
3640 }
3741}
3842
43+ public class Hux : Bat { }
44+
3945// CHECK: [
4046// CHECK-NEXT: {
4147// CHECK-NEXT: "typeName": "ExtractCalls.Foo",
@@ -82,9 +88,8 @@ public struct Bat {
8288// CHECK-NEXT: "arguments": [
8389// CHECK-NEXT: {
8490// CHECK-NEXT: "label": "buz",
85- // CHECK-NEXT: "type": "Swift.String",
86- // CHECK-NEXT: "valueKind": "RawLiteral",
87- // CHECK-NEXT: "value": ""
91+ // CHECK-NEXT: "type": "Swift.Optional<Swift.String>",
92+ // CHECK-NEXT: "valueKind": "NilLiteral"
8893// CHECK-NEXT: },
8994// CHECK-NEXT: {
9095// CHECK-NEXT: "label": "fuz",
@@ -109,7 +114,7 @@ public struct Bat {
109114// CHECK-NEXT: "arguments": [
110115// CHECK-NEXT: {
111116// CHECK-NEXT: "label": "buz",
112- // CHECK-NEXT: "type": "Swift.String",
117+ // CHECK-NEXT: "type": "Swift.Optional<Swift. String> ",
113118// CHECK-NEXT: "valueKind": "RawLiteral",
114119// CHECK-NEXT: "value": "hello"
115120// CHECK-NEXT: },
@@ -139,13 +144,65 @@ public struct Bat {
139144// CHECK-NEXT: }
140145// CHECK-NEXT: },
141146// CHECK-NEXT: {
147+ // CHECK-NEXT: "label": "init5",
148+ // CHECK-NEXT: "type": "ExtractCalls.Hux",
149+ // CHECK-NEXT: "mangledTypeName": "n/a - deprecated",
150+ // CHECK-NEXT: "isStatic": "false",
151+ // CHECK-NEXT: "isComputed": "false",
152+ // CHECK-NEXT: "file": "{{.*}}test{{/|\\\\}}ConstExtraction{{/|\\\\}}ExtractCalls.swift",
153+ // CHECK-NEXT: "line": 15,
154+ // CHECK-NEXT: "valueKind": "InitCall",
155+ // CHECK-NEXT: "value": {
156+ // CHECK-NEXT: "type": "ExtractCalls.Hux",
157+ // CHECK-NEXT: "arguments": [
158+ // CHECK-NEXT: {
159+ // CHECK-NEXT: "label": "buz",
160+ // CHECK-NEXT: "type": "Swift.Optional<Swift.String>",
161+ // CHECK-NEXT: "valueKind": "NilLiteral"
162+ // CHECK-NEXT: },
163+ // CHECK-NEXT: {
164+ // CHECK-NEXT: "label": "fuz",
165+ // CHECK-NEXT: "type": "Swift.Int",
166+ // CHECK-NEXT: "valueKind": "RawLiteral",
167+ // CHECK-NEXT: "value": "0"
168+ // CHECK-NEXT: }
169+ // CHECK-NEXT: ]
170+ // CHECK-NEXT: }
171+ // CHECK-NEXT: },
172+ // CHECK-NEXT: {
173+ // CHECK-NEXT: "label": "init6",
174+ // CHECK-NEXT: "type": "ExtractCalls.Hux",
175+ // CHECK-NEXT: "mangledTypeName": "n/a - deprecated",
176+ // CHECK-NEXT: "isStatic": "false",
177+ // CHECK-NEXT: "isComputed": "false",
178+ // CHECK-NEXT: "file": "{{.*}}test{{/|\\\\}}ConstExtraction{{/|\\\\}}ExtractCalls.swift",
179+ // CHECK-NEXT: "line": 16,
180+ // CHECK-NEXT: "valueKind": "InitCall",
181+ // CHECK-NEXT: "value": {
182+ // CHECK-NEXT: "type": "ExtractCalls.Hux",
183+ // CHECK-NEXT: "arguments": [
184+ // CHECK-NEXT: {
185+ // CHECK-NEXT: "label": "buz",
186+ // CHECK-NEXT: "type": "Swift.Optional<Swift.String>",
187+ // CHECK-NEXT: "valueKind": "NilLiteral"
188+ // CHECK-NEXT: },
189+ // CHECK-NEXT: {
190+ // CHECK-NEXT: "label": "fuz",
191+ // CHECK-NEXT: "type": "Swift.Int",
192+ // CHECK-NEXT: "valueKind": "RawLiteral",
193+ // CHECK-NEXT: "value": "42"
194+ // CHECK-NEXT: }
195+ // CHECK-NEXT: ]
196+ // CHECK-NEXT: }
197+ // CHECK-NEXT: },
198+ // CHECK-NEXT: {
142199// CHECK-NEXT: "label": "func1",
143200// CHECK-NEXT: "type": "Swift.Int",
144201// CHECK-NEXT: "mangledTypeName": "n/a - deprecated",
145202// CHECK-NEXT: "isStatic": "false",
146203// CHECK-NEXT: "isComputed": "false",
147204// CHECK-NEXT: "file": "{{.*}}test{{/|\\\\}}ConstExtraction{{/|\\\\}}ExtractCalls.swift",
148- // CHECK-NEXT: "line": 15 ,
205+ // CHECK-NEXT: "line": 18 ,
149206// CHECK-NEXT: "valueKind": "FunctionCall",
150207// CHECK-NEXT: "value": {
151208// CHECK-NEXT: "name": "adder",
@@ -186,7 +243,7 @@ public struct Bat {
186243// CHECK-NEXT: "isStatic": "false",
187244// CHECK-NEXT: "isComputed": "true",
188245// CHECK-NEXT: "file": "{{.*}}test{{/|\\\\}}ConstExtraction{{/|\\\\}}ExtractCalls.swift",
189- // CHECK-NEXT: "line": 21 ,
246+ // CHECK-NEXT: "line": 24 ,
190247// CHECK-NEXT: "valueKind": "InitCall",
191248// CHECK-NEXT: "value": {
192249// CHECK-NEXT: "type": "ExtractCalls.Foo.Boo",
0 commit comments