我正在寫一個Scala宏,並遍歷樹來尋找類中的非私有字段。 考慮以下代碼,宏觀着眼於: class Foo {
val bar: String = "test"
}
我穿越這個代碼和獲得bar的ValDef。它的修飾符中只有兩個標誌:Flag.PRIVATE和Flag.LOCAL。 在bar上使用private修飾符不會改變任何內容。使用protected修飾符僅將Flag.PRO
我正在將Scala函數導出爲外部格式。爲此我使用scala.meta和StaticAnnotation。喜歡的東西: @ExportFunctions
object MyFunctions {
def max(x: Int, y: Int): Int = x max y
}
class ExportFunctions extends StaticAnnotation {
我想爲向伴隨對象添加方法的案例類編寫一個簡單的宏註釋。問題在於新方法必須考慮帶註釋的案例類的類型參數。 下面是我需要傳遞 package my.macros
import org.scalatest._
class DefaultApplyTest extends FlatSpec with Matchers {
@defaultApply case class Generic