Closed
Description
Description
Given the following code:
let sourceCode = """
#if true
@inlinable
#endif
func f() {}
"""
let originalSyntax = Parser.parse(source: sourceCode)
print(originalSyntax)
let context = BasicMacroExpansionContext(lexicalContext: [], expansionDiscriminator: "", sourceFiles: [:])
let syntax = originalSyntax.expand(macros: [:]) { syntax in
BasicMacroExpansionContext(sharingWith: context, lexicalContext: syntax.allMacroLexicalContexts())
}
print(syntax)
I would expect to see (ignoring potential reformatting):
#if true
@inlinable
#endif
func f() {}
But syntax
drops everything in the IfConfigDeclSyntax
node (#if
onward) and just produces:
func f() {}
originalSyntax
is correct, so the issue is during macro expansion, not the initial parse.
Steps to Reproduce
See above.