public void clearNotFlag() { if (isNot()) { bs.invert(); mbuf = CodeRangeBuffer.notCodeRangeBuff(mbuf); clearNot(); } }
public void addCodeRangeToBuf(final int from, final int to) { mbuf = CodeRangeBuffer.addCodeRangeToBuff(mbuf, from, to); }
public void addCodeRange(final ScanEnvironment env, final int from, final int to) { mbuf = CodeRangeBuffer.addCodeRange(mbuf, env, from, to); }
public void addAllMultiByteRange() { mbuf = CodeRangeBuffer.addAllMultiByteRange(mbuf); }
public void and(final CClassNode other) { final boolean not1 = isNot(); BitSet bsr1 = bs; final CodeRangeBuffer buf1 = mbuf; final boolean not2 = other.isNot(); BitSet bsr2 = other.bs; final CodeRangeBuffer buf2 = other.mbuf; if (not1) { final BitSet bs1 = new BitSet(); bsr1.invertTo(bs1); bsr1 = bs1; } if (not2) { final BitSet bs2 = new BitSet(); bsr2.invertTo(bs2); bsr2 = bs2; } bsr1.and(bsr2); if (bsr1 != bs) { bs.copy(bsr1); bsr1 = bs; } if (not1) { bs.invert(); } CodeRangeBuffer pbuf = null; if (not1 && not2) { pbuf = CodeRangeBuffer.orCodeRangeBuff(buf1, false, buf2, false); } else { pbuf = CodeRangeBuffer.andCodeRangeBuff(buf1, not1, buf2, not2); if (not1) { pbuf = CodeRangeBuffer.notCodeRangeBuff(pbuf); } } mbuf = pbuf; }
public void or(final CClassNode other) { final boolean not1 = isNot(); BitSet bsr1 = bs; final CodeRangeBuffer buf1 = mbuf; final boolean not2 = other.isNot(); BitSet bsr2 = other.bs; final CodeRangeBuffer buf2 = other.mbuf; if (not1) { final BitSet bs1 = new BitSet(); bsr1.invertTo(bs1); bsr1 = bs1; } if (not2) { final BitSet bs2 = new BitSet(); bsr2.invertTo(bs2); bsr2 = bs2; } bsr1.or(bsr2); if (bsr1 != bs) { bs.copy(bsr1); bsr1 = bs; } if (not1) { bs.invert(); } CodeRangeBuffer pbuf = null; if (not1 && not2) { pbuf = CodeRangeBuffer.andCodeRangeBuff(buf1, false, buf2, false); } else { pbuf = CodeRangeBuffer.orCodeRangeBuff(buf1, not1, buf2, not2); if (not1) { pbuf = CodeRangeBuffer.notCodeRangeBuff(pbuf); } } mbuf = pbuf; }