1Name: SomeKit
2Classes:
3  - Name: A
4    Methods:
5      - Selector:        "transform:"
6        MethodKind:      Instance
7        Availability:    none
8        AvailabilityMsg: "anything but this"
9      - Selector: "transform:integer:"
10        MethodKind:      Instance
11        NullabilityOfRet: N
12        Nullability:      [ N, S ]
13      - Selector: "implicitGetOnlyInstance"
14        MethodKind:      Instance
15        Availability:    none
16        AvailabilityMsg: "getter gone"
17      - Selector: "implicitGetOnlyClass"
18        MethodKind:      Class
19        Availability:    none
20        AvailabilityMsg: "getter gone"
21      - Selector: "implicitGetSetInstance"
22        MethodKind:      Instance
23        Availability:    none
24        AvailabilityMsg: "getter gone"
25      - Selector: "implicitGetSetClass"
26        MethodKind:      Class
27        Availability:    none
28        AvailabilityMsg: "getter gone"
29      - Selector: "setImplicitGetSetInstance:"
30        MethodKind:      Instance
31        Availability:    none
32        AvailabilityMsg: "setter gone"
33      - Selector: "setImplicitGetSetClass:"
34        MethodKind:      Class
35        Availability:    none
36        AvailabilityMsg: "setter gone"
37    Properties:
38      - Name: intValue
39        PropertyKind:    Instance
40        Availability: none
41        AvailabilityMsg: "wouldn't work anyway"
42      - Name: nonnullAInstance
43        PropertyKind:    Instance
44        Nullability:     N
45      - Name: nonnullAClass
46        PropertyKind:    Class
47        Nullability:     N
48      - Name: nonnullABoth
49        Nullability:     N
50  - Name: B
51    Availability: none
52    AvailabilityMsg: "just don't"
53  - Name: C
54    Methods:
55      - Selector: "initWithA:"
56        MethodKind: Instance
57        DesignatedInit: true
58  - Name: OverriddenTypes
59    Methods:
60      - Selector: "methodToMangle:second:"
61        MethodKind: Instance
62        ResultType: 'char *'
63        Parameters:
64          - Position: 0
65            Type: 'SOMEKIT_DOUBLE *'
66          - Position: 1
67            Type: 'float *'
68    Properties:
69      - Name: intPropertyToMangle
70        PropertyKind: Instance
71        Type: 'double *'
72Functions:
73  - Name: global_int_fun
74    ResultType: 'char *'
75    Parameters:
76      - Position: 0
77        Type: 'double *'
78      - Position: 1
79        Type: 'float *'
80Globals:
81  - Name: global_int_ptr
82    Type: 'double (*)(int, int)'
83SwiftVersions:
84  - Version: 3.0
85    Classes:
86      - Name: A
87        Methods:
88          - Selector: "transform:integer:"
89            MethodKind:      Instance
90            NullabilityOfRet: O
91            Nullability:      [ O, S ]
92        Properties:
93          - Name: explicitNonnullInstance
94            PropertyKind:    Instance
95            Nullability:     O
96          - Name: explicitNullableInstance
97            PropertyKind:    Instance
98            Nullability:     N
99