我有以下javacc语法。javaCC插入不需要的语句
规则UnaryExpr创建实施java.util.function.Predicate<>
options {
static=false;
DEBUG_PARSER=false;
IGNORE_CASE=true;
JDK_VERSION="1.8";
}
(...)
private Predicate<SAMRecord> UnaryExpr(): { }
{
(
<DUPLICATE> { return new Predicate<SAMRecord>() {
@Override public boolean test(final SAMRecord rec) { return rec.getDuplicateReadFlag();}
};}
| <UNMAPPED> { return new Predicate<SAMRecord>() {
@Override public boolean test(final SAMRecord rec) { return rec.getReadUnmappedFlag();}
};}
| <FAILSVENDORQUALITY> { return new Predicate<SAMRecord>() {
@Override public boolean test(final SAMRecord rec) { return rec.getReadFailsVendorQualityCheckFlag();}
};}
| <PROPERPAIR> { return new Predicate<SAMRecord>() {
@Override public boolean test(final SAMRecord rec) { return rec.getReadPairedFlag();}
};}
)
}
当我使用的JavaCC 7.0.2,生成的Java代码中包含破解密码{if ("" != null)
一些额外的报表生成代码中的一些匿名类。在java文件,而不是还是我原来的代码:
@Override public boolean test(final SAMRecord rec) {return rec.getDuplicateReadFlag();}
我有:
@Override public boolean test(final SAMRecord rec) { {if ("" != null) return rec.getDuplicateReadFlag();}}
我该如何解决这个问题?谢谢 。
交叉贴:https://github.com/javacc/javacc/issues/24 – Pierre