protected long doRange(int start, int end, int step, int field) throws ANTLRException { rangeCheck(start, field); rangeCheck(end, field); if (step <= 0) error(Messages.BaseParser_MustBePositive(step)); if (start>end) error(Messages.BaseParser_StartEndReversed(end,start)); long bits = 0; for (int i = start; i <= end; i += step) { bits |= 1L << i; } return bits; }
protected long doHash(int s, int e, int step, int field) throws ANTLRException { rangeCheck(s, field); rangeCheck(e, field); if (step > e - s + 1) { error(Messages.BaseParser_OutOfRange(step, 1, e - s + 1)); throw new AssertionError(); } else if (step > 1) { long bits = 0; for (int i = hash.next(step) + s; i <= e; i += step) { bits |= 1L << i; } assert bits != 0; return bits; } else if (step <=0) { error(Messages.BaseParser_MustBePositive(step)); throw new AssertionError(); } else { assert step==NO_STEP; // step=1 (i.e. omitted) in the case of hash is actually special; means pick one value, not step by 1 return 1L << (s+hash.next(e+1-s)); } }
protected long doRange(int start, int end, int step, int field) throws ANTLRException { rangeCheck(start, field); rangeCheck(end, field); if (step <= 0) error(Messages.BaseParser_MustBePositive(step)); if (start>end) error(Messages.BaseParser_StartEndReversed(end,start)); long bits = 0; for (int i = start; i <= end; i += step) { bits |= 1L << i; } return bits; }
protected long doRange(int start, int end, int step, int field) throws ANTLRException { rangeCheck(start, field); rangeCheck(end, field); if (step <= 0) error(Messages.BaseParser_MustBePositive(step)); if (start>end) error(Messages.BaseParser_StartEndReversed(end,start)); long bits = 0; for (int i = start; i <= end; i += step) { bits |= 1L << i; } return bits; }
protected long doRange(int start, int end, int step, int field) throws ANTLRException { rangeCheck(start, field); rangeCheck(end, field); if (step <= 0) error(Messages.BaseParser_MustBePositive(step)); if (start>end) error(Messages.BaseParser_StartEndReversed(end,start)); long bits = 0; for (int i = start; i <= end; i += step) { bits |= 1L << i; } return bits; }
protected long doRange(int start, int end, int step, int field) throws ANTLRException { rangeCheck(start, field); rangeCheck(end, field); if (step <= 0) error(Messages.BaseParser_MustBePositive(step)); if (start>end) error(Messages.BaseParser_StartEndReversed(end,start)); long bits = 0; for (int i = start; i <= end; i += step) { bits |= 1L << i; } return bits; }
protected long doRange(int start, int end, int step, int field) throws RecognitionException { rangeCheck(start, field); rangeCheck(end, field); if (step <= 0) { error(Messages.BaseParser_MustBePositive(step)); } if (start > end) { error(Messages.BaseParser_StartEndReversed(end, start)); } long bits = 0; for (int i = start; i <= end; i += step) { bits |= 1L << i; } return bits; }
protected long doHash(int s, int e, int step, int field) throws ANTLRException { rangeCheck(s, field); rangeCheck(e, field); if (step > e - s + 1) { error(Messages.BaseParser_OutOfRange(step, 1, e - s + 1)); throw new AssertionError(); } else if (step > 1) { long bits = 0; for (int i = hash.next(step) + s; i <= e; i += step) { bits |= 1L << i; } assert bits != 0; return bits; } else if (step <=0) { error(Messages.BaseParser_MustBePositive(step)); throw new AssertionError(); } else { assert step==NO_STEP; // step=1 (i.e. omitted) in the case of hash is actually special; means pick one value, not step by 1 return 1L << (s+hash.next(e+1-s)); } }