[PATCH] D123045: [clang][extract-api] Fix small issues with SymbolGraphSerializer

Victoria Mitchell via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 4 16:02:35 PDT 2022

QuietMisdreavus added a comment.

In D123045#3427992 <https://reviews.llvm.org/D123045#3427992>, @zixuw wrote:

> In D123045#3427699 <https://reviews.llvm.org/D123045#3427699>, @QuietMisdreavus wrote:
>> After a quick scan comparing the current output of these symbol graphs with the primary library used for reading them <https://github.com/apple/swift-docc-symbolkit>, the last thing i can spot that's "off" is that the "function signature" is currently being serialized under a `parameters` field instead of the required `functionSignature`.
> Hmm, I was looking at the format specification at https://github.com/apple/swift-docc-symbolkit/blob/0a45209833f4a151212c1aa38e13cfc03b9462e4/openapi.yaml#L307, and I searched the term `functionSignature` in the spec but found no property with that name (except for the `FunctionSignature` schema that the `parameters` property is referring to). But anyway this should be a easy fix.

It seems like the specification and implementation have diverged. The parser in swift-docc-symbolkit is looking for a `functionSignature` field by virtue of how it names its "coding key" <https://github.com/apple/swift-docc-symbolkit/blob/0a45209833f4a151212c1aa38e13cfc03b9462e4/Sources/SymbolKit/SymbolGraph/Symbol/Symbol.swift#L106>. By comparison, here is the functionSignature emitter in the Swift symbol-graph generator <https://github.com/apple/swift/blob/89176021f314ff30d265712048038016cf3a7c12/lib/SymbolGraphGen/Symbol.cpp#L241>.

  rG LLVM Github Monorepo



actor(@QuietMisdreavus) application(Differential) author(@dang) herald(H423) herald(H576) herald(H864) herald(H875) herald(H876) mention(@QuietMisdreavus) mention(@zixuw) monogram(D123045) object-type(DREV) phid(PHID-DREV-d5goxxqici5xa3w2bgjy) reviewer(@QuietMisdreavus) reviewer(@ributzka) reviewer(@zixuw) revision-repository(rG) revision-status(needs-review) subscriber(@cfe-commits) tag(#all) tag(#clang) via(web)

More information about the cfe-commits mailing list