Skip to content

Commit 060c02a

Browse files
authored
Merge pull request #1243 from andrewL-avlq/ACF-13849-b
fix: keep parse result set while loading node model.
2 parents 16b2d74 + 3ea1c8c commit 060c02a

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

com.avaloq.tools.ddk.xtext/src/com/avaloq/tools/ddk/xtext/resource/persistence/DirectLinkingResourceStorageLoadable.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.eclipse.xtext.nodemodel.impl.SerializableNodeModel;
3838
import org.eclipse.xtext.nodemodel.serialization.DeserializationConversionContext;
3939
import org.eclipse.xtext.parser.ParseResult;
40+
import org.eclipse.xtext.resource.XtextResource;
4041
import org.eclipse.xtext.resource.persistence.ResourceStorageLoadable;
4142
import org.eclipse.xtext.resource.persistence.StorageAwareResource;
4243

@@ -322,7 +323,8 @@ private void addFakeModel(final StorageAwareResource resource) {
322323
protected void readNodeModel(final StorageAwareResource resource, final InputStream inputStream, final String content) throws IOException {
323324
DeserializationConversionContext deserializationContext = new ProxyAwareDeserializationConversionContext(resource, content);
324325
DataInputStream dataIn = new DataInputStream(inputStream);
325-
SerializableNodeModel serializableNodeModel = new SerializableNodeModel(resource);
326+
// use empty resource here so that we can leave the proxy node in place right up until the loaded model is set below.
327+
SerializableNodeModel serializableNodeModel = new SerializableNodeModel(new XtextResource());
326328
serializableNodeModel.readObjectData(dataIn, deserializationContext);
327329
resource.setParseResult(new ParseResult(resource.getContents().get(0), serializableNodeModel.root, deserializationContext.hasErrors()));
328330
}

com.avaloq.tools.ddk.xtext/src/com/avaloq/tools/ddk/xtext/resource/persistence/ProxyCompositeNode.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,6 @@ static List<EObject> uninstallProxyNodeModel(final Resource resource) {
118118
result = proxyNode.idToEObjectMap;
119119
}
120120
}
121-
122-
if (resource instanceof XtextResource) {
123-
((XtextResource) resource).setParseResult(null);
124-
}
125121
return result;
126122
}
127123

0 commit comments

Comments
 (0)