Runtime icon indicating copy to clipboard operation
Runtime copied to clipboard

Is it possible to get the enum case values/payloads?

Open blacktop opened this issue 3 years ago • 1 comments

enum MyEnum: String {
    case A = "test"
    case B
    case C
}

struct Name {
    var a: MyEnum
    var b: MyEnum
}

Name(a: .A, b: .B)
let info = try! typeInfo(of: MyEnum.self)
print(info)

TypeInfo(kind: Runtime.Kind.enum, name: "MyEnum", type: SwiftDump.MyEnum, mangledName: "MyEnum", properties: [], inheritance: [], size: 1, alignment: 1, stride: 1, cases: [Runtime.Case(name: "A", payloadType: nil), Runtime.Case(name: "B", payloadType: nil), Runtime.Case(name: "C", payloadType: nil)], numberOfEnumCases: 3, numberOfPayloadEnumCases: 0, genericTypes: [])

This is probably just a misunderstanding of mine, but I thought the payload for the A case would be "test"?

blacktop avatar Sep 12 '22 03:09 blacktop

Also is it possible to get the struct funcs via reflection in this example?

struct E<T> {
  var x : Int
  func foo() { bar() }
  func bar() {}
}

blacktop avatar Sep 12 '22 03:09 blacktop