Class Marker
- java.lang.Object
-
- org.eclipse.xtext.parser.packrat.tokens.AbstractParsedToken
-
- org.eclipse.xtext.parser.packrat.internal.Marker
-
- All Implemented Interfaces:
IBacktracker
,IMarkerFactory.IMarker
,IParsedTokenAcceptor
public class Marker extends AbstractParsedToken implements IMarkerFactory.IMarker, IParsedTokenAcceptor, IBacktracker
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Marker.IMarkerClient
static interface
Marker.IMarkerVisitor
-
Nested classes/interfaces inherited from class org.eclipse.xtext.parser.packrat.tokens.AbstractParsedToken
AbstractParsedToken.End
-
Nested classes/interfaces inherited from interface org.eclipse.xtext.parser.packrat.IBacktracker
IBacktracker.IBacktrackingResult
-
-
Constructor Summary
Constructors Constructor Description Marker(Marker parent, int offset, ICharSequenceWithOffset input, Marker.IMarkerClient client)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(IParsedTokenVisitor visitor)
void
accept(AbstractParsedToken token)
void
commit()
Commit all recorded information.void
discardLastOffset()
void
flush()
Commit all recorded information.Marker
fork()
Create another marker for the very same original state of the parser.Marker
forkAfterSkipped(int before)
Marker.IMarkerClient
getClient()
java.util.List<AbstractParsedToken>
getContent()
ICharSequenceWithOffset
getInput()
Marker
getParent()
IMarkerFactory.IMarker
join(IMarkerFactory.IMarker forkedMarker)
Join the forked marker and keep this one as the better one.Marker
reInit(int offset, Marker parent, ICharSequenceWithOffset input, Marker.IMarkerClient client)
void
replaceContent(java.util.List<AbstractParsedToken> tokens)
void
rollback()
Discard all recorded information.void
setClient(Marker.IMarkerClient client)
void
setInput(ICharSequenceWithOffset input)
IBacktracker.IBacktrackingResult
skipPreviousToken()
java.lang.String
toString()
-
Methods inherited from class org.eclipse.xtext.parser.packrat.tokens.AbstractParsedToken
getLength, getOffset, getText, isSkipped, setLength, setOffset, setSkipped
-
-
-
-
Constructor Detail
-
Marker
public Marker(Marker parent, int offset, ICharSequenceWithOffset input, Marker.IMarkerClient client)
-
-
Method Detail
-
reInit
public Marker reInit(int offset, Marker parent, ICharSequenceWithOffset input, Marker.IMarkerClient client)
-
rollback
public void rollback()
Description copied from interface:IMarkerFactory.IMarker
Discard all recorded information. Rolls the parser's state back as it was before it was marked. The marker cannot be used any longer after a rollback.- Specified by:
rollback
in interfaceIMarkerFactory.IMarker
-
flush
public void flush()
Description copied from interface:IMarkerFactory.IMarker
Commit all recorded information. You can reuse a marker flushed marker. The flushed data cannot be rolled back by this marker.- Specified by:
flush
in interfaceIMarkerFactory.IMarker
-
commit
public void commit()
Description copied from interface:IMarkerFactory.IMarker
Commit all recorded information. You cannot use a marker any longer, if you commit it's data.- Specified by:
commit
in interfaceIMarkerFactory.IMarker
-
fork
public Marker fork()
Description copied from interface:IMarkerFactory.IMarker
Create another marker for the very same original state of the parser. A fork can be understood as an alternative branch in the decision tree. Before you commit or flush any of the alternatives, you have to ensure that they are rejoined. Otherwise will the commit be rejected.- Specified by:
fork
in interfaceIMarkerFactory.IMarker
-
forkAfterSkipped
public Marker forkAfterSkipped(int before)
-
join
public IMarkerFactory.IMarker join(IMarkerFactory.IMarker forkedMarker)
Description copied from interface:IMarkerFactory.IMarker
Join the forked marker and keep this one as the better one. Will discard all recorded information of the forked marker and reset the parsers state to this marker.- Specified by:
join
in interfaceIMarkerFactory.IMarker
-
getContent
public java.util.List<AbstractParsedToken> getContent()
-
getParent
public Marker getParent()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractParsedToken
-
accept
public void accept(IParsedTokenVisitor visitor)
- Overrides:
accept
in classAbstractParsedToken
-
accept
public void accept(AbstractParsedToken token)
- Specified by:
accept
in interfaceIParsedTokenAcceptor
-
setClient
public void setClient(Marker.IMarkerClient client)
-
getClient
public Marker.IMarkerClient getClient()
-
setInput
public void setInput(ICharSequenceWithOffset input)
-
getInput
public ICharSequenceWithOffset getInput()
-
skipPreviousToken
public IBacktracker.IBacktrackingResult skipPreviousToken()
- Specified by:
skipPreviousToken
in interfaceIBacktracker
-
discardLastOffset
public void discardLastOffset()
-
replaceContent
public void replaceContent(java.util.List<AbstractParsedToken> tokens)
-
-