blob: c35c9fba82e4b8a1536b45535dcd87a748196352 [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": "TypeNameAlias",
"name": "Void",
"printedName": "Void",
"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": "<T1, T2, T3>",
"children": [
{
"kind": "Constructor",
"name": "init",
"printedName": "init()",
"declKind": "Constructor",
"usr": "s:4cake2C0CACyxq_q0_Gycfc",
"location": "",
"moduleName": "cake",
"genericSig": "<T1, T2, T3>",
"implicit": true,
"children": [
{
"kind": "TypeNominal",
"name": "C0",
"printedName": "C0<T1, T2, T3>",
"usr": "s:4cake2C0C",
"children": [
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "T1"
},
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "T2"
},
{
"kind": "TypeNominal",
"name": "GenericTypeParam",
"printedName": "T3"
}
]
}
]
},
{
"kind": "Function",
"name": "conditionalFooExt",
"printedName": "conditionalFooExt()",
"declKind": "Func",
"usr": "s:4cake2C0CA2A2S1VRszAERs_AERs0_rlE17conditionalFooExtyyF",
"location": "",
"moduleName": "cake",
"genericSig": "<T1, T2, T3 where T1 == S1, T2 == S1, T3 == S1>",
"children": [
{
"kind": "TypeNominal",
"name": "Void",
"printedName": "()"
}
]
},
{
"kind": "Function",
"name": "unconditionalFooExt",
"printedName": "unconditionalFooExt()",
"declKind": "Func",
"usr": "s:4cake2C0C19unconditionalFooExtyyF",
"location": "",
"moduleName": "cake",
"genericSig": "<T1, T2, T3>",
"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": "C1?"
},
{
"kind": "Getter",
"name": "_",
"printedName": "_()",
"declKind": "Accessor",
"usr": "s:4cake2C1C3InsACSgXwvg",
"location": "",
"moduleName": "cake",
"implicit": true,
"declAttributes": [
"Transparent"
],
"children": [
{
"kind": "TypeNominal",
"name": "Optional",
"printedName": "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": "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": "Paren",
"printedName": "(Number.Type)",
"children": [
{
"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": "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": "[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": "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": "ProWithAssociatedType",
"printedName": "ProWithAssociatedType",
"declKind": "Protocol",
"usr": "s:4cake21ProWithAssociatedTypeP",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "AssociatedType",
"name": "A",
"printedName": "A",
"declKind": "AssociatedType",
"usr": "s:4cake21ProWithAssociatedTypeP1AQa",
"location": "",
"moduleName": "cake"
},
{
"kind": "AssociatedType",
"name": "B",
"printedName": "B",
"declKind": "AssociatedType",
"usr": "s:4cake21ProWithAssociatedTypeP1BQa",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
},
{
"kind": "TypeDecl",
"name": "SubsContainer",
"printedName": "SubsContainer",
"declKind": "Protocol",
"usr": "s:4cake13SubsContainerP",
"location": "",
"moduleName": "cake",
"children": [
{
"kind": "Subscript",
"name": "subscript",
"printedName": "subscript(getter:)",
"declKind": "Subscript",
"usr": "s:4cake13SubsContainerP6getterS2i_tcip",
"location": "",
"moduleName": "cake",
"genericSig": "<Self where Self : SubsContainer>",
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
},
{
"kind": "Subscript",
"name": "subscript",
"printedName": "subscript(setter:)",
"declKind": "Subscript",
"usr": "s:4cake13SubsContainerP6setterS2i_tcip",
"location": "",
"moduleName": "cake",
"genericSig": "<Self where Self : SubsContainer>",
"hasSetter": true,
"children": [
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
},
{
"kind": "TypeNominal",
"name": "Int",
"printedName": "Int",
"usr": "s:Si"
}
]
}
]
},
{
"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": "()"
}
]
}
]
}
]
}