Search in sources :

Example 46 with EClass

use of org.eclipse.emf.ecore.EClass in project xtext-core by eclipse.

the class ResourceDescriptionsBasedContainerTest method testGetExportedObjectsByType_01.

@Test
public void testGetExportedObjectsByType_01() {
    EClass classifier = EcorePackage.Literals.ECLASSIFIER;
    Iterable<IEObjectDescription> iterable = container.getExportedObjectsByType(classifier);
    EObject eObject = Iterables.getOnlyElement(iterable).getEObjectOrProxy();
    assertSame(eClass, eObject);
}
Also used : EClass(org.eclipse.emf.ecore.EClass) EObject(org.eclipse.emf.ecore.EObject) InternalEObject(org.eclipse.emf.ecore.InternalEObject) IEObjectDescription(org.eclipse.xtext.resource.IEObjectDescription) Test(org.junit.Test)

Example 47 with EClass

use of org.eclipse.emf.ecore.EClass in project xtext-core by eclipse.

the class ResourceSetBasedResourceDescriptionsTest method testOneElement_Match.

@Test
public void testOneElement_Match() {
    QualifiedName qualifiedName = QualifiedName.create("SomeName");
    EClass type = EcorePackage.Literals.EPACKAGE;
    Resource resource = createResource();
    ENamedElement element = createNamedElement(qualifiedName, type, resource);
    Iterable<IEObjectDescription> iterable = container.getExportedObjectsByType(EcorePackage.Literals.EPACKAGE);
    assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
    iterable = container.getExportedObjectsByType(EcorePackage.Literals.EOBJECT);
    assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
    iterable = container.getExportedObjects(EcorePackage.Literals.EPACKAGE, qualifiedName, false);
    assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
    iterable = container.getExportedObjects(EcorePackage.Literals.ENAMED_ELEMENT, qualifiedName, false);
    assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
    iterable = container.getExportedObjects(EcorePackage.Literals.EOBJECT, qualifiedName, false);
    assertSame(element, Iterables.getOnlyElement(iterable).getEObjectOrProxy());
}
Also used : EClass(org.eclipse.emf.ecore.EClass) QualifiedName(org.eclipse.xtext.naming.QualifiedName) ENamedElement(org.eclipse.emf.ecore.ENamedElement) Resource(org.eclipse.emf.ecore.resource.Resource) IEObjectDescription(org.eclipse.xtext.resource.IEObjectDescription) Test(org.junit.Test)

Example 48 with EClass

use of org.eclipse.emf.ecore.EClass in project xtext-core by eclipse.

the class ScopeTest method testContentByEObject_withProxy.

@Test
public void testContentByEObject_withProxy() throws Exception {
    EClass eClass = EcoreFactory.eINSTANCE.createEClass();
    ((InternalEObject) eClass).eSetProxyURI(EcoreUtil.getURI(EcorePackage.eINSTANCE.getEAnnotation()));
    assertNotNull(scope.getSingleElement(eClass));
}
Also used : EClass(org.eclipse.emf.ecore.EClass) InternalEObject(org.eclipse.emf.ecore.InternalEObject) Test(org.junit.Test)

Example 49 with EClass

use of org.eclipse.emf.ecore.EClass in project xtext-core by eclipse.

the class DeclarativeScopeProviderTest method testScopeByReference2.

@SuppressWarnings("unused")
@Test
public void testScopeByReference2() throws Exception {
    final IScope a = new SimpleScope(IScope.NULLSCOPE, Collections.<IEObjectDescription>emptySet());
    final IScope b = new SimpleScope(IScope.NULLSCOPE, Collections.<IEObjectDescription>emptySet());
    final IScope c = new SimpleScope(IScope.NULLSCOPE, Collections.<IEObjectDescription>emptySet());
    AbstractDeclarativeScopeProvider provider = new AbstractDeclarativeScopeProvider() {

        private IScope scope_EClass_eSuperTypes(EClassifier clazz, EReference ref) {
            return a;
        }

        private IScope scope_EClass_eSuperTypes(EClass clazz, EReference ref) {
            return b;
        }

        private IScope scope_EClass_eSuperTypes(EReference ctx, EReference ref) {
            return c;
        }
    };
    EReference details = EcorePackage.eINSTANCE.getEClass_ESuperTypes();
    assertEquals(a, provider.getScope(EcorePackage.eINSTANCE.getEShort(), details));
    assertEquals(b, provider.getScope(details.getEContainingClass(), details));
    assertEquals(c, provider.getScope(details, details));
}
Also used : EClass(org.eclipse.emf.ecore.EClass) IScope(org.eclipse.xtext.scoping.IScope) EClassifier(org.eclipse.emf.ecore.EClassifier) EReference(org.eclipse.emf.ecore.EReference) Test(org.junit.Test)

Example 50 with EClass

use of org.eclipse.emf.ecore.EClass in project xtext-core by eclipse.

the class DeclarativeScopeProviderTest method testNested.

@SuppressWarnings("unused")
@Test
public void testNested() throws Exception {
    final IScope a = new SimpleScope(IScope.NULLSCOPE, Collections.<IEObjectDescription>emptySet());
    final IScope b = new SimpleScope(IScope.NULLSCOPE, Collections.<IEObjectDescription>emptySet());
    AbstractDeclarativeScopeProvider provider = new AbstractDeclarativeScopeProvider() {

        private IScope scope_EClass(EClass clazz, EReference ref) {
            return a;
        }

        private IScope scope_EClass(EReference ctx, EReference ref) {
            return b;
        }
    };
    EReference details = EcorePackage.eINSTANCE.getEClass_ESuperTypes();
    assertEquals(b, provider.getScope(details, details));
    assertEquals(a, provider.getScope(details.getEContainingClass(), details));
}
Also used : EClass(org.eclipse.emf.ecore.EClass) IScope(org.eclipse.xtext.scoping.IScope) EReference(org.eclipse.emf.ecore.EReference) Test(org.junit.Test)

Aggregations

EClass (org.eclipse.emf.ecore.EClass)205 Test (org.junit.Test)99 EPackage (org.eclipse.emf.ecore.EPackage)70 EClassifier (org.eclipse.emf.ecore.EClassifier)67 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)43 EObject (org.eclipse.emf.ecore.EObject)35 EStructuralFeature (org.eclipse.emf.ecore.EStructuralFeature)27 Resource (org.eclipse.emf.ecore.resource.Resource)23 EReference (org.eclipse.emf.ecore.EReference)22 IEObjectDescription (org.eclipse.xtext.resource.IEObjectDescription)16 ISerializationContext (org.eclipse.xtext.serializer.ISerializationContext)13 ParserRule (org.eclipse.xtext.ParserRule)12 QualifiedName (org.eclipse.xtext.naming.QualifiedName)12 InternalEObject (org.eclipse.emf.ecore.InternalEObject)11 StringConcatenationClient (org.eclipse.xtend2.lib.StringConcatenationClient)11 IScope (org.eclipse.xtext.scoping.IScope)11 ArrayList (java.util.ArrayList)10 AbstractRule (org.eclipse.xtext.AbstractRule)10 List (java.util.List)9 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)9