これは、偽テンプレート{i | import <i>;<\n>}
のマップ操作をimports
のすべての値に対して実行するimport
ステートメントを生成するためのStringTemplateテンプレートです。StringTemplateのマップ操作で奇妙なNullPointerExceptionが発生しました
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で何かまたは私は何かが足りないのですか?
はい私は完全にそれを当然のことで見落としました! – scarecrow