Merge pull request #1459 from eclipse/cd_issue1458

[#1458] made XtextResource.getParser more easily customizeable
This commit is contained in:
Christian Dietrich 2020-04-29 18:17:34 +02:00 committed by GitHub
commit a15344e18a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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 {