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 interfaceMarker.IMarkerClientstatic interfaceMarker.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 voidaccept(IParsedTokenVisitor visitor)voidaccept(AbstractParsedToken token)voidcommit()Commit all recorded information.voiddiscardLastOffset()voidflush()Commit all recorded information.Markerfork()Create another marker for the very same original state of the parser.MarkerforkAfterSkipped(int before)Marker.IMarkerClientgetClient()java.util.List<AbstractParsedToken>getContent()ICharSequenceWithOffsetgetInput()MarkergetParent()IMarkerFactory.IMarkerjoin(IMarkerFactory.IMarker forkedMarker)Join the forked marker and keep this one as the better one.MarkerreInit(int offset, Marker parent, ICharSequenceWithOffset input, Marker.IMarkerClient client)voidreplaceContent(java.util.List<AbstractParsedToken> tokens)voidrollback()Discard all recorded information.voidsetClient(Marker.IMarkerClient client)voidsetInput(ICharSequenceWithOffset input)IBacktracker.IBacktrackingResultskipPreviousToken()java.lang.StringtoString()-
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.IMarkerDiscard 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:
rollbackin interfaceIMarkerFactory.IMarker
-
flush
public void flush()
Description copied from interface:IMarkerFactory.IMarkerCommit all recorded information. You can reuse a marker flushed marker. The flushed data cannot be rolled back by this marker.- Specified by:
flushin interfaceIMarkerFactory.IMarker
-
commit
public void commit()
Description copied from interface:IMarkerFactory.IMarkerCommit all recorded information. You cannot use a marker any longer, if you commit it's data.- Specified by:
commitin interfaceIMarkerFactory.IMarker
-
fork
public Marker fork()
Description copied from interface:IMarkerFactory.IMarkerCreate 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:
forkin interfaceIMarkerFactory.IMarker
-
forkAfterSkipped
public Marker forkAfterSkipped(int before)
-
join
public IMarkerFactory.IMarker join(IMarkerFactory.IMarker forkedMarker)
Description copied from interface:IMarkerFactory.IMarkerJoin 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:
joinin interfaceIMarkerFactory.IMarker
-
getContent
public java.util.List<AbstractParsedToken> getContent()
-
getParent
public Marker getParent()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classAbstractParsedToken
-
accept
public void accept(IParsedTokenVisitor visitor)
- Overrides:
acceptin classAbstractParsedToken
-
accept
public void accept(AbstractParsedToken token)
- Specified by:
acceptin 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:
skipPreviousTokenin interfaceIBacktracker
-
discardLastOffset
public void discardLastOffset()
-
replaceContent
public void replaceContent(java.util.List<AbstractParsedToken> tokens)
-
-