@@ -93,7 +93,7 @@ struct Outer2 {
93
93
}
94
94
}
95
95
96
- reflect ( enum: Outer2 . E < S1 > . Inner . F < S2 > . b )
96
+ reflect ( enum: Outer2 . E< S1> . Inner . F < S2 > . u ( S2 ( ) ) )
97
97
98
98
//CHECK: Reflecting an enum.
99
99
//CHECK-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
@@ -115,9 +115,128 @@ reflect(enum: Outer2.E<S1>.Inner.F<S2>.b)
115
115
//CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S1V_AA2S2VG
116
116
//CHECK-NEXT: Demangled name: reflect_nested_generic.Outer2.E<reflect_nested_generic.S1>.F<reflect_nested_generic.S2>
117
117
118
+ //CHECK: Enum value:
119
+ //CHECK-NEXT: (enum_value name=u index=0
120
+ //CHECK-NEXT: (struct reflect_nested_generic.S2)
121
+ //CHECK-NEXT: )
122
+
123
+ reflect ( enum: Outer2 . E < S1 > . Inner . F < S2 > . b)
124
+
125
+ //CHECK: Reflecting an enum.
126
+ //CHECK: Type info:
127
+ //CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S1V_AA2S2VG
128
+
118
129
//CHECK: Enum value:
119
130
//CHECK-NEXT: (enum_value name=b index=2)
120
131
132
+ reflect ( enum: Outer2 . E < S1 > . Inner . F < S2 > . b as Outer2 . E < S1 > . Inner . F < S2 > ?? )
133
+
134
+ //CHECK: Reflecting an enum.
135
+ //CHECK: Type info:
136
+ //CHECK-NEXT: (single_payload_enum size=3 alignment=1 stride=3 num_extra_inhabitants=0 bitwise_takable=1
137
+ //CHECK-NEXT: (case name=some index=0 offset=0
138
+ //CHECK-NEXT: (single_payload_enum size=2 alignment=1 stride=2 num_extra_inhabitants=0 bitwise_takable=1
139
+ //CHECK-NEXT: (case name=some index=0 offset=0
140
+ //CHECK-NEXT: (single_payload_enum size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1
141
+ //CHECK-NEXT: (case name=u index=0 offset=0
142
+ //CHECK-NEXT: (struct size=0 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))
143
+ //CHECK-NEXT: (case name=a index=1)
144
+ //CHECK-NEXT: (case name=b index=2)))
145
+ //CHECK-NEXT: (case name=none index=1)))
146
+ //CHECK-NEXT: (case name=none index=1))
147
+
148
+ //CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S1V_AA2S2VGSgSg
149
+ //CHECK-NEXT: Demangled name: Swift.Optional<Swift.Optional<reflect_nested_generic.Outer2.E<reflect_nested_generic.S1>.F<reflect_nested_generic.S2>>>
150
+
151
+ //CHECK: Enum value:
152
+ //CHECK-NEXT: (enum_value name=some index=0
153
+ //CHECK-NEXT: (bound_generic_enum Swift.Optional
154
+ //CHECK-NEXT: (bound_generic_enum reflect_nested_generic.Outer2.E.Inner.F
155
+ //CHECK-NEXT: (struct reflect_nested_generic.S2)
156
+ //CHECK-NEXT: (bound_generic_enum reflect_nested_generic.Outer2.E
157
+ //CHECK-NEXT: (struct reflect_nested_generic.S1))))
158
+ //CHECK-NEXT: )
159
+
160
+ reflect ( enum: Outer2 . E < S1 > . Inner. F< S2>?? . none)
161
+
162
+ //CHECK: Reflecting an enum.
163
+ //CHECK: Type info:
164
+ //CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S1V_AA2S2VGSgSg
165
+ //CHECK: Demangled name: Swift.Optional<Swift.Optional<reflect_nested_generic.Outer2.E<reflect_nested_generic.S1>.F<reflect_nested_generic.S2>>>
166
+
167
+ //CHECK: Enum value:
168
+ //CHECK-NEXT: (enum_value name=none index=1)
169
+
170
+ struct S3 : P { var a : UInt8 = 0 }
171
+
172
+ reflect ( enum: Outer2 . E< S2> . Inner. F< S3> . u( S3 ( ) ) )
173
+
174
+ //CHECK: Reflecting an enum.
175
+ //CHECK-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
176
+
177
+ //CHECK: Type reference:
178
+ //CHECK-NEXT: (bound_generic_enum reflect_nested_generic.Outer2.E.Inner.F
179
+ //CHECK-NEXT: (struct reflect_nested_generic.S3)
180
+ //CHECK-NEXT: (bound_generic_enum reflect_nested_generic.Outer2.E
181
+ //CHECK-NEXT: (struct reflect_nested_generic.S2)))
182
+
183
+ //CHECK: Type info:
184
+ //CHECK-NEXT: (single_payload_enum size=2 alignment=1 stride=2 num_extra_inhabitants=0 bitwise_takable=1
185
+ //CHECK-NEXT: (case name=u index=0 offset=0
186
+ //CHECK-NEXT: (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1
187
+ //CHECK-NEXT: (field name=a offset=0
188
+ //CHECK-NEXT: (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1
189
+ //CHECK-NEXT: (field name=_value offset=0
190
+ //CHECK-NEXT: (builtin size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))))
191
+ //CHECK-NEXT: (case name=a index=1)
192
+ //CHECK-NEXT: (case name=b index=2))
193
+
194
+ //CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S2V_AA2S3VG
195
+ //CHECK-NEXT: Demangled name: reflect_nested_generic.Outer2.E<reflect_nested_generic.S2>.F<reflect_nested_generic.S3>
196
+
197
+ //CHECK: Enum value:
198
+ //CHECK-NEXT: (enum_value name=u index=0
199
+ //CHECK-NEXT: (struct reflect_nested_generic.S3)
200
+ //CHECK-NEXT: )
201
+
202
+
203
+ reflect ( enum: Outer2 . E < S2 > . Inner . F < S3 > . b)
204
+
205
+ //CHECK: Reflecting an enum.
206
+ //CHECK: Type reference:
207
+ //CHECK: Type info:
208
+ //CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S2V_AA2S3VG
209
+
210
+ //CHECK: Enum value:
211
+ //CHECK-NEXT: (enum_value name=b index=2)
212
+
213
+ reflect ( enum: Outer2 . E < S2 > . Inner. F< S3>?? . none)
214
+
215
+ //CHECK: Reflecting an enum.
216
+ //CHECK: Type reference:
217
+ //CHECK: Type info:
218
+ //CHECK-NEXT: (single_payload_enum size=4 alignment=1 stride=4 num_extra_inhabitants=0 bitwise_takable=1
219
+ //CHECK-NEXT: (case name=some index=0 offset=0
220
+ //CHECK-NEXT: (single_payload_enum size=3 alignment=1 stride=3 num_extra_inhabitants=0 bitwise_takable=1
221
+ //CHECK-NEXT: (case name=some index=0 offset=0
222
+ //CHECK-NEXT: (single_payload_enum size=2 alignment=1 stride=2 num_extra_inhabitants=0 bitwise_takable=1
223
+ //CHECK-NEXT: (case name=u index=0 offset=0
224
+ //CHECK-NEXT: (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1
225
+ //CHECK-NEXT: (field name=a offset=0
226
+ //CHECK-NEXT: (struct size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1
227
+ //CHECK-NEXT: (field name=_value offset=0
228
+ //CHECK-NEXT: (builtin size=1 alignment=1 stride=1 num_extra_inhabitants=0 bitwise_takable=1))))))
229
+ //CHECK-NEXT: (case name=a index=1)
230
+ //CHECK-NEXT: (case name=b index=2)))
231
+ //CHECK-NEXT: (case name=none index=1)))
232
+ //CHECK-NEXT: (case name=none index=1))
233
+
234
+ //CHECK: Mangled name: $s22reflect_nested_generic6Outer2V1EO1FOy_AA2S2V_AA2S3VGSgSg
235
+ //CHECK: Demangled name: Swift.Optional<Swift.Optional<reflect_nested_generic.Outer2.E<reflect_nested_generic.S2>.F<reflect_nested_generic.S3>>>
236
+
237
+ //CHECK: Enum value:
238
+ //CHECK-NEXT: (enum_value name=none index=1)
239
+
121
240
reflect ( enum: Outer2 . E < S1 > . Inner . F < S2 > . Innerer? . none)
122
241
123
242
//CHECK: Reflecting an enum.
0 commit comments