diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java index a75f9cbbb..f3d50185b 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResource.java @@ -226,6 +226,21 @@ public class XtextResource extends ResourceImpl { super.doUnload(); parseResult = null; } + + /** + * @since 2.9 + */ + public void relink() { + if (!isLoaded()) { + throw new IllegalStateException("You can't update an unloaded resource."); + } + try { + isUpdating = true; + updateInternalState(parseResult, parseResult); + } finally { + isUpdating = false; + } + } public void update(int offset, int replacedTextLength, String newText) { if (!isLoaded()) {