Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
从方法符号和主体创建方法定义树
有没有方便的方法来转MethodSymbol http www scala lang org archives downloads distrib files nightly docs library index html scala re
scala
Reflection
macros
scala210
scalamacros
在 Scala 宏中对来自 ValDef 的 TypeTree 值进行模式匹配的正确方法?
我需要读取案例类的字段并根据字段的类型执行不同的操作 我想我会尝试使用宏 读取每个 TypeTree 上的 ValDef 和模式匹配 但这并没有揭示每个 TypeTree 代表什么 例如 整数和字符串都显示为 TypeTree 除了打电话还
scala
scalamacros
Scala 宏 - 使用“c.prefix”推断隐式值
c inferImplicitValue推断调用站点范围中的隐式值 是否可以使用推断隐式c prefix scope 这不是有效的代码 但表达了我需要的内容 c prefix inferImplicitValue 我目前正在使用一个简单的实
scala
scalamacros
如何在“THEN”中打印“IF”条件的源代码
我想在 THEN 部分打印 IF 条件的 Scala 源代码 例子 IF 2 2 lt 5 THEN println I am in THEN because sourceCodeOfCondition 现在我们跳过THEN部分 问题是 如
scala
Reflection
macros
scalamacros
使用 Scala 宏或反射实例化类
在我的 scala 代码中 我希望能够实例化一个新类 例如 假设我有以下代码 class Foo def foo 10 trait Bar val bar 20 理想情况下 我希望能够做类似的事情 def newInstance A lt
scala
Reflection
macros
scalamacros
解决 sbt 中 jar 加载冲突的问题
当两个特定的 sbt 插件启动时 我在 sbt 启动时收到以下错误加在一起到其构建定义中的项目 这些 sbt 插件之一是规模化jdbc https github com scalikejdbc scalikejdbc另一个是my own h
scala
sbt
scalamacros
sbtplugin
scalikejdbc
在 scala 宏中使用 LabelDef (2.10)
我正在尝试 scala 2 10 宏功能 我使用时遇到问题LabelDef但在某些情况下 在某种程度上 我偷看了编译器的代码 阅读了摘录米格尔 加西亚的论文 http lampwww epfl ch magarcia但我还是卡住了 如果我的
scala
macros
scala210
scalamacros
如何使用 scala 宏打印变量名称和值?
我确信有一种更优雅的方式来编写以下宏来打印变量的名称和值 def mprintx c Context linecode c Expr Any c Expr Unit import c universe val namez c enclosi
scala
scalamacros
重写并实现特征的注释宏,未正确处理泛型
我正在编写一个宏 需要创建一个重写特征的类 该类具有相同的特征方法 参数 但返回类型不同 所以说我们有 trait MyTrait T def x t1 T t2 T T AnnProxy class MyClass T extends M
scalamacros
如何用其他树替换子树?
在 Scala 宏中 我想做这样的事情 我有一个Tree 可能很大 现在我想找到这棵树的一个具有某种具体形式的子树 例如Apply 现在我想创建一棵新树 它是原始树的副本 但找到的子树被其他树替换 例如 通过类似的方法 我可以用调用某些其他
scala
macros
abstractsyntaxtree
scalamacros
如何在 Scala 3 宏中创建泛型类型的实例?
我正在将宏从 Scala 2 移植到 Scala 3 作为其工作的一部分 Scala 2 宏使用默认构造函数创建泛型类型的实例 在 Scala 2 中使用准引用很容易做到这一点 但我在 Scala 3 宏上遇到了困难 这是迄今为止我最好的方
scala
metaprogramming
scalamacros
scala3
SBT 插件:如何将编译器插件添加为不向下游传播的依赖项?
我正在编写一个 SBT 插件 我想使用 Circe JSON 库 但它需要 Scala 2 10 上的 Macro Paradise 编译器插件 通常你添加编译器插件build sbt和 SBT 插件project plugins sbt
scala
sbt
scalamacros
sbtplugin
scalamacroparadise
如何在Scala3中编译并在运行时执行scala代码?
我想使用 Scala3 编译并执行在运行时以字符串形式给出的 Scala 代码 例如在 Scala 2 中我会使用 Reflection import scala reflect runtime universe as ru import
Java
scala
macros
scalamacros
scala3
Scala:在运行时替换方法
假设我有课 class Original def originalMethod 1 现在 假设我有一个例子 val instance new Original 现在是否可以做点什么instance在运行时替换originalMethod用不
scala
Testing
Reflection
Runtime
scalamacros
是否可以定义带有可变参数的宏,并获取每个参数的类型?
下面是一个明显的可变参数函数 def fun xs Any 我们可以用类似的方式定义一个宏 def funImpl c Context xs c Expr Any fun 1 1 1 0 但在本例中 所有参数都键入为Any 事实上 编译器在
scala
macros
scala210
scalamacros
获取密封特征的子类
是否有可能 通过宏 某种形式的无形状自动魔法或其他形式 获得密封特征的子类列表 在编译时 在运行时 您不需要任何第三方库来执行此操作 sealed trait MyTrait case object SubClass1 extends My
scala
scalamacros
shapeless
scalareflect
在运行时访问函数源代码的宏
使用 Scala 宏我想访问函数 f 的源代码 这是我的问题的简化示例 def logFImplementation f gt Boolean val sourceCodeOfF String lt how to get source co
scala
Reflection
macros
scalamacros
如何调试宏注释?
背景 我正在尝试添加一个 PrismsMonocle 的注释将按如下方式工作 鉴于 Prisms sealed trait Foo case object A extends Foo case object B extends Foo 它将
scala
scalamacros
在 sbt 中添加仅编译时的子项目依赖项
我有一个多项目包含一个私有宏子项目 其用途仅限于实现其他子项目的方法体 它既不应该出现在其他子项目的运行时类路径上 也不应该以任何形式在其他子项目已发布的 POM 中可见 这样其他 sbt 项目就可以在不知道宏子项目的情况下使用该项目中的库
scala
sbt
dependencyManagement
scalamacros
使用 Scala 3 宏重写方法
我正在尝试使用 Scala 3 宏和 TASTY 重写方法 我想重写任何类型的任何方法 现在我从这个简单的案例开始 我有一个测试基类 class TestClass def func s String base 我想实现这一点 但使用 TA
scala
scalamacros
scala3
1
2
3
»