Package org.antlr.v4.runtime.misc
Class Interval
java.lang.Object
org.antlr.v4.runtime.misc.Interval
An immutable inclusive interval a..b
-
Field Summary
FieldsModifier and TypeFieldDescriptionint
int
static int
static int
static final int
static final Interval
static int
static int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Are two intervals adjacent such as 0..41 and 42..42?Return the interval with elements from this not in other; other must not be totally enclosed (properly contained) within this, which would result in two disjoint intervals instead of the single one returned by this method.boolean
Are both ranges disjoint? I.e., no overlap?boolean
int
hashCode()
intersection
(Interval other) Return the interval in common between this and oint
length()
return number of elements between a and b inclusively.static Interval
of
(int a, int b) Interval objects are used readonly so share all with the same single value a==b up to some max size.boolean
properlyContains
(Interval other) boolean
startsAfter
(Interval other) Does this.a start after other.b? May or may not be disjointboolean
startsAfterDisjoint
(Interval other) Does this start completely after other? Disjointboolean
startsAfterNonDisjoint
(Interval other) Does this start after other? NonDisjointboolean
startsBeforeDisjoint
(Interval other) Does this start completely before other? Disjointboolean
startsBeforeNonDisjoint
(Interval other) Does this start at or before other? NondisjointtoString()
Return the interval computed from combining this and other
-
Field Details
-
INTERVAL_POOL_MAX_VALUE
public static final int INTERVAL_POOL_MAX_VALUE- See Also:
-
INVALID
-
a
public int a -
b
public int b -
creates
public static int creates -
misses
public static int misses -
hits
public static int hits -
outOfRange
public static int outOfRange
-
-
Constructor Details
-
Interval
public Interval(int a, int b)
-
-
Method Details
-
of
Interval objects are used readonly so share all with the same single value a==b up to some max size. Use an array as a perfect hash. Return shared object for 0..INTERVAL_POOL_MAX_VALUE or a new Interval object with a..a in it. On Java.g4, 218623 IntervalSets have a..a (set with 1 element). -
length
public int length()return number of elements between a and b inclusively. x..x is length 1. if b < a, then length is 0. 9..10 has length 2. -
equals
-
hashCode
public int hashCode() -
startsBeforeDisjoint
Does this start completely before other? Disjoint -
startsBeforeNonDisjoint
Does this start at or before other? Nondisjoint -
startsAfter
Does this.a start after other.b? May or may not be disjoint -
startsAfterDisjoint
Does this start completely after other? Disjoint -
startsAfterNonDisjoint
Does this start after other? NonDisjoint -
disjoint
Are both ranges disjoint? I.e., no overlap? -
adjacent
Are two intervals adjacent such as 0..41 and 42..42? -
properlyContains
-
union
Return the interval computed from combining this and other -
intersection
Return the interval in common between this and o -
differenceNotProperlyContained
Return the interval with elements from this not in other; other must not be totally enclosed (properly contained) within this, which would result in two disjoint intervals instead of the single one returned by this method. -
toString
-