Closed esteluk closed 1 year ago
The Xcode 14 output is very different:
{
"kind": {
"identifier": "swift.type.property",
"displayName": "Type Property"
},
"identifier": {
"precise": "s:So8NSBundleC29TargetE04selfD0ABSgvpZ",
"interfaceLanguage": "swift"
},
"pathComponents": [
"Bundle",
"myBundle"
],
"names": {
"title": "myBundle",
"subHeading": [
{
"kind": "keyword",
"spelling": "static"
},
{
"kind": "text",
"spelling": " "
},
{
"kind": "keyword",
"spelling": "var"
},
{
"kind": "text",
"spelling": " "
},
{
"kind": "identifier",
"spelling": "myBundle"
},
{
"kind": "text",
"spelling": ": "
},
{
"kind": "typeIdentifier",
"spelling": "Bundle",
"preciseIdentifier": "c:objc(cs)NSBundle"
},
{
"kind": "text",
"spelling": "?"
}
]
},
"docComment": {
"uri": "...",
"module": "Target",
"lines": [
{
"range": {
"start": {
"line": 7,
"character": 8
},
"end": {
"line": 7,
"character": 38
}
},
"text": "My comment"
}
]
},
"swiftExtension": {
"extendedModule": "Foundation",
"typeKind": "swift.class"
},
"declarationFragments": [
{
"kind": "keyword",
"spelling": "static"
},
{
"kind": "text",
"spelling": " "
},
{
"kind": "keyword",
"spelling": "var"
},
{
"kind": "text",
"spelling": " "
},
{
"kind": "identifier",
"spelling": "myBundle"
},
{
"kind": "text",
"spelling": ": "
},
{
"kind": "typeIdentifier",
"spelling": "Bundle",
"preciseIdentifier": "c:objc(cs)NSBundle"
},
{
"kind": "text",
"spelling": "? { "
},
{
"kind": "keyword",
"spelling": "get"
},
{
"kind": "text",
"spelling": " }"
}
],
"accessLevel": "public",
"location": {
"uri": "...",
"position": {
"line": 8,
"character": 15
}
}
}
From searching I saw https://forums.swift.org/t/symbol-graph-adaptions-for-documenting-extensions-to-external-types-in-docc/56684/2 on which @johnfairh replied last year, which probably has all the context for this change.
Oh right - I had thought we could ignore this stuff because it's opt-in (-emit-extension-block-symbols
), didn't think about users supplying opted-in symbolgraph files. Will take a look. Thanks for reporting it.
It looks like the default behaviour of Swift 5.9 didn't change: I guess Xcode 15 might be opting in to emit-extension-block-symbols
now
Fixed in master via #1372.
With some code that offers an extension to a public (Foundation?) class, such as this:
The following gets generated as in my symbol graph
build/symbolgraph/target/Target@Foundation.symbols.json
:Then when I run Jazzy with the config:
The following error occurs:
Tested with Jazzy 0.14.4. Before moving to Xcode 15, the same code was compiling as expected, so I guess the symbol kind may have changed between releases. Will try to check the symbol kind in Xcode 14 when I get a chance.