【发布时间】:2023-03-07 11:27:01
【问题描述】:
这是我用于生成import 语句的StringTemplate 模板,它对{i | import <i>;<\n>} 中的每个值在imports 中的每个值进行映射操作。
importdecl(imports) ::= "<if(imports)> <imports: {i | import <i>;<\n>}> <endif>"
这会抛出java.lang.NullPointerException at org.stringtemplate.v4.misc.ErrorManager.runTimeError(ErrorManager.java:133)。
奇怪的是,当我将 i 更改为其他内容时,它可以完美运行,而且我确信这两种情况下的输入没有区别。像这样不会抛出错误,
importdecl(imports) ::= "<if(imports)> <imports: {r | import <r>;<\n>}> <endif>"
i 是保留的还是 StringTemplate 中的某些东西,还是我遗漏了什么?
【问题讨论】:
标签: java stringtemplate stringtemplate-4