The usr of Aaa
s:3foo3AaaV is a normal USR. This matches the index data.
The "typeusr" of bbb,
$s3foo3AaaVD is a mangled symbol name.
It looks like the implementation of
printTypeUSR are not using the USR prefix. @Xi_Ge was this just an oversight? I see you implemented this back in 2016.
In CursorInfo response, include the mangle name of the type of the underlying decl.
Author: Xi Ge <firstname.lastname@example.org>
Date: Tue Jul 12 12:01:37 2016
[SourceKit] In CursorInfo response, include the mangle name of the type of the underlying decl.
The mangled name of the type is identical to those for debugger. These
mangled names allow us to reconstruct the type from AST and generate interface
specifically for that type.
The trailing "D" in the mangling of the type is a bit more mysterious to me. I can see it's added in mangleDeclType and in mangleTypeForDebugger. @Xi_Ge and @Erik_Eckstein what's the point of the "D" here? Shouldn't we want this USR to match the decl USR?