[#1458] made XtextResource.getParser more easily customizeable

Signed-off-by: Christian Dietrich <christian.dietrich@itemis.de>
This commit is contained in:
Christian Dietrich 2020-04-28 12:47:11 +02:00
parent e7db3d48a8
commit d83619ad80

View file

@ -174,9 +174,9 @@ public class XtextResource extends ResourceImpl {
setEncodingFromOptions(options);
IParseResult result;
if (entryPoint == null) {
result = parser.parse(createReader(inputStream));
result = getParser().parse(createReader(inputStream));
} else {
result = parser.parse(entryPoint, createReader(inputStream));
result = getParser().parse(entryPoint, createReader(inputStream));
}
updateInternalState(this.parseResult, result);
}
@ -263,11 +263,11 @@ public class XtextResource extends ResourceImpl {
IParseResult newParseResult;
ParserRule oldEntryPoint = NodeModelUtils.getEntryParserRule(oldParseResult.getRootNode());
if (entryPoint == null || entryPoint == oldEntryPoint) {
newParseResult = parser.reparse(oldParseResult, replaceRegion);
newParseResult = getParser().reparse(oldParseResult, replaceRegion);
} else {
StringBuilder builder = new StringBuilder(oldParseResult.getRootNode().getText());
replaceRegion.applyTo(builder);
newParseResult = parser.parse(entryPoint, new StringReader(builder.toString()));
newParseResult = getParser().parse(entryPoint, new StringReader(builder.toString()));
}
updateInternalState(oldParseResult, newParseResult);
} finally {