blob: 93d20c39811136fc07afd044fe2e3ca22661d9d2 [file] [log] [blame]
{
"kind": "Root",
"name": "TopLevel",
"printedName": "TopLevel",
"children": [
{
"kind": "TypeDecl",
"name": "P1",
"printedName": "P1",
"declKind": "Protocol",
"usr": "s:4cake2P1P",
"location": "",
"moduleName": "cake"
},
{
"kind": "TypeDecl",
"name": "P2",
"printedName": "P2",
"declKind": "Protocol",
"usr": "s:4cake2P2P",
"location": "",
"moduleName": "cake"
},
{
"kind": "TypeDecl",
"name": "S1",
"printedName": "S1",
"declKind": "Struct",
"usr": "s:4cake2S1V",
"location": "",
"moduleName": "cake",
"conformingProtocols": [
"P1",
"P2"
],
"declAttributes": [
"FixedLayout"
],
"children": [
{
"kind": "Function",
"name": "foo1",
"printedName": "foo1()",
"declKind": "Func",
"usr": "s:4cake2S1V4foo1yyFZ",
"location": "",
"moduleName": "cake",
"static": true,
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Function",
"name": "foo2",
"printedName": "foo2()",
"declKind": "Func",
"usr": "s:4cake2S1V4foo2yyF",
"location": "",
"moduleName": "cake",
"mutating": true,
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Function",
"name": "foo6",
"printedName": "foo6()",
"declKind": "Func",
"usr": "s:4cake2S1V4foo6yyF",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Constructor",
"name": "init",
"printedName": "init()",
"declKind": "Constructor",
"usr": "s:4cake2S1VACycfc",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "S1",
"printedName": "S1",
"usr": "s:4cake2S1V"
}
]
}
]
},
{
"kind": "TypeDecl",
"name": "C0",
"printedName": "C0",
"declKind": "Class",
"usr": "s:4cake2C0C",
"location": "",
"moduleName": "cake",
"genericSig": "<τ_0_0, τ_0_1, τ_0_2>",
"children": [
{
"kind": "Constructor",
"name": "init",
"printedName": "init()",
"declKind": "Constructor",
"usr": "s:4cake2C0CACyxq_q0_Gycfc",
"location": "",
"moduleName": "cake",
"genericSig": "<τ_0_0, τ_0_1, τ_0_2>",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "C0",
"printedName": "C0<τ_0_0, τ_0_1, τ_0_2>",
"usr": "s:4cake2C0C",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_0"
},
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_1"
},
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "τ_0_2"
}
]
}
]
},
{
"kind": "Function",
"name": "conditionalFooExt",
"printedName": "conditionalFooExt()",
"declKind": "Func",
"usr": "s:4cake2C0CA2A2S1VRszAERs_AERs0_rlE17conditionalFooExtyyF",
"location": "",
"moduleName": "cake",
"genericSig": "<τ_0_0, τ_0_1, τ_0_2 where τ_0_0 == S1, τ_0_1 == S1, τ_0_2 == S1>",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Function",
"name": "unconditionalFooExt",
"printedName": "unconditionalFooExt()",
"declKind": "Func",
"usr": "s:4cake2C0C19unconditionalFooExtyyF",
"location": "",
"moduleName": "cake",
"genericSig": "<τ_0_0, τ_0_1, τ_0_2>",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
}
]
},
{
"kind": "TypeDecl",
"name": "C1",
"printedName": "C1",
"declKind": "Class",
"usr": "s:4cake2C1C",
"location": "",
"moduleName": "cake",
"superclassUsr": "s:4cake2C0C",
"children": [
{
"kind": "Function",
"name": "foo1",
"printedName": "foo1()",
"declKind": "Func",
"usr": "s:4cake2C1C4foo1yyFZ",
"location": "",
"moduleName": "cake",
"static": true,
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Var",
"name": "Ins",
"printedName": "Ins",
"declKind": "Var",
"usr": "s:4cake2C1C3InsACSgXwvp",
"location": "",
"moduleName": "cake",
"declAttributes": [
"HasInitialValue",
"ReferenceOwnership"
],
"ownership": 1,
"children": [
{
"kind": "TypeNominal",
"name": "WeakStorage",
"printedName": "Optional<C1>"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake2C1C3InsACSgXwvg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Optional",
"printedName": "Optional<C1>",
"usr": "s:Sq",
"children": [
{
"kind": "TypeNominal",
"name": "C1",
"printedName": "C1",
"usr": "s:4cake2C1C"
}
]
}
]
},
{
"kind": "Setter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake2C1C3InsACSgXwvs",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Optional",
"printedName": "Optional<C1>",
"usr": "s:Sq",
"children": [
{
"kind": "TypeNominal",
"name": "C1",
"printedName": "C1",
"usr": "s:4cake2C1C"
}
]
}
]
}
]
},
{
"kind": "Var",
"name": "Ins2",
"printedName": "Ins2",
"declKind": "Var",
"usr": "s:4cake2C1C4Ins2ACXovp",
"location": "",
"moduleName": "cake",
"declAttributes": [
"HasInitialValue",
"ReferenceOwnership"
],
"ownership": 2,
"children": [
{
"kind": "TypeNominal",
"name": "UnownedStorage",
"printedName": "C1"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake2C1C4Ins2ACXovg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "C1",
"printedName": "C1",
"usr": "s:4cake2C1C"
}
]
},
{
"kind": "Setter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake2C1C4Ins2ACXovs",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "C1",
"printedName": "C1",
"usr": "s:4cake2C1C"
}
]
}
]
},
{
"kind": "Constructor",
"name": "init",
"printedName": "init()",
"declKind": "Constructor",
"usr": "s:4cake2C1CACycfc",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "C1",
"printedName": "C1",
"usr": "s:4cake2C1C"
}
]
}
]
},
{
"kind": "Function",
"name": "foo1",
"printedName": "foo1(_:b:)",
"declKind": "Func",
"usr": "s:4cake4foo1_1bySi_AA2S1VtF",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"hasDefaultArg": true,
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "S1",
"printedName": "S1",
"usr": "s:4cake2S1V"
}
]
},
{
"kind": "Function",
"name": "foo2",
"printedName": "foo2(_:b:)",
"declKind": "Func",
"usr": "s:4cake4foo2_1bySi_AA2S1VtF",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"hasDefaultArg": true,
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "S1",
"printedName": "S1",
"usr": "s:4cake2S1V"
}
]
},
{
"kind": "TypeDecl",
"name": "Number",
"printedName": "Number",
"declKind": "Enum",
"usr": "s:4cake6NumberO",
"location": "",
"moduleName": "cake",
"conformingProtocols": [
"Equatable",
"Hashable",
"RawRepresentable"
],
"enumRawTypeName": "Int",
"children": [
{
"kind": "Var",
"name": "one",
"printedName": "one",
"declKind": "EnumElement",
"usr": "s:4cake6NumberO3oneyA2CmF",
"location": "",
"moduleName": "cake",
"fixedbinaryorder": 0,
"children": [
{
"kind": "TypeFunc",
"name": "Function",
"printedName": "(Number.Type) -> Number",
"children": [
{
"kind": "TypeNominal",
"name": "Number",
"printedName": "Number",
"usr": "s:4cake6NumberO"
},
{
"kind": "TypeNominal",
"name": "Metatype",
"printedName": "Number.Type",
"children": [
{
"kind": "TypeNominal",
"name": "Number",
"printedName": "Number",
"usr": "s:4cake6NumberO"
}
]
}
]
}
]
},
{
"kind": "TypeAlias",
"name": "RawValue",
"printedName": "RawValue",
"declKind": "TypeAlias",
"usr": "s:4cake6NumberO8RawValuea",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Var",
"name": "hashValue",
"printedName": "hashValue",
"declKind": "Var",
"usr": "s:4cake6NumberO9hashValueSivp",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake6NumberO9hashValueSivg",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
},
{
"kind": "Function",
"name": "hash",
"printedName": "hash(into:)",
"declKind": "Func",
"usr": "s:4cake6NumberO4hash4intoys6HasherVz_tF",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Hasher",
"printedName": "Hasher",
"usr": "s:s6HasherV"
}
]
},
{
"kind": "Constructor",
"name": "init",
"printedName": "init(rawValue:)",
"declKind": "Constructor",
"usr": "s:4cake6NumberO8rawValueACSgSi_tcfc",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Inlinable"
],
"children": [
{
"kind": "TypeNominal",
"name": "Optional",
"printedName": "Optional<Number>",
"usr": "s:Sq",
"children": [
{
"kind": "TypeNominal",
"name": "Number",
"printedName": "Number",
"usr": "s:4cake6NumberO"
}
]
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Var",
"name": "rawValue",
"printedName": "rawValue",
"declKind": "Var",
"usr": "s:4cake6NumberO8rawValueSivp",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake6NumberO8rawValueSivg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Inlinable"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
}
]
},
{
"kind": "Function",
"name": "foo3",
"printedName": "foo3(_:)",
"declKind": "Func",
"usr": "s:4cake4foo3yySDySiSSGF",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Dictionary",
"printedName": "Dictionary<Int, String>",
"usr": "s:SD",
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "String",
"printedName": "String",
"usr": "s:SS"
}
]
}
]
},
{
"kind": "TypeDecl",
"name": "fixedLayoutStruct",
"printedName": "fixedLayoutStruct",
"declKind": "Struct",
"usr": "s:4cake17fixedLayoutStructV",
"location": "",
"moduleName": "cake",
"declAttributes": [
"FixedLayout"
],
"children": [
{
"kind": "Var",
"name": "a",
"printedName": "a",
"declKind": "Var",
"usr": "s:4cake17fixedLayoutStructV1aSivp",
"location": "",
"moduleName": "cake",
"fixedbinaryorder": 0,
"declAttributes": [
"HasInitialValue"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake17fixedLayoutStructV1aSivg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Setter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake17fixedLayoutStructV1aSivs",
"location": "",
"moduleName": "cake",
"implicit": true,
"mutating": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
},
{
"kind": "Var",
"name": "b",
"printedName": "b",
"declKind": "Var",
"usr": "s:4cake17fixedLayoutStructV1b33_3D8926C30F7417F2EF9A277D0C73FBDBLLSivp",
"location": "",
"moduleName": "cake",
"fixedbinaryorder": 1,
"declAttributes": [
"HasInitialValue"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake17fixedLayoutStructV1b33_3D8926C30F7417F2EF9A277D0C73FBDBLLSivg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Setter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake17fixedLayoutStructV1b33_3D8926C30F7417F2EF9A277D0C73FBDBLLSivs",
"location": "",
"moduleName": "cake",
"implicit": true,
"mutating": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
},
{
"kind": "Var",
"name": "c",
"printedName": "c",
"declKind": "Var",
"usr": "s:4cake17fixedLayoutStructV1cSivp",
"location": "",
"moduleName": "cake",
"fixedbinaryorder": 2,
"declAttributes": [
"HasInitialValue"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake17fixedLayoutStructV1cSivg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Setter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake17fixedLayoutStructV1cSivs",
"location": "",
"moduleName": "cake",
"implicit": true,
"mutating": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
},
{
"kind": "Constructor",
"name": "init",
"printedName": "init(a:b:c:)",
"declKind": "Constructor",
"usr": "s:4cake17fixedLayoutStructV1a1b1cACSi_S2itc33_3D8926C30F7417F2EF9A277D0C73FBDBLlfc",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "fixedLayoutStruct",
"printedName": "fixedLayoutStruct",
"usr": "s:4cake17fixedLayoutStructV"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Constructor",
"name": "init",
"printedName": "init()",
"declKind": "Constructor",
"usr": "s:4cake17fixedLayoutStructVACycfc",
"location": "",
"moduleName": "cake",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "fixedLayoutStruct",
"printedName": "fixedLayoutStruct",
"usr": "s:4cake17fixedLayoutStructV"
}
]
}
]
},
{
"kind": "TypeDecl",
"name": "Int",
"printedName": "Int",
"declKind": "Struct",
"usr": "s:Si",
"location": "",
"moduleName": "Swift",
"conformingProtocols": [
"Comparable",
"SignedInteger",
"_ExpressibleByBuiltinIntegerLiteral",
"BinaryInteger",
"LosslessStringConvertible",
"SignedNumeric",
"Numeric",
"CustomStringConvertible",
"Strideable",
"ExpressibleByIntegerLiteral",
"FixedWidthInteger",
"P1",
"Encodable",
"Decodable",
"Hashable",
"Equatable",
"_HasCustomAnyHashableRepresentation",
"CustomReflectable",
"_CustomPlaygroundQuickLookable",
"MirrorPath",
"CVarArg"
],
"declAttributes": [
"FixedLayout"
],
"children": [
{
"kind": "Function",
"name": "foo",
"printedName": "foo()",
"declKind": "Func",
"usr": "s:Si4cakeE3fooyyF",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Function",
"name": "bar",
"printedName": "bar()",
"declKind": "Func",
"usr": "s:Si4cakeE3baryyF",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
}
]
}
]
}