public class TokenSequencePreservingPartialParsingHelper extends Object implements IPartialParsingHelper
| Constructor and Description |
|---|
TokenSequencePreservingPartialParsingHelper() |
| Modifier and Type | Method and Description |
|---|---|
protected PartialParsingPointers |
calculatePartialParsingPointers(ICompositeNode oldRoot,
ILeafNode left,
ILeafNode right) |
protected IParseResult |
doParseRegion(IParser parser,
PartialParsingPointers parsingPointers,
ICompositeNode replaceMe,
String reparseRegion) |
protected void |
filterInvalidRootNodes(List<ICompositeNode> validReplaceRootNodes) |
protected IParseResult |
fullyReparse(IParser parser,
IParseResult previousParseResult,
ReplaceRegion replaceRegion) |
protected List<ICompositeNode> |
getAllParents(ICompositeNode node) |
protected ILeafNode |
getLeftNode(Iterator<ILeafNode> leafNodes,
int offset) |
protected org.eclipse.emf.ecore.EObject |
getOldSemanticElement(ICompositeNode replaceMe,
PartialParsingPointers parsingPointers) |
protected ICompositeNode |
getReplacedNode(PartialParsingPointers parsingPointers) |
protected ILeafNode |
getRightNode(Iterator<ILeafNode> leafNodes,
int offset) |
protected String |
insertChangeIntoReplaceRegion(ICompositeNode rootNode,
ReplaceRegion region) |
protected List<ICompositeNode> |
internalFindValidReplaceRootNodeForChangeRegion(List<ICompositeNode> nodesEnclosingRegion)
Investigates the composite nodes containing the changed region and collects a list of nodes which could possibly
replaced by a partial parse.
|
protected boolean |
isActionNode(ICompositeNode node) |
protected boolean |
isBrokenPreviousState(IParseResult previousParseResult,
int offset)
Returns true if the previous document state was completely broken, e.g. the parser did not recover at all.
|
protected boolean |
isInvalidRootNode(ICompositeNode candidate) |
protected boolean |
isSameTokenSequence(String originalText,
String newText,
int expectedLength) |
protected boolean |
isSameTokenSequence(org.antlr.runtime.TokenSource originalSource,
org.antlr.runtime.TokenSource newSource,
int expectedLength) |
IParseResult |
reparse(IParser parser,
IParseResult previousParseResult,
ReplaceRegion changedRegion) |
protected void |
replaceOldSemanticElement(org.eclipse.emf.ecore.EObject oldElement,
IParseResult previousParseResult,
IParseResult newParseResult) |
protected void |
unloadSemanticObject(org.eclipse.emf.ecore.EObject object) |
public TokenSequencePreservingPartialParsingHelper()
public IParseResult reparse(IParser parser, IParseResult previousParseResult, ReplaceRegion changedRegion)
reparse in interface IPartialParsingHelperprotected boolean isBrokenPreviousState(IParseResult previousParseResult, int offset)
import static class C {}
where the class keyword is consumed as an invalid token in the import declaration and everything thereafter
is unrecoverable.protected void replaceOldSemanticElement(org.eclipse.emf.ecore.EObject oldElement,
IParseResult previousParseResult,
IParseResult newParseResult)
protected org.eclipse.emf.ecore.EObject getOldSemanticElement(ICompositeNode replaceMe, PartialParsingPointers parsingPointers)
protected ICompositeNode getReplacedNode(PartialParsingPointers parsingPointers)
protected IParseResult doParseRegion(IParser parser, PartialParsingPointers parsingPointers, ICompositeNode replaceMe, String reparseRegion)
protected boolean isSameTokenSequence(String originalText, String newText, int expectedLength)
protected boolean isSameTokenSequence(org.antlr.runtime.TokenSource originalSource,
org.antlr.runtime.TokenSource newSource,
int expectedLength)
protected IParseResult fullyReparse(IParser parser, IParseResult previousParseResult, ReplaceRegion replaceRegion)
protected void unloadSemanticObject(org.eclipse.emf.ecore.EObject object)
protected String insertChangeIntoReplaceRegion(ICompositeNode rootNode, ReplaceRegion region)
protected PartialParsingPointers calculatePartialParsingPointers(ICompositeNode oldRoot, ILeafNode left, ILeafNode right)
protected List<ICompositeNode> getAllParents(ICompositeNode node)
protected void filterInvalidRootNodes(List<ICompositeNode> validReplaceRootNodes)
protected boolean isInvalidRootNode(ICompositeNode candidate)
protected List<ICompositeNode> internalFindValidReplaceRootNodeForChangeRegion(List<ICompositeNode> nodesEnclosingRegion)
protected boolean isActionNode(ICompositeNode node)
Copyright © 2015. All Rights Reserved.