Open1

swift-syntaxの簡単な例

nabeyangnabeyang

https://zenn.dev/zunda_pixel/articles/07dfe906ccd50d#レベル3
509.0.0で動くように修正すると、次のようになる。結構変わってる。

let source = SourceFileSyntax {
  ImportDeclSyntax(
    path: ImportPathComponentListSyntax([ImportPathComponentSyntax(name: "Foundation")])
  )
      
  ClassDeclSyntax(name: "SampleModel") {
    VariableDeclSyntax(
        modifiers: [DeclModifierSyntax(name: .keyword(.private))],
        bindingSpecifier: .keyword(.let)
    ) {
      PatternBindingSyntax(
        pattern: PatternSyntax("title"),
        typeAnnotation: TypeAnnotationSyntax(
          type: TypeSyntax("String")
        ),
        initializer: InitializerClauseSyntax(
          value: StringLiteralExprSyntax(content: "Hello")
        )
      )
    }
  }
}