From e601780158799fba30d6a9185da292c4e0789eb3 Mon Sep 17 00:00:00 2001 From: jkohnlein Date: Mon, 21 Jul 2008 15:41:23 +0000 Subject: [PATCH] Added uri to resource map to improve performance --- .../src/org/eclipse/xtext/GrammarUtil.java | 9 ++++++--- .../org/eclipse/xtext/parsetree/impl/ParsetreeUtil.java | 1 - .../src/org/eclipse/xtext/resource/XtextResourceSet.java | 4 ++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java index 71cbf2e39..757fac0ef 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/GrammarUtil.java @@ -9,8 +9,11 @@ package org.eclipse.xtext; -import static org.eclipse.emf.ecore.util.EcoreUtil.*; -import static org.eclipse.xtext.EcoreUtil2.*; +import static org.eclipse.emf.ecore.util.EcoreUtil.getRootContainer; +import static org.eclipse.xtext.EcoreUtil2.eAllContentsAsList; +import static org.eclipse.xtext.EcoreUtil2.getAllContentsOfType; +import static org.eclipse.xtext.EcoreUtil2.getContainerOfType; +import static org.eclipse.xtext.EcoreUtil2.typeSelect; import java.util.ArrayList; import java.util.HashSet; @@ -153,7 +156,7 @@ public class GrammarUtil { throw new IllegalArgumentException("The passed grammar is not contained in a Resourceset"); ResourceSet resourceSet = _this.eResource().getResourceSet(); URI uri = getClasspathURIForLanguageId(id); - uri = uri.appendFragment(""); + //uri = uri.appendFragment(""); Resource resource = resourceSet.getResource(uri, true); if (resource==null) throw new IllegalArgumentException("Couldn't find grammar for super language "+id); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/impl/ParsetreeUtil.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/impl/ParsetreeUtil.java index 3e3ff937b..da2341631 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/impl/ParsetreeUtil.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/parsetree/impl/ParsetreeUtil.java @@ -39,7 +39,6 @@ public class ParsetreeUtil { checkArgument(_this); AbstractNode rootContainer = (AbstractNode) EcoreUtil.getRootContainer(_this); EList leafNodes = rootContainer.getLeafNodes(_this); - // TODO JK: Why is line set here to 1 instead of 0? (BK) int line = 1; for (LeafNode leafNode : leafNodes) { String text = leafNode.getText(); diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceSet.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceSet.java index 65bfaf710..cf5d9faaa 100644 --- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceSet.java +++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/resource/XtextResourceSet.java @@ -8,7 +8,10 @@ *******************************************************************************/ package org.eclipse.xtext.resource; +import java.util.HashMap; + import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.URIConverter; import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; @@ -25,6 +28,7 @@ public class XtextResourceSet extends ResourceSetImpl { private Object classpathURIContext; public XtextResourceSet() { + setURIResourceMap(new HashMap()); } private URI resolveClasspathURI(URI uri) {