diff --git a/org.eclipse.xtext.testlanguages.ide/.classpath b/org.eclipse.xtext.testlanguages.ide/.classpath
index 557b73a6c..aa4b1d2e8 100644
--- a/org.eclipse.xtext.testlanguages.ide/.classpath
+++ b/org.eclipse.xtext.testlanguages.ide/.classpath
@@ -6,12 +6,6 @@
-
-
-
-
-
-
diff --git a/org.eclipse.xtext.testlanguages.ide/build.properties b/org.eclipse.xtext.testlanguages.ide/build.properties
index c2f1926b7..136c43d6a 100644
--- a/org.eclipse.xtext.testlanguages.ide/build.properties
+++ b/org.eclipse.xtext.testlanguages.ide/build.properties
@@ -1,6 +1,5 @@
source.. = src-gen/,\
- src/,\
- xtend-gen/
+ src/
output.. = bin/main/
bin.includes = META-INF/,\
.
diff --git a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.java b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.java
new file mode 100644
index 000000000..6507d83fc
--- /dev/null
+++ b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.java
@@ -0,0 +1,56 @@
+package org.eclipse.xtext.testlanguages.fileAware.ide.refactoring;
+
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.filter;
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.head;
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.map;
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.toMap;
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.toSet;
+
+import java.util.Map;
+import java.util.Set;
+
+import javax.inject.Inject;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.xtext.ide.serializer.hooks.IReferenceUpdaterContext;
+import org.eclipse.xtext.ide.serializer.impl.ReferenceUpdater;
+import org.eclipse.xtext.naming.IQualifiedNameProvider;
+import org.eclipse.xtext.naming.QualifiedName;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.Element;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.FileAwareFactory;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.Import;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration;
+import org.eclipse.xtext.xbase.lib.MapExtensions;
+
+public class FileAwareTestLanguageReferenceUpdater extends ReferenceUpdater {
+ @Inject
+ private IQualifiedNameProvider names;
+
+ private FileAwareFactory fileAwareFactory = FileAwareFactory.eINSTANCE;
+
+ @Override
+ public void update(IReferenceUpdaterContext context) {
+ super.update(context);
+ PackageDeclaration pkg = ((PackageDeclaration) head(context.getResource().getContents()));
+ QualifiedName pkgName = names.getFullyQualifiedName(pkg);
+ Map actual = toMap(pkg.getImports(), imp -> imp.getElement());
+ Iterable targets = filter(
+ map(context.getUpdatableReferences(), ur -> ur.getTargetEObject()),
+ Element.class);
+ Set expected = toSet(filter(targets, e -> !names.getFullyQualifiedName(e).startsWith(pkgName)));
+ Set toAdd = toSet(filter(expected, it -> !actual.containsKey(it)));
+ Map toDelete = MapExtensions.filter(actual, (Element e, Import i) -> !expected.contains(e));
+ if (!toAdd.isEmpty() || !toDelete.isEmpty()) {
+ context.modifyModel(() -> {
+ toDelete.values().forEach(it -> EcoreUtil.remove(it));
+ toAdd.forEach(e -> {
+ EList imports = pkg.getImports();
+ Import newImport = fileAwareFactory.createImport();
+ newImport.setElement(e);
+ imports.add(newImport);
+ });
+ });
+ }
+ }
+}
diff --git a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.xtend b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.xtend
deleted file mode 100644
index aec48e60c..000000000
--- a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.xtend
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.ide.refactoring
-
-import javax.inject.Inject
-import org.eclipse.emf.ecore.util.EcoreUtil
-import org.eclipse.xtext.ide.serializer.hooks.IReferenceUpdaterContext
-import org.eclipse.xtext.ide.serializer.impl.ReferenceUpdater
-import org.eclipse.xtext.naming.IQualifiedNameProvider
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.FileAwareFactory
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.Element
-
-class FileAwareTestLanguageReferenceUpdater extends ReferenceUpdater {
-
- @Inject IQualifiedNameProvider names
- extension FileAwareFactory = FileAwareFactory.eINSTANCE
-
- override update(IReferenceUpdaterContext context) {
- super.update(context)
- val pkg = context.resource.contents.head as PackageDeclaration
- val pkgName = names.getFullyQualifiedName(pkg)
- val actual = pkg.imports.toMap[element]
- val targets = context.updatableReferences.map[targetEObject].filter(Element)
- val expected = targets.filter[!names.getFullyQualifiedName(it).startsWith(pkgName)].toSet
- val toAdd = expected.filter[!actual.containsKey(it)].toSet
- val toDelete = actual.filter[!expected.contains($0)]
- if (!toAdd.isEmpty || !toDelete.isEmpty) {
- context.modifyModel [
- toDelete.values.forEach[EcoreUtil.remove(it)]
- toAdd.forEach[e|pkg.imports += createImport => [element = e]]
- ]
- }
- }
-
-}
diff --git a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.java b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.java
new file mode 100644
index 000000000..3bf1cb7da
--- /dev/null
+++ b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.java
@@ -0,0 +1,42 @@
+package org.eclipse.xtext.testlanguages.fileAware.ide.refactoring;
+
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.drop;
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.filter;
+import static org.eclipse.xtext.xbase.lib.IterableExtensions.head;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.ide.refactoring.IResourceRelocationStrategy;
+import org.eclipse.xtext.ide.refactoring.ResourceRelocationChange;
+import org.eclipse.xtext.ide.refactoring.ResourceRelocationContext;
+import org.eclipse.xtext.resource.IResourceServiceProvider;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration;
+
+import com.google.common.base.Joiner;
+import com.google.inject.Inject;
+
+public class FileAwareTestLanguageResourceRelocationStrategy implements IResourceRelocationStrategy {
+
+ @Inject
+ private IResourceServiceProvider resourceServiceProvider;
+
+ public boolean canHandle(ResourceRelocationChange change) {
+ return resourceServiceProvider.canHandle(change.getFromURI());
+ }
+
+ @Override
+ public void applyChange(ResourceRelocationContext context) {
+ filter(context.getChanges(), c -> canHandle(c)).forEach(change -> {
+ context.addModification(change, resource -> {
+
+ EObject rootElement = head(resource.getContents());
+ if (rootElement instanceof PackageDeclaration) {
+ List segments = change.getToURI().trimSegments(1).segmentsList();
+ String newPackage = Joiner.on(".").join(drop(segments, 2));
+ ((PackageDeclaration) rootElement).setName(newPackage);
+ }
+ });
+ });
+ }
+}
diff --git a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.xtend b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.xtend
deleted file mode 100644
index e7d2b5e01..000000000
--- a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.xtend
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.ide.refactoring
-
-import com.google.inject.Inject
-import org.eclipse.xtext.ide.refactoring.IResourceRelocationStrategy
-import org.eclipse.xtext.ide.refactoring.ResourceRelocationChange
-import org.eclipse.xtext.ide.refactoring.ResourceRelocationContext
-import org.eclipse.xtext.resource.IResourceServiceProvider
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration
-
-class FileAwareTestLanguageResourceRelocationStrategy implements IResourceRelocationStrategy {
-
- @Inject IResourceServiceProvider resourceServiceProvider
-
- def boolean canHandle(ResourceRelocationChange change) {
- resourceServiceProvider.canHandle(change.fromURI)
- }
-
- override applyChange(ResourceRelocationContext context) {
- context.changes.filter[ canHandle ].forEach [ change |
- context.addModification(change) [ resource |
- val rootElement = resource.contents.head
- if (rootElement instanceof PackageDeclaration) {
- val newPackage = change.toURI.trimSegments(1).segmentsList.drop(2).join('.')
- rootElement.name = newPackage
- }
- ]
- ]
- }
-}
diff --git a/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.java b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.java
similarity index 68%
rename from org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.java
rename to org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.java
index ae881d25e..727cd7984 100644
--- a/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.java
+++ b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.java
@@ -4,10 +4,9 @@ import com.google.inject.Injector;
import org.eclipse.xtext.testlanguages.fileAware.ide.FileAwareTestLanguageIdeSetup;
import org.eclipse.xtext.testlanguages.fileAware.tests.FileAwareTestLanguageInjectorProvider;
-@SuppressWarnings("all")
public class FileAwareTestLanguageIdeInjectorProvider extends FileAwareTestLanguageInjectorProvider {
- @Override
- public Injector internalCreateInjector() {
- return new FileAwareTestLanguageIdeSetup().createInjectorAndDoEMFRegistration();
- }
-}
+
+ public Injector internalCreateInjector() {
+ return new FileAwareTestLanguageIdeSetup().createInjectorAndDoEMFRegistration();
+ }
+}
\ No newline at end of file
diff --git a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.xtend b/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.xtend
deleted file mode 100644
index 378e7a917..000000000
--- a/org.eclipse.xtext.testlanguages.ide/src/org/eclipse/xtext/testlanguages/fileAware/ide/tests/FileAwareTestLanguageIdeInjectorProvider.xtend
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.ide.tests
-
-import com.google.inject.Injector
-import org.eclipse.xtext.testlanguages.fileAware.ide.FileAwareTestLanguageIdeSetup
-import org.eclipse.xtext.testlanguages.fileAware.tests.FileAwareTestLanguageInjectorProvider
-
-class FileAwareTestLanguageIdeInjectorProvider extends FileAwareTestLanguageInjectorProvider {
-
- override Injector internalCreateInjector() {
- return new FileAwareTestLanguageIdeSetup().createInjectorAndDoEMFRegistration();
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.java b/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.java
deleted file mode 100644
index 769ccfa2c..000000000
--- a/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageReferenceUpdater.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.ide.refactoring;
-
-import com.google.common.collect.Iterables;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Consumer;
-import javax.inject.Inject;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.xtext.ide.serializer.hooks.IReferenceUpdaterContext;
-import org.eclipse.xtext.ide.serializer.hooks.IUpdatableReference;
-import org.eclipse.xtext.ide.serializer.impl.ReferenceUpdater;
-import org.eclipse.xtext.naming.IQualifiedNameProvider;
-import org.eclipse.xtext.naming.QualifiedName;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.Element;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.FileAwareFactory;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.Import;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration;
-import org.eclipse.xtext.xbase.lib.Extension;
-import org.eclipse.xtext.xbase.lib.Functions.Function1;
-import org.eclipse.xtext.xbase.lib.Functions.Function2;
-import org.eclipse.xtext.xbase.lib.IterableExtensions;
-import org.eclipse.xtext.xbase.lib.ListExtensions;
-import org.eclipse.xtext.xbase.lib.MapExtensions;
-import org.eclipse.xtext.xbase.lib.ObjectExtensions;
-import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
-
-@SuppressWarnings("all")
-public class FileAwareTestLanguageReferenceUpdater extends ReferenceUpdater {
- @Inject
- private IQualifiedNameProvider names;
-
- @Extension
- private FileAwareFactory _fileAwareFactory = FileAwareFactory.eINSTANCE;
-
- @Override
- public void update(final IReferenceUpdaterContext context) {
- super.update(context);
- EObject _head = IterableExtensions.head(context.getResource().getContents());
- final PackageDeclaration pkg = ((PackageDeclaration) _head);
- final QualifiedName pkgName = this.names.getFullyQualifiedName(pkg);
- final Function1 _function = (Import it) -> {
- return it.getElement();
- };
- final Map actual = IterableExtensions.toMap(pkg.getImports(), _function);
- final Function1 _function_1 = (IUpdatableReference it) -> {
- return it.getTargetEObject();
- };
- final Iterable targets = Iterables.filter(ListExtensions.map(context.getUpdatableReferences(), _function_1), Element.class);
- final Function1 _function_2 = (Element it) -> {
- boolean _startsWith = this.names.getFullyQualifiedName(it).startsWith(pkgName);
- return Boolean.valueOf((!_startsWith));
- };
- final Set expected = IterableExtensions.toSet(IterableExtensions.filter(targets, _function_2));
- final Function1 _function_3 = (Element it) -> {
- boolean _containsKey = actual.containsKey(it);
- return Boolean.valueOf((!_containsKey));
- };
- final Set toAdd = IterableExtensions.toSet(IterableExtensions.filter(expected, _function_3));
- final Function2 _function_4 = (Element $0, Import $1) -> {
- boolean _contains = expected.contains($0);
- return Boolean.valueOf((!_contains));
- };
- final Map toDelete = MapExtensions.filter(actual, _function_4);
- if (((!toAdd.isEmpty()) || (!toDelete.isEmpty()))) {
- final Runnable _function_5 = () -> {
- final Consumer _function_6 = (Import it) -> {
- EcoreUtil.remove(it);
- };
- toDelete.values().forEach(_function_6);
- final Consumer _function_7 = (Element e) -> {
- EList _imports = pkg.getImports();
- Import _createImport = this._fileAwareFactory.createImport();
- final Procedure1 _function_8 = (Import it) -> {
- it.setElement(e);
- };
- Import _doubleArrow = ObjectExtensions.operator_doubleArrow(_createImport, _function_8);
- _imports.add(_doubleArrow);
- };
- toAdd.forEach(_function_7);
- };
- context.modifyModel(_function_5);
- }
- }
-}
diff --git a/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.java b/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.java
deleted file mode 100644
index a214bbc2e..000000000
--- a/org.eclipse.xtext.testlanguages.ide/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/ide/refactoring/FileAwareTestLanguageResourceRelocationStrategy.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.ide.refactoring;
-
-import com.google.inject.Inject;
-import java.util.function.Consumer;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.xtext.ide.refactoring.IResourceRelocationStrategy;
-import org.eclipse.xtext.ide.refactoring.ResourceRelocationChange;
-import org.eclipse.xtext.ide.refactoring.ResourceRelocationContext;
-import org.eclipse.xtext.ide.serializer.IChangeSerializer;
-import org.eclipse.xtext.resource.IResourceServiceProvider;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration;
-import org.eclipse.xtext.xbase.lib.Functions.Function1;
-import org.eclipse.xtext.xbase.lib.IterableExtensions;
-
-@SuppressWarnings("all")
-public class FileAwareTestLanguageResourceRelocationStrategy implements IResourceRelocationStrategy {
- @Inject
- private IResourceServiceProvider resourceServiceProvider;
-
- public boolean canHandle(final ResourceRelocationChange change) {
- return this.resourceServiceProvider.canHandle(change.getFromURI());
- }
-
- @Override
- public void applyChange(final ResourceRelocationContext context) {
- final Function1 _function = (ResourceRelocationChange it) -> {
- return Boolean.valueOf(this.canHandle(it));
- };
- final Consumer _function_1 = (ResourceRelocationChange change) -> {
- final IChangeSerializer.IModification _function_2 = (Resource resource) -> {
- final EObject rootElement = IterableExtensions.head(resource.getContents());
- if ((rootElement instanceof PackageDeclaration)) {
- final String newPackage = IterableExtensions.join(IterableExtensions.drop(change.getToURI().trimSegments(1).segmentsList(), 2), ".");
- ((PackageDeclaration)rootElement).setName(newPackage);
- }
- };
- context.addModification(change, _function_2);
- };
- IterableExtensions.filter(context.getChanges(), _function).forEach(_function_1);
- }
-}
diff --git a/org.eclipse.xtext.testlanguages/src/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.java b/org.eclipse.xtext.testlanguages/src/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.java
new file mode 100644
index 000000000..bff0f5924
--- /dev/null
+++ b/org.eclipse.xtext.testlanguages/src/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.java
@@ -0,0 +1,40 @@
+package org.eclipse.xtext.testlanguages.fileAware.scoping;
+
+import static org.eclipse.xtext.testlanguages.fileAware.fileAware.FileAwarePackage.Literals.IMPORT__ELEMENT;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.naming.QualifiedName;
+import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
+import org.eclipse.xtext.scoping.impl.ImportNormalizer;
+import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.Element;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.Import;
+import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration;
+
+public class FileAwareTestLanguageImportScopeProvider extends ImportedNamespaceAwareLocalScopeProvider {
+
+ @Override
+ protected List internalGetImportedNamespaceResolvers(EObject context, boolean ignoreCase) {
+ List resolvers = super.internalGetImportedNamespaceResolvers(context, ignoreCase);
+ if (context instanceof PackageDeclaration) {
+ resolvers.add(new ImportNormalizer(getQualifiedNameConverter().toQualifiedName(((PackageDeclaration) context).getName()), true, false));
+ for (Import imp : ((PackageDeclaration) context).getImports()) {
+ QualifiedName name = getImportedNamespace(imp);
+ resolvers.add(new ImportNormalizer(name, false, false));
+ }
+ }
+ return resolvers;
+ }
+
+ private QualifiedName getImportedNamespace(Import imp) {
+ Element ele = imp.getElement();
+ if (ele.eIsProxy()) {
+ String name = NodeModelUtils.findNodesForFeature(imp, IMPORT__ELEMENT).get(0).getText().trim();
+ return getQualifiedNameConverter().toQualifiedName(name);
+ } else {
+ return getQualifiedNameProvider().getFullyQualifiedName(ele);
+ }
+ }
+}
diff --git a/org.eclipse.xtext.testlanguages/src/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.xtend b/org.eclipse.xtext.testlanguages/src/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.xtend
deleted file mode 100644
index 8cc2443d8..000000000
--- a/org.eclipse.xtext.testlanguages/src/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.xtend
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.scoping
-
-import org.eclipse.emf.ecore.EObject
-import org.eclipse.xtext.naming.QualifiedName
-import org.eclipse.xtext.nodemodel.util.NodeModelUtils
-import org.eclipse.xtext.scoping.impl.ImportNormalizer
-import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.Import
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration
-import static org.eclipse.xtext.testlanguages.fileAware.fileAware.FileAwarePackage.Literals.*
-
-class FileAwareTestLanguageImportScopeProvider extends ImportedNamespaceAwareLocalScopeProvider {
-
- override protected internalGetImportedNamespaceResolvers(EObject context, boolean ignoreCase) {
- val resolvers = super.internalGetImportedNamespaceResolvers(context, ignoreCase)
- if (context instanceof PackageDeclaration) {
- resolvers += new ImportNormalizer(qualifiedNameConverter.toQualifiedName(context.name), true, false)
- for (imp : context.imports) {
- val name = imp.importedNamespace
- resolvers += new ImportNormalizer(name, false, false)
- }
- }
- return resolvers
- }
-
- private def QualifiedName getImportedNamespace(Import imp) {
- val ele = imp.element
- if (ele.eIsProxy) {
- val name = NodeModelUtils.findNodesForFeature(imp, IMPORT__ELEMENT).head.text.trim
- return qualifiedNameConverter.toQualifiedName(name)
- } else {
- return qualifiedNameProvider.getFullyQualifiedName(ele)
- }
- }
-}
diff --git a/org.eclipse.xtext.testlanguages/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.java b/org.eclipse.xtext.testlanguages/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.java
deleted file mode 100644
index a42bc82dd..000000000
--- a/org.eclipse.xtext.testlanguages/xtend-gen/org/eclipse/xtext/testlanguages/fileAware/scoping/FileAwareTestLanguageImportScopeProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.xtext.testlanguages.fileAware.scoping;
-
-import java.util.List;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.naming.QualifiedName;
-import org.eclipse.xtext.nodemodel.INode;
-import org.eclipse.xtext.nodemodel.util.NodeModelUtils;
-import org.eclipse.xtext.scoping.impl.ImportNormalizer;
-import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.Element;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.FileAwarePackage;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.Import;
-import org.eclipse.xtext.testlanguages.fileAware.fileAware.PackageDeclaration;
-import org.eclipse.xtext.xbase.lib.IterableExtensions;
-
-@SuppressWarnings("all")
-public class FileAwareTestLanguageImportScopeProvider extends ImportedNamespaceAwareLocalScopeProvider {
- @Override
- protected List internalGetImportedNamespaceResolvers(final EObject context, final boolean ignoreCase) {
- final List resolvers = super.internalGetImportedNamespaceResolvers(context, ignoreCase);
- if ((context instanceof PackageDeclaration)) {
- QualifiedName _qualifiedName = this.getQualifiedNameConverter().toQualifiedName(((PackageDeclaration)context).getName());
- ImportNormalizer _importNormalizer = new ImportNormalizer(_qualifiedName, true, false);
- resolvers.add(_importNormalizer);
- EList _imports = ((PackageDeclaration)context).getImports();
- for (final Import imp : _imports) {
- {
- final QualifiedName name = this.getImportedNamespace(imp);
- ImportNormalizer _importNormalizer_1 = new ImportNormalizer(name, false, false);
- resolvers.add(_importNormalizer_1);
- }
- }
- }
- return resolvers;
- }
-
- private QualifiedName getImportedNamespace(final Import imp) {
- final Element ele = imp.getElement();
- boolean _eIsProxy = ele.eIsProxy();
- if (_eIsProxy) {
- final String name = IterableExtensions.head(NodeModelUtils.findNodesForFeature(imp, FileAwarePackage.Literals.IMPORT__ELEMENT)).getText().trim();
- return this.getQualifiedNameConverter().toQualifiedName(name);
- } else {
- return this.getQualifiedNameProvider().getFullyQualifiedName(ele);
- }
- }
-}