我该如何调试lombok val?

时间:2018-05-03 19:19:57

标签: lombok intellij-lombok-plugin

我一直在为我的项目广泛使用Lombok。我喜欢它并希望它得到正式支持,以便维护者不必使用内部API继续开发,但这是另一个时间的主题。

每隔一段时间,我会在使用val编译时遇到以下问题(我也广泛使用,因为它节省了大量的输入):

Cannot use 'val' here because initializer expression does not have a representable type: Type cannot be resolved

最后一次发生在两个地方:

  • 作为返回Map<UUID, List<SomeObject>>
  • 的函数的返回值
  • 作为返回List<UUID>
  • 的函数的返回值

之前我曾使用val作为后一种类型,以及比前者更复杂的对象。然而,莫名其妙地val在这里不起作用。最终的解决方案是在这些位置忽略val(虽然它在整个课程中被广泛使用而没有任何问题)。

所以,问题是:如何在Lombok 中调试val(可能还有var)?我如何调试生成类型的内容,找出这是否是Lombok中的错误(我可能会尝试修复),或者由于某种原因我的代码库是否行为不端?

1 个答案:

答案 0 :(得分:0)

val批注处理可能存在一些错误。有issue
另外,还有一个bugval。没有更改val变量的值的警告。它仅在运行时给出错误。小心,很容易犯错。