Learn Scala macro and abstract syntax tree.
The project is currently experimental
- It is compiled in Java 8, 11
- It is compiled in Scala 2.11.x ~ 2.13.x
The intellij plugin named
How to use
Add library dependency
"io.github.jxnu-liguobin" %% "scala-macro-tools" % "<VERSION>"
The artefacts have been uploaded to Maven Central. Importing the library into your build system (e.g gradle, sbt), is not enough. You need to follow an extra step.
|Scala 2.11||Scala 2.12||Scala 2.13|
|Import macro paradise plugin||Import macro paradise plugin||Enable compiler flag
addCompilerPlugin("org.scalamacros" % "paradise_<your-scala-version>" % "<plugin-version>")
<your-scala-version> must be the full scala version. For example 2.12.13, and not 2.12.
If that doesn't work, google for alternatives.
In version scala
2.13.x, the functionality of macro paradise has been included in the scala compiler directly. However,
you must still enable the compiler flag