我有以下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