예제 #1
0
 public void scan(AbstractSequence seq, int ipos, PositionConsumer out) {
   int limit = seq.endPos();
   ipos = seq.nextPos(ipos);
   if (ipos != 0 && type.isInstancePos(seq, ipos)) out.writePosition(seq, ipos);
   for (; ; ) {
     ipos = seq.nextMatching(ipos, type, limit, true);
     if (ipos == 0) break;
     out.writePosition(seq, ipos);
   }
 }
 public boolean isInstancePos(AbstractSequence abstractsequence, int i) {
   boolean flag = false;
   int j = abstractsequence.getNextKind(i);
   if (j == 37) {
     if (target == null || target.equals(abstractsequence.getNextTypeObject(i))) {
       flag = true;
     }
   } else if (j == 32) {
     return isInstance(abstractsequence.getPosNext(i));
   }
   return flag;
 }
    public void scan(AbstractSequence abstractsequence, int i, PositionConsumer positionconsumer)
    {
        i = abstractsequence.firstAttributePos(i);
_L5:
        if (i == 0 || abstractsequence.getNextKind(i) != 35) goto _L2; else goto _L1