Package org.antlr.v4.runtime
Class CodePointCharStream
- java.lang.Object
-
- org.antlr.v4.runtime.CodePointCharStream
-
- All Implemented Interfaces:
CharStream
,IntStream
public abstract class CodePointCharStream extends Object implements CharStream
Alternative toANTLRInputStream
which treats the input as a series of Unicode code points, instead of a series of UTF-16 code units. Use this if you need to parse input which potentially contains Unicode values > U+FFFF.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
consume()
Consumes the current symbol in the stream.static CodePointCharStream
fromBuffer(CodePointBuffer codePointBuffer)
Constructs aCodePointCharStream
which provides access to the Unicode code points stored incodePointBuffer
.static CodePointCharStream
fromBuffer(CodePointBuffer codePointBuffer, String name)
Constructs a namedCodePointCharStream
which provides access to the Unicode code points stored incodePointBuffer
.String
getSourceName()
Gets the name of the underlying symbol source.int
index()
Return the index into the stream of the input symbol referred to byLA(1)
.int
mark()
mark/release do nothing; we have entire buffervoid
release(int marker)
This method releases a marked range created by a call tomark()
.void
seek(int index)
Set the input cursor to the position indicated byindex
.int
size()
Returns the total number of symbols in the stream, including a single EOF symbol.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.antlr.v4.runtime.CharStream
getText
-
-
-
-
Field Detail
-
size
protected final int size
-
name
protected final String name
-
position
protected int position
-
-
Method Detail
-
fromBuffer
public static CodePointCharStream fromBuffer(CodePointBuffer codePointBuffer)
Constructs aCodePointCharStream
which provides access to the Unicode code points stored incodePointBuffer
.
-
fromBuffer
public static CodePointCharStream fromBuffer(CodePointBuffer codePointBuffer, String name)
Constructs a namedCodePointCharStream
which provides access to the Unicode code points stored incodePointBuffer
.
-
consume
public final void consume()
Description copied from interface:IntStream
Consumes the current symbol in the stream. This method has the following effects:- Forward movement: The value of
index()
before calling this method is less than the value ofindex()
after calling this method. - Ordered lookahead: The value of
LA(1)
before calling this method becomes the value ofLA(-1)
after calling this method.
index()
is incremented by exactly 1, as that would preclude the ability to implement filtering streams (e.g.CommonTokenStream
which distinguishes between "on-channel" and "off-channel" tokens). - Forward movement: The value of
-
index
public final int index()
Description copied from interface:IntStream
Return the index into the stream of the input symbol referred to byLA(1)
.The behavior of this method is unspecified if no call to an
initializing method
has occurred after this stream was constructed.
-
size
public final int size()
Description copied from interface:IntStream
Returns the total number of symbols in the stream, including a single EOF symbol.
-
mark
public final int mark()
mark/release do nothing; we have entire buffer
-
release
public final void release(int marker)
Description copied from interface:IntStream
This method releases a marked range created by a call tomark()
. Calls torelease()
must appear in the reverse order of the corresponding calls tomark()
. If a mark is released twice, or if marks are not released in reverse order of the corresponding calls tomark()
, the behavior is unspecified.For more information and an example, see
IntStream.mark()
.- Specified by:
release
in interfaceIntStream
- Parameters:
marker
- A marker returned by a call tomark()
.- See Also:
IntStream.mark()
-
seek
public final void seek(int index)
Description copied from interface:IntStream
Set the input cursor to the position indicated byindex
. If the specified index lies past the end of the stream, the operation behaves as thoughindex
was the index of the EOF symbol. After this method returns without throwing an exception, then at least one of the following will be true.index()
will return the index of the first symbol appearing at or after the specifiedindex
. Specifically, implementations which filter their sources should automatically adjustindex
forward the minimum amount required for the operation to target a non-ignored symbol.LA(1)
returnsIntStream.EOF
index
lies within a marked region. For more information on marked regions, seeIntStream.mark()
. The behavior of this method is unspecified if no call to aninitializing method
has occurred after this stream was constructed.
-
getSourceName
public final String getSourceName()
Description copied from interface:IntStream
Gets the name of the underlying symbol source. This method returns a non-null, non-empty string. If such a name is not known, this method returnsIntStream.UNKNOWN_SOURCE_NAME
.- Specified by:
getSourceName
in interfaceIntStream
-
-