5

我有这个模式匹配只匹配字节值但是当我添加它时@switch它说:

无法发出切换到 @switch 注释匹配

我在这里想念什么?

仅供参考,我已经尝试过但没有奏效:

  • 将此常量移动到 Java 接口并使用public static final byte字段(我也尝试过制作它们int而不是byte
  • 将字段标记为final valScalaMessage伴随对象
  • 将字段标记为@inline伴随对象

我肯定在这里迷路了。

4

1 回答 1

2

scala-user论坛提供的答案是使 vals 最终化并删除Byte注释:

object Message {
  final val Authentication = 'R'
  final val BackendKeyData = 'K'
  final val Bind = 'B'
  final val BindComplete = '2'
}

现在@switch正确生成 a lookupswitch(它不会生成 atableswitch但它已经足够好了)。

于 2013-05-01T13:27:01.097 回答