Skip to content

Commit 71f010e

Browse files
authored
Merge pull request swiftlang#75516 from tbkka/tbkka-new-actor-reflection-test
New reflect_Actor test
2 parents e945c55 + 47de333 commit 71f010e

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// RUN: %empty-directory(%t)
2+
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Actor.swift
3+
// RUN: %target-codesign %t/reflect_Actor.swift
4+
5+
// RUN: %target-run %target-swift-reflection-test %t/reflect_Actor.swift | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
6+
7+
// REQUIRES: reflection_test_support
8+
// REQUIRES: executable_test
9+
// UNSUPPORTED: use_os_stdlib
10+
11+
import SwiftReflectionTest
12+
13+
@available(SwiftStdlib 5.1, *)
14+
actor MyActor {
15+
var i: Int
16+
init() { i = 1 }
17+
}
18+
19+
if #available(SwiftStdlib 5.1, *) {
20+
let actor = MyActor()
21+
reflect(object: actor)
22+
}
23+
24+
// CHECK-64: Reflecting an object.
25+
// CHECK-64-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
26+
// CHECK-64-NEXT: Type reference:
27+
// CHECK-64-NEXT: (class reflect_Actor.MyActor)
28+
29+
// CHECK-64: Type info:
30+
// CHECK-64-NEXT: (class_instance size=120 alignment=16 stride=128 num_extra_inhabitants=0 bitwise_takable=1
31+
// CHECK-64-NEXT: (field name=$defaultActor offset=16
32+
// CHECK-64-NEXT: (builtin size=96 alignment=16 stride=96 num_extra_inhabitants=0 bitwise_takable=1))
33+
// CHECK-64-NEXT: (field name=i offset=112
34+
// CHECK-64-NEXT: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1
35+
// CHECK-64-NEXT: (field name=_value offset=0
36+
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0 bitwise_takable=1)))))
37+
38+
// CHECK-32: Reflecting an object.
39+
// CHECK-32-NEXT: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
40+
// CHECK-32-NEXT: Type reference:
41+
// CHECK-32-NEXT: (class reflect_Actor.MyActor)
42+
43+
// CHECK-32: Type info:
44+
// FIXME: actual 32-bit layout here
45+
46+
doneReflecting()
47+
48+
// CHECK-64: Done.
49+
50+
// CHECK-32: Done.

0 commit comments

Comments
 (0)