scala-macros

    0熱度

    1回答

    給定一個帶註釋的特徵,我應該如何去創建一個實現特徵的抽象類? 因此,考慮以下用戶特質...... @Neuron trait SomeTrait { // ... } ...在我的圖書館我想插入類似以下內容旁邊: abstract class SomeTraitImpl extends SomeTrait 注意,我知道除了用@Neuron註釋外,沒有關於給定特徵的信息。 我試

    1熱度

    1回答

    嘗試從黑盒宏發出for yield塊,但我無法理解如何使用有效的語法創建塊。 因此低於source是一個硬編碼的參數名稱,因爲此塊稍後將插入到具有匹配參數名稱的方法中。 params只是params: Seq[c.universe.ValDef],內附case class字段。 def extract(source: Source): Option[CaseClass] = { ... } v

    1熱度

    2回答

    在輸入的黑盒宏(隱式實現器)中,如何檢查Type或Symbol是否爲元組?有明顯的模式匹配或類似的解決方案,但有沒有一種isTuple方法,我可以在任何地方找到? 到目前爲止,我知道我能做到這一點: def typed[A : c.WeakTypeTag]: Symbol = weakTypeOf[A].typeSymbol object TupleSymbols { val tup

    2熱度

    1回答

    我有一些代碼取決於宏調用。在我的情況下在類型T的字段宏碼進行迭代,並且遞歸地返回他們的名字: object Foo{ val bar:List[String] = MyMacroClass.fieldNames[Bar] } 的Bar和MyMacro每個在單獨的獨立的子項目定義。 現在,當我對Bar進行更改(如添加或刪除字段)時,如果我不手動清理並重新編譯,那麼列表將不會反映更改。

    0熱度

    1回答

    我一直在使用谷歌搜索,但我找不到一個很好的文檔。 我使用宏創建了一個帶有入口API的項目,但現在因爲即使從我自己的項目中也無法使用它,所以我需要導出它。 任何人都可以指點我一個很好的文檔/博客,在那裏解釋如何導出/導入一個宏觀項目與intellij ?. 問候。

    0熱度

    1回答

    我使用的是大量使用宏和applyDynamic的a library。 The compiler bug,它可以防止使用可變參數與applyDynamic一直造成我很多的痛苦,我希望找到一種解決方法,允許我將一個動態的參數序列傳遞到applyDynamic,然後調用一個宏。 我試圖編寫一個宏,在調用applyDynamicwith little success之前擴展序列或圖示,但是我對Scala宏

    0熱度

    2回答

    以下是我有: sealed abstract class Codes(list: List[String]) object UVWCodes extends Codes(List("U", "V", "W")) object XYZCodes extends Codes(List("X", "Y", "Z")) 我想用宏展開所列數值爲: parse(str: String): Codes

    0熱度

    1回答

    我有一個序列val xs: Seq[T]和一個函數f(xs: T*)。 我喜歡寫在編譯時擴展到f(xs: _*)一個f(x1, x2, ... xn)宏,但我有很多的麻煩成功eval宏荷蘭國際集團的Expr。我嘗試了幾種不同的方法。 scala.tools.reflect.ToolBox抱怨c.universe與運行時Universe不匹配。 c.eval(...)抱怨樹已經被typechecke

    2熱度

    1回答

    有點時髦的場景,下面最佳概述。 假設我有sealed trait Painting[T],然後一堆更專業的變化,如trait ImpressionistPainting[T] extends Painting[T]等,建立一個簡單的密封型家庭。 然後我有一個F A類限定綁定爲這樣的多晶型: class Gallery[T <: Gallery[T]]()(implicit helper: Gall

    2熱度

    1回答

    我剛剛添加了一些宏註釋到我的圖書館。在我的圖書館建立,我包括 addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full) 使宏觀的天堂。 在我的用戶使用宏的項目中,我知道他們也需要包含scalamacros。現在,在我的示例項目中,我按照上面的方法進行操作。我想知道是否有一個簡單或不太復