Skip to content

Commit 38e9af4

Browse files
committed
Move some tests into our testsuite and various other fixes
1 parent aa6ef50 commit 38e9af4

File tree

23 files changed

+420
-538
lines changed

23 files changed

+420
-538
lines changed

stdlib/public/Reflection/Package.swift

Lines changed: 0 additions & 77 deletions
This file was deleted.

stdlib/public/Reflection/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

stdlib/public/Reflection/Sources/Reflection/Case.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,19 @@ public struct Case {
2929

3030
@inlinable
3131
public init?(from instance: Any) {
32-
guard Type(instance).isEnum else {
32+
let instanceTy = type(of: instance)
33+
34+
guard Type(instanceTy).isEnum else {
3335
return nil
3436
}
3537

3638
var container = unsafeBitCast(instance, to: AnyExistentialContainer.self)
3739

3840
let tag = container.projectValue {
39-
Metadata(type(of: instance)).enum.enumVWT.getEnumTag($0)
41+
Metadata(instanceTy).enum.enumVWT.getEnumTag($0)
4042
}
4143

42-
self.parent = Metadata(type(of: instance)).enum
44+
self.parent = Metadata(instanceTy).enum
4345
self.tag = Int(truncatingIfNeeded: tag)
4446
}
4547
}

stdlib/public/Reflection/Sources/Reflection/Field.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ extension Field {
4242
@inlinable
4343
public var name: String {
4444
guard parent.kind != .tuple else {
45-
//return TupleMetadata(parent.ptr).elements[index].
46-
return "hello"
45+
return parent.tuple.elements[index].label
4746
}
4847

4948
return parent.type.descriptor.fields[index].name

stdlib/public/Reflection/Sources/_Runtime/Metadata/ValueWitnessTable.swift

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ extension ValueWitnessTable {
128128
_ dest: UnsafeMutableRawPointer,
129129
_ src: UnsafeRawPointer
130130
) -> UnsafeMutableRawPointer {
131-
let address = layout.raw
131+
let address = address(for: \.initializeBufferWithCopyOfBuffer)
132132

133133
return address.signedVWTInitializeBufferWithCopyOfBuffer(
134134
dest,
@@ -139,17 +139,7 @@ extension ValueWitnessTable {
139139

140140
@inlinable
141141
public func destroy(_ src: UnsafeMutableRawPointer) {
142-
// rdar://103834325
143-
// FIXME: There's currently a compiler bug preventing me from doing:
144-
// 'address(of: \.destroy)'
145-
// or even
146-
// 'MemoryLayout<ValueWitnessTable.Layout.Pointee>.offset(of: \.destroy)'
147-
//
148-
// The same goes for everything else in this file
149-
let address = layout.raw
150-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
151-
152-
address.signedVWTDestroy(src, trailing)
142+
address(for: \.destroy).signedVWTDestroy(src, trailing)
153143
}
154144

155145
@inlinable
@@ -158,9 +148,7 @@ extension ValueWitnessTable {
158148
_ dest: UnsafeMutableRawPointer,
159149
_ src: UnsafeRawPointer
160150
) -> UnsafeMutableRawPointer {
161-
let address = layout.raw
162-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
163-
+ MemoryLayout<Destroy>.size
151+
let address = address(for: \.initializeWithCopy)
164152

165153
return address.signedVWTInitializeWithCopy(dest, src, trailing)
166154
}
@@ -171,10 +159,7 @@ extension ValueWitnessTable {
171159
_ dest: UnsafeMutableRawPointer,
172160
_ src: UnsafeRawPointer
173161
) -> UnsafeMutableRawPointer {
174-
let address = layout.raw
175-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
176-
+ MemoryLayout<Destroy>.size
177-
+ MemoryLayout<InitializeWithCopy>.size
162+
let address = address(for: \.assignWithCopy)
178163

179164
return address.signedVWTAssignWithCopy(dest, src, trailing)
180165
}
@@ -185,11 +170,7 @@ extension ValueWitnessTable {
185170
_ dest: UnsafeMutableRawPointer,
186171
_ src: UnsafeMutableRawPointer
187172
) -> UnsafeMutableRawPointer {
188-
let address = layout.raw
189-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
190-
+ MemoryLayout<Destroy>.size
191-
+ MemoryLayout<InitializeWithCopy>.size
192-
+ MemoryLayout<AssignWithCopy>.size
173+
let address = address(for: \.initializeWithTake)
193174

194175
return address.signedVWTInitializeWithTake(dest, src, trailing)
195176
}
@@ -200,12 +181,7 @@ extension ValueWitnessTable {
200181
_ dest: UnsafeMutableRawPointer,
201182
_ src: UnsafeMutableRawPointer
202183
) -> UnsafeMutableRawPointer {
203-
let address = layout.raw
204-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
205-
+ MemoryLayout<Destroy>.size
206-
+ MemoryLayout<InitializeWithCopy>.size
207-
+ MemoryLayout<AssignWithCopy>.size
208-
+ MemoryLayout<InitializeWithTake>.size
184+
let address = address(for: \.assignWithTake)
209185

210186
return address.signedVWTAssignWithTake(dest, src, trailing)
211187
}
@@ -216,13 +192,7 @@ extension ValueWitnessTable {
216192
_ src: UnsafeRawPointer,
217193
_ numberOfEmptyCases: UInt32
218194
) -> UInt32 {
219-
let address = layout.raw
220-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
221-
+ MemoryLayout<Destroy>.size
222-
+ MemoryLayout<InitializeWithCopy>.size
223-
+ MemoryLayout<AssignWithCopy>.size
224-
+ MemoryLayout<InitializeWithTake>.size
225-
+ MemoryLayout<AssignWithTake>.size
195+
let address = address(for: \.getEnumTagSinglePayload)
226196

227197
return address.signedVWTGetEnumTagSinglePayload(
228198
src,
@@ -237,14 +207,7 @@ extension ValueWitnessTable {
237207
_ tag: UInt32,
238208
_ numberOfEmptyCases: UInt32
239209
) -> () {
240-
let address = layout.raw
241-
+ MemoryLayout<InitializeBufferWithCopyOfBuffer>.size
242-
+ MemoryLayout<Destroy>.size
243-
+ MemoryLayout<InitializeWithCopy>.size
244-
+ MemoryLayout<AssignWithCopy>.size
245-
+ MemoryLayout<InitializeWithTake>.size
246-
+ MemoryLayout<AssignWithTake>.size
247-
+ MemoryLayout<GetEnumTagSinglePayload>.size
210+
let address = address(for: \.storeEnumTagSinglePayload)
248211

249212
return address.signedVWTStoreEnumTagSinglePayload(
250213
src,

stdlib/public/Reflection/Sources/_Runtime/Utils/Lock.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ class Lock<T> {
4343
UnsafeRawPointer.self
4444
)
4545

46+
lock.value = initialValue
47+
4648
_lockInit(lock.mutex)
4749

4850
return lock

stdlib/public/Reflection/Sources/_SwiftRuntimeShims/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

stdlib/public/Reflection/Tests/ReflectionTests/ReflectionTests.swift

Lines changed: 0 additions & 3 deletions
This file was deleted.

stdlib/public/Reflection/Tests/RuntimeTests/ContextDescriptor/StructDescriptor.swift

Lines changed: 0 additions & 31 deletions
This file was deleted.

stdlib/public/Reflection/Tests/RuntimeTests/Metadata/EnumMetadata.swift

Lines changed: 0 additions & 29 deletions
This file was deleted.

stdlib/public/Reflection/Tests/RuntimeTests/Metadata/Metadata.swift

Lines changed: 0 additions & 42 deletions
This file was deleted.

stdlib/public/Reflection/Tests/RuntimeTests/Metadata/MetatypeMetadata.swift

Lines changed: 0 additions & 11 deletions
This file was deleted.

stdlib/public/Reflection/Tests/RuntimeTests/Metadata/StructMetadata.swift

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)