File: Foo.annotated.txt

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (307 lines) | stat: -rw-r--r-- 17,961 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
<decl:Import>@_exported import <ref:module>Foo</ref>.<ref:module>FooSub</ref></decl>
<decl:Import>@_exported import <ref:module>FooHelper</ref></decl>


<decl:Struct>/// Aaa.  FooEnum1.  Bbb.
struct <loc>FooEnum1</loc> : <ref:Protocol>RawRepresentable</ref>, <ref:Protocol>Equatable</ref> {
  <decl:Constructor><loc>init(<decl:Param>_ rawValue: <ref:Struct>UInt32</ref></decl>)</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>rawValue: <ref:Struct>UInt32</ref></decl>)</loc></decl>
  <decl:Var>var <loc>rawValue</loc>: <ref:Struct>UInt32</ref></decl>
}</decl>

<decl:Var>/// Aaa.  FooEnum1X.  Bbb.
var <loc>FooEnum1X</loc>: <ref:Struct>FooEnum1</ref> { get }</decl>
<decl:Struct>struct <loc>FooEnum2</loc> : <ref:Protocol>RawRepresentable</ref>, <ref:Protocol>Equatable</ref> {
  <decl:Constructor><loc>init(<decl:Param>_ rawValue: <ref:Struct>UInt32</ref></decl>)</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>rawValue: <ref:Struct>UInt32</ref></decl>)</loc></decl>
  <decl:Var>var <loc>rawValue</loc>: <ref:Struct>UInt32</ref></decl>
}</decl>
<decl:Var>var <loc>FooEnum2X</loc>: <ref:Struct>FooEnum2</ref> { get }</decl>
<decl:Var>var <loc>FooEnum2Y</loc>: <ref:Struct>FooEnum2</ref> { get }</decl>
<decl:Struct>struct <loc>FooEnum3</loc> : <ref:Protocol>RawRepresentable</ref>, <ref:Protocol>Equatable</ref> {
  <decl:Constructor><loc>init(<decl:Param>_ rawValue: <ref:Struct>UInt32</ref></decl>)</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>rawValue: <ref:Struct>UInt32</ref></decl>)</loc></decl>
  <decl:Var>var <loc>rawValue</loc>: <ref:Struct>UInt32</ref></decl>
}</decl>
<decl:Var>var <loc>FooEnum3X</loc>: <ref:Struct>FooEnum3</ref> { get }</decl>
<decl:Var>var <loc>FooEnum3Y</loc>: <ref:Struct>FooEnum3</ref> { get }</decl>

<decl:Enum>/// Aaa.  FooComparisonResult.  Bbb.
enum <loc>FooComparisonResult</loc> : <ref:Struct>Int</ref> {
  <decl:Constructor><loc>init?(<decl:Param>rawValue: <ref:Struct>Int</ref></decl>)</loc></decl>
  <decl:Var>var <loc>rawValue</loc>: <ref:Struct>Int</ref> { get }</decl>
  <decl:EnumElement>case <loc>orderedAscending</loc></decl>
  <decl:EnumElement>case <loc>orderedSame</loc></decl>
  <decl:EnumElement>case <loc>orderedDescending</loc></decl>
}</decl>

<decl:Struct>/// Aaa.  FooRuncingOptions.  Bbb.
struct <loc>FooRuncingOptions</loc> : <ref:Protocol>OptionSet</ref> {
  <decl:Constructor><loc>init(<decl:Param>rawValue: <ref:Struct>Int</ref></decl>)</loc></decl>
  <decl:Var>let <loc>rawValue</loc>: <ref:Struct>Int</ref></decl>
  <decl:Var>static var <loc>enableMince</loc>: <ref:Struct>FooRuncingOptions</ref> { get }</decl>
  <decl:Var>static var <loc>enableQuince</loc>: <ref:Struct>FooRuncingOptions</ref> { get }</decl>
}</decl>
<decl:Struct>struct <loc>FooStruct1</loc> {
  <decl:Var>var <loc>x</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Var>var <loc>y</loc>: <ref:Struct>Double</ref></decl>
  <decl:Constructor><loc>init()</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>x: <ref:Struct>Int32</ref></decl>, <decl:Param>y: <ref:Struct>Double</ref></decl>)</loc></decl>
}</decl>
<decl:TypeAlias>typealias <loc>FooStruct1Pointer</loc> = <ref:Struct>UnsafeMutablePointer</ref><<ref:Struct>FooStruct1</ref>></decl>
<decl:Struct>struct <loc>FooStruct2</loc> {
  <decl:Var>var <loc>x</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Var>var <loc>y</loc>: <ref:Struct>Double</ref></decl>
  <decl:Constructor><loc>init()</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>x: <ref:Struct>Int32</ref></decl>, <decl:Param>y: <ref:Struct>Double</ref></decl>)</loc></decl>
}</decl>
<decl:TypeAlias>typealias <loc>FooStructTypedef1</loc> = <ref:Struct>FooStruct2</ref></decl>
<decl:Struct>struct <loc>FooStructTypedef2</loc> {
  <decl:Var>var <loc>x</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Var>var <loc>y</loc>: <ref:Struct>Double</ref></decl>
  <decl:Constructor><loc>init()</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>x: <ref:Struct>Int32</ref></decl>, <decl:Param>y: <ref:Struct>Double</ref></decl>)</loc></decl>
}</decl>

<decl:TypeAlias>/// Aaa.  FooTypedef1.  Bbb.
typealias <loc>FooTypedef1</loc> = <ref:Struct>Int32</ref></decl>

<decl:Var>/// Aaa.  fooIntVar.  Bbb.
var <loc>fooIntVar</loc>: <ref:Struct>Int32</ref></decl>

<decl:Func>/// Aaa.  fooFunc1.  Bbb.
func <loc>fooFunc1(<decl:Param>_ a: <ref:Struct>Int32</ref></decl>)</loc> -> <ref:Struct>Int32</ref></decl>
<decl:Func>func <loc>fooFunc1AnonymousParam(<decl:Param>_: <ref:Struct>Int32</ref></decl>)</loc> -> <ref:Struct>Int32</ref></decl>
<decl:Func>func <loc>fooFunc3(<decl:Param>_ a: <ref:Struct>Int32</ref></decl>, <decl:Param>_ b: <ref:Struct>Float</ref></decl>, <decl:Param>_ c: <ref:Struct>Double</ref></decl>, <decl:Param>_ d: <ref:Struct>UnsafeMutablePointer</ref><<ref:Struct>Int32</ref>>!</decl>)</loc> -> <ref:Struct>Int32</ref></decl>
<decl:Func>func <loc>fooFuncWithBlock(<decl:Param>_ blk: (@escaping (<ref:Struct>Float</ref>) -> <ref:Struct>Int32</ref>)!</decl>)</loc></decl>
<decl:Func>func <loc>fooFuncWithFunctionPointer(<decl:Param>_ fptr: (@escaping @convention(c) (<ref:Struct>Float</ref>) -> <ref:Struct>Int32</ref>)!</decl>)</loc></decl>
<decl:Func>func <loc>fooFuncNoreturn1()</loc> -> <ref:Enum>Never</ref></decl>
<decl:Func>func <loc>fooFuncNoreturn2()</loc> -> <ref:Enum>Never</ref></decl>

<decl:Func>/**
 * Aaa.  fooFuncWithComment1.  Bbb.
 * Ccc.
 *
 * Ddd.
 */
func <loc>fooFuncWithComment1()</loc></decl>

<decl:Func>/*!
  Aaa.  fooFuncWithComment2.  Bbb.
 */
func <loc>fooFuncWithComment2()</loc></decl>

<decl:Func>/**
 * Aaa.  fooFuncWithComment3.  Bbb.
 */
/**
 * Ccc.
 */
func <loc>fooFuncWithComment3()</loc></decl>

<decl:Func>/**
 * Aaa.  fooFuncWithComment4.  Bbb.
 */
/// Ddd.
func <loc>fooFuncWithComment4()</loc></decl>

<decl:Func>/// Aaa.  fooFuncWithComment5.  Bbb.
/// Ccc.
///
/// Ddd.
func <loc>fooFuncWithComment5()</loc></decl>

<decl:Func>/// Aaa.  redeclaredInMultipleModulesFunc1.  Bbb.
func <loc>redeclaredInMultipleModulesFunc1(<decl:Param>_ a: <ref:Struct>Int32</ref></decl>)</loc> -> <ref:Struct>Int32</ref></decl>
<decl:Func>@available(*, unavailable, message: "Variadic function is unavailable")
func <loc>fooFuncUsingVararg(<decl:Param>_ a: <ref:Struct>Int32</ref></decl>, <decl:Param>_ varargs: Any...</decl>)</loc> -> <ref:Struct>Int32</ref></decl>

<decl:Protocol>/// Aaa.  FooProtocolBase.  Bbb.
protocol <loc>FooProtocolBase</loc> {

  <decl:Func>/// Aaa.  fooProtoFunc.  Bbb.
  /// Ccc.
  func <loc>fooProtoFunc()</loc></decl>

  <decl:Func>/// Aaa.  fooProtoFuncWithExtraIndentation1.  Bbb.
  /// Ccc.
  func <loc>fooProtoFuncWithExtraIndentation1()</loc></decl>

  <decl:Func>/**
   * Aaa.  fooProtoFuncWithExtraIndentation2.  Bbb.
   * Ccc.
   */
  func <loc>fooProtoFuncWithExtraIndentation2()</loc></decl>
  <decl:Func>static func <loc>fooProtoClassFunc()</loc></decl>
  <decl:Var>var <loc>fooProperty1</loc>: <ref:Struct>Int32</ref> { get set }</decl>
  <decl:Var>var <loc>fooProperty2</loc>: <ref:Struct>Int32</ref> { get set }</decl>
  <decl:Var>var <loc>fooProperty3</loc>: <ref:Struct>Int32</ref> { get }</decl>
}</decl>
<decl:Protocol>protocol <loc>FooProtocolDerived</loc> : <ref:Protocol>FooProtocolBase</ref> {
}</decl>
<decl:Class>class <loc>FooClassBase</loc> {
  <decl:Func>class func <loc>fooBaseInstanceFunc0()</loc></decl>
  <decl:Func>func <loc>fooBaseInstanceFunc0()</loc></decl>
  <decl:Func>class func <loc>fooBaseInstanceFunc1(<decl:Param>_ anObject: <ref:Protocol>AnyObject</ref>!</decl>)</loc> -> <ref:Class>FooClassBase</ref>!</decl>
  <decl:Func>func <loc>fooBaseInstanceFunc1(<decl:Param>_ anObject: <ref:Protocol>AnyObject</ref>!</decl>)</loc> -> <ref:Class>FooClassBase</ref>!</decl>
  <decl:Constructor><loc>init!()</loc></decl>
  <decl:Constructor>convenience <loc>init!(<decl:Param>float f: <ref:Struct>Float</ref></decl>)</loc></decl>
  <decl:Func>class func <loc>fooBaseInstanceFuncOverridden()</loc></decl>
  <decl:Func>func <loc>fooBaseInstanceFuncOverridden()</loc></decl>
  <decl:Func>class func <loc>fooBaseClassFunc0()</loc></decl>
  <decl:Constructor>/*not inherited*/ <loc>init!(<decl:Param>_ x: <ref:Struct>Int32</ref></decl>)</loc></decl>
  <decl:Func>@available(*, unavailable, message: "use object construction 'FooClassBase(_:)'")
  class func <loc>fooClassBase(<decl:Param>_ x: <ref:Struct>Int32</ref></decl>)</loc> -> <ref:Class>FooClassBase</ref>!</decl>
}</decl>

<decl:Class>/// Aaa.  FooClassDerived.  Bbb.
class <loc>FooClassDerived</loc> : <ref:Class>FooClassBase</ref>, <ref:Protocol>FooProtocolDerived</ref> {
  <decl:Var>var <loc>fooProperty1</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Var>var <loc>fooProperty2</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Var>var <loc>fooProperty3</loc>: <ref:Struct>Int32</ref> { get }</decl>
  <decl:Func>func <loc>fooInstanceFunc0()</loc></decl>
  <decl:Func>func <loc>fooInstanceFunc1(<decl:Param>_ a: <ref:Struct>Int32</ref></decl>)</loc></decl>
  <decl:Func>func <loc>fooInstanceFunc2(<decl:Param>_ a: <ref:Struct>Int32</ref></decl>, <decl:Param>withB b: <ref:Struct>Int32</ref></decl>)</loc></decl>
  <decl:Func>func <loc>fooBaseInstanceFuncOverridden()</loc></decl>
  <decl:Func>class func <loc>fooClassFunc0()</loc></decl>
  <decl:Constructor><loc>init!()</loc></decl>
  <decl:Constructor>convenience <loc>init!(<decl:Param>float f: <ref:Struct>Float</ref></decl>)</loc></decl>

  <decl:Func>/// Aaa.  fooProtoFunc.  Bbb.
  /// Ccc.
  func <loc>fooProtoFunc()</loc></decl>

  <decl:Func>/// Aaa.  fooProtoFuncWithExtraIndentation1.  Bbb.
  /// Ccc.
  func <loc>fooProtoFuncWithExtraIndentation1()</loc></decl>

  <decl:Func>/**
   * Aaa.  fooProtoFuncWithExtraIndentation2.  Bbb.
   * Ccc.
   */
  func <loc>fooProtoFuncWithExtraIndentation2()</loc></decl>
  <decl:Func>class func <loc>fooProtoClassFunc()</loc></decl>
}</decl>
<decl:TypeAlias>typealias <loc>typedef_int_t</loc> = <ref:Struct>Int32</ref></decl>
<decl:Var>var <loc>FOO_MACRO_1</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_2</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_3</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_4</loc>: <ref:Struct>UInt32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_5</loc>: <ref:Struct>UInt64</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_6</loc>: <ref:TypeAlias>typedef_int_t</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_7</loc>: <ref:TypeAlias>typedef_int_t</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_8</loc>: <ref:Struct>Int8</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_9</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_10</loc>: <ref:Struct>Int16</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_11</loc>: <ref:Struct>Int</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_OR</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_AND</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_BITWIDTH</loc>: <ref:Struct>UInt64</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_SIGNED</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_REDEF_1</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Var>var <loc>FOO_MACRO_REDEF_2</loc>: <ref:Struct>Int32</ref> { get }</decl>
<decl:Func>func <loc>theLastDeclInFoo()</loc></decl>
<decl:Func>func <loc>_internalTopLevelFunc()</loc></decl>
<decl:Struct>struct <loc>_InternalStruct</loc> {
  <decl:Var>var <loc>x</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Constructor><loc>init()</loc></decl>
  <decl:Constructor><loc>init(<decl:Param>x: <ref:Struct>Int32</ref></decl>)</loc></decl>
}</decl>
<decl:Extension>extension <loc><ref:Class>FooClassBase</ref></loc> {
  <decl:Func>class func <loc>_internalMeth1()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Func>func <loc>_internalMeth1()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
}</decl>
<decl:Extension>extension <loc><ref:Class>FooClassBase</ref></loc> {
  <decl:Func>class func <loc>_internalMeth2()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Func>func <loc>_internalMeth2()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Func>class func <loc>nonInternalMeth()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Func>func <loc>nonInternalMeth()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
}</decl>
<decl:Extension>extension <loc><ref:Class>FooClassBase</ref></loc> {
  <decl:Func>class func <loc>_internalMeth3()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Func>func <loc>_internalMeth3()</loc> -> <ref:Protocol>AnyObject</ref>!</decl>
}</decl>
<decl:Protocol>protocol <loc>_InternalProt</loc> {
}</decl>
<decl:Class>class <loc>ClassWithInternalProt</loc> : <ref:Protocol>_InternalProt</ref> {
}</decl>
<decl:Class>class <loc>FooClassPropertyOwnership</loc> : <ref:Class>FooClassBase</ref> {
  <decl:Var>unowned(unsafe) var <loc>assignable</loc>: @sil_unmanaged <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>unowned(unsafe) var <loc>unsafeAssignable</loc>: @sil_unmanaged <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>var <loc>retainable</loc>: <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>var <loc>strongRef</loc>: <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>@NSCopying var <loc>copyable</loc>: <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>weak var <loc>weakRef</loc>: @sil_weak <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>var <loc>scalar</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Constructor><loc>init!()</loc></decl>
  <decl:Constructor>convenience <loc>init!(<decl:Param>float f: <ref:Struct>Float</ref></decl>)</loc></decl>
}</decl>
<decl:Class>class <loc>FooClassWithClassProperties</loc> : <ref:Class>FooClassBase</ref> {
  <decl:Var>unowned(unsafe) class var <loc>assignable</loc>: @sil_unmanaged <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>unowned(unsafe) class var <loc>unsafeAssignable</loc>: @sil_unmanaged <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>class var <loc>retainable</loc>: <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>class var <loc>strongRef</loc>: <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>@NSCopying class var <loc>copyable</loc>: <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>weak class var <loc>weakRef</loc>: @sil_weak <ref:Protocol>AnyObject</ref>!</decl>
  <decl:Var>class var <loc>scalar</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Constructor><loc>init!()</loc></decl>
  <decl:Constructor>convenience <loc>init!(<decl:Param>float f: <ref:Struct>Float</ref></decl>)</loc></decl>
}</decl>
<decl:Var>@available(*, unavailable, message: "use 'nil' instead of this imported macro")
var <loc>FOO_NIL</loc>: ()</decl>
<decl:Class>class <loc>FooUnavailableMembers</loc> : <ref:Class>FooClassBase</ref> {
  <decl:Constructor>convenience <loc>init!(<decl:Param>int i: <ref:Struct>Int32</ref></decl>)</loc></decl>
  <decl:Func>@available(*, unavailable, message: "use object construction 'FooUnavailableMembers(int:)'")
  class func <loc>withInt(<decl:Param>_ i: <ref:Struct>Int32</ref></decl>)</loc> -> <ref:Class>Self</ref>!</decl>
  <decl:Func>@available(*, unavailable, message: "x")
  func <loc>unavailable()</loc></decl>
  <decl:Func>@available(*, unavailable, message: "Not available in Swift")
  func <loc>swiftUnavailable()</loc></decl>
  <decl:Func>@available(*, deprecated, message: "x")
  func <loc>deprecated()</loc></decl>
  <decl:Func>@available(OSX 10.1, *)
  func <loc>availabilityIntroduced()</loc></decl>
  <decl:Func>@available(OSX, unavailable, deprecated: 10.1, message: "APIs deprecated as of OS X 10.9 and earlier are unavailable in Swift")
  func <loc>availabilityDeprecated()</loc></decl>
  <decl:Func>@available(OSX, obsoleted: 10.1)
  func <loc>availabilityObsoleted()</loc></decl>
  <decl:Func>@available(OSX, unavailable)
  func <loc>availabilityUnavailable()</loc></decl>
  <decl:Func>@available(OSX, introduced: 10.1, message: "x")
  func <loc>availabilityIntroducedMsg()</loc></decl>
  <decl:Func>@available(OSX, unavailable, deprecated: 10.1, message: "x")
  func <loc>availabilityDeprecatedMsg()</loc></decl>
  <decl:Func>@available(OSX, obsoleted: 10.1, message: "x")
  func <loc>availabilityObsoletedMsg()</loc></decl>
  <decl:Func>@available(OSX, unavailable, message: "x")
  func <loc>availabilityUnavailableMsg()</loc></decl>
  <decl:Constructor><loc>init!()</loc></decl>
  <decl:Constructor>convenience <loc>init!(<decl:Param>float f: <ref:Struct>Float</ref></decl>)</loc></decl>
}</decl>
<decl:Class>class <loc>FooCFType</loc> {
}</decl>
<decl:Func>@available(*, unavailable, message: "Core Foundation objects are automatically memory managed")
func <loc>FooCFTypeRelease(<decl:Param>_: <ref:Class>FooCFType</ref>!</decl>)</loc></decl>
<decl:Class>class <loc>FooRepeatedMembers</loc> : <ref:Class>FooClassBase</ref> {
  <decl:Func>func <loc>repeatedMethod()</loc></decl>
  <decl:Func>func <loc>anotherMethod()</loc></decl>
  <decl:Constructor><loc>init!()</loc></decl>
  <decl:Constructor>convenience <loc>init!(<decl:Param>float f: <ref:Struct>Float</ref></decl>)</loc></decl>
}</decl>
<decl:Extension>extension <loc><ref:Class>FooRepeatedMembers</ref></loc> {
  <decl:Var>var <loc>repeatedPropertyInCategory</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Func>func <loc>repeatedMethodInCategory()</loc></decl>
}</decl>
<decl:Extension>extension <loc><ref:Class>FooRepeatedMembers</ref></loc> {
  <decl:Var>var <loc>repeatedPropertyFromCategory</loc>: <ref:Struct>Int32</ref></decl>
  <decl:Func>func <loc>repeatedMethodFromCategory()</loc></decl>
}</decl>
<decl:Enum>enum <loc>SCNFilterMode</loc> : <ref:Struct>Int</ref> {
  <decl:Constructor><loc>init?(<decl:Param>rawValue: <ref:Struct>Int</ref></decl>)</loc></decl>
  <decl:Var>var <loc>rawValue</loc>: <ref:Struct>Int</ref> { get }</decl>
  <decl:EnumElement>case <loc>none</loc></decl>
  <decl:EnumElement>case <loc>nearest</loc></decl>
  <decl:EnumElement>case <loc>linear</loc></decl>
  <decl:EnumElement>@available(*, unavailable)
  case <loc>SCNNoFiltering</loc></decl>
}</decl>