jpsim / SourceKitten

An adorable little framework and command line tool for interacting with SourceKit.
MIT License
2.31k stars 226 forks source link

Failure to parse macro definition #817

Open Craz1k0ek opened 3 months ago

Craz1k0ek commented 3 months ago

I ran into an issue attempting to parse a macro definition. I've got a macro definition file as follows:

@freestanding(expression)
public macro obfuscate(_ value: String) -> String = #externalMacro(module: "ObfuscatedStringMacros", type: "ObfuscationMacro")

Running sourcekitten structure --file ObfuscatedString.swift outputs the following JSON:

{
  "key.diagnostic_stage" : "source.diagnostic.stage.swift.parse",
  "key.length" : 153,
  "key.offset" : 0,
  "key.substructure" : [
    {
      "key.kind" : "source.lang.swift.decl.var.parameter",
      "key.length" : 15,
      "key.name" : "value",
      "key.offset" : 49,
      "key.typename" : "String"
    }
  ]
}

I would like SourceKitten to correctly identify the elements of the macro definition

johnfairh commented 3 months ago

Unfortunately this is a Swift issue, swiftlang/swift#66666.