-
Notifications
You must be signed in to change notification settings - Fork 409
Closed
Labels
Description
With some code that offers an extension to a public (Foundation?) class, such as this:
public etension Bundle {
static var myBundle: Bundle? {
// ...
return nil
}
}
The following gets generated as in my symbol graph build/symbolgraph/target/Target@Foundation.symbols.json
:
{
"kind": {
"identifier": "swift.extension",
"displayName": "Extension"
},
"identifier": {
"precise": "s:e:s:So8NSBundleC29TargetE04selfD0ABSgvpZ",
"interfaceLanguage": "swift"
},
"pathComponents": [
"Bundle"
],
"names": {
"title": "Bundle",
"navigator": [
{
"kind": "identifier",
"spelling": "Bundle"
}
],
"subHeading": [
{
"kind": "keyword",
"spelling": "extension"
},
{
"kind": "text",
"spelling": " "
},
{
"kind": "typeIdentifier",
"spelling": "Bundle",
"preciseIdentifier": "c:objc(cs)NSBundle"
}
]
},
"swiftExtension": {
"extendedModule": "Foundation",
"typeKind": "swift.class"
},
"declarationFragments": [
{
"kind": "keyword",
"spelling": "extension"
},
{
"kind": "text",
"spelling": " "
},
{
"kind": "typeIdentifier",
"spelling": "Bundle",
"preciseIdentifier": "c:objc(cs)NSBundle"
}
],
"accessLevel": "public",
"location": {
"uri": "...",
"position": {
"line": 6,
"character": 7
}
}
}
Then when I run Jazzy with the config:
swift_build_tool: symbolgraph
symbolgraph_directory: build/symbol-graph/target/
The following error occurs:
/Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/fastlane-2.213.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in `shell_error!': [!] Exit status of command 'jazzy' was 1 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
/Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph/symbol.rb:120:in `init_kind': Unknown symbol kind 'swift.extension' (RuntimeError)
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph/symbol.rb:29:in `initialize'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph/graph.rb:22:in `new'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph/graph.rb:22:in `block in initialize'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph/graph.rb:21:in `each'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph/graph.rb:21:in `initialize'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph.rb:78:in `new'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph.rb:78:in `block in parse_symbols'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph.rb:71:in `map'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph.rb:71:in `parse_symbols'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/symbol_graph.rb:34:in `build'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/lib/jazzy/doc_builder.rb:78:in `build'
from /Users/nathanw/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/jazzy-0.14.4/bin/jazzy:16:in `<top (required)>'
from /Users/nathanw/.rbenv/versions/3.2.2/bin/jazzy:25:in `load'
from /Users/nathanw/.rbenv/versions/3.2.2/bin/jazzy:25:in `<main>'
Using config file .jazzy.yaml
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.