Search in sources :

Example 41 with EClass

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

the class TypeHierarchyHelperTest method addClass.

private EClassInfo addClass(String name, boolean isGenerated) {
    EClass eClass = EcoreFactory.eINSTANCE.createEClass();
    eClass.setName(name);
    EClassInfo info = (EClassInfo) EClassifierInfo.createEClassInfo(eClass, isGenerated, Collections.<String>emptySet(), GrammarUtil.getGrammar(metamodel));
    infos.addInfo(metamodel, name, info);
    return info;
}
Also used : EClass(org.eclipse.emf.ecore.EClass) EClassInfo(org.eclipse.xtext.xtext.ecoreInference.EClassifierInfo.EClassInfo)

Example 42 with EClass

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

the class ValidatorFragment2 method generateValidationToDeprecateRules.

protected StringConcatenationClient generateValidationToDeprecateRules() {
    StringConcatenationClient _client = new StringConcatenationClient() {

        @Override
        protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) {
            {
                if (ValidatorFragment2.this.generateDeprecationValidation) {
                    {
                        List<AbstractRule> _deprecatedRulesFromGrammar = ValidatorFragment2.this.getDeprecatedRulesFromGrammar();
                        for (final AbstractRule deprecatedRule : _deprecatedRulesFromGrammar) {
                            EClassifier _classifier = deprecatedRule.getType().getClassifier();
                            ResourceSet _resourceSet = ValidatorFragment2.this.getGrammar().eResource().getResourceSet();
                            final TypeReference elementType = new TypeReference(((EClass) _classifier), _resourceSet);
                            _builder.newLineIfNotEmpty();
                            _builder.newLine();
                            _builder.append("@");
                            _builder.append(Check.class);
                            _builder.newLineIfNotEmpty();
                            _builder.append("public void checkDeprecated");
                            String _simpleName = elementType.getSimpleName();
                            _builder.append(_simpleName);
                            _builder.append("(");
                            _builder.append(elementType);
                            _builder.append(" element) {");
                            _builder.newLineIfNotEmpty();
                            _builder.append("\t");
                            _builder.append("warning(\"This part of the language is marked as deprecated and might get removed in the future!\", element, null);");
                            _builder.newLine();
                            _builder.append("}");
                            _builder.newLine();
                        }
                    }
                }
            }
        }
    };
    return _client;
}
Also used : EClass(org.eclipse.emf.ecore.EClass) StringConcatenationClient(org.eclipse.xtend2.lib.StringConcatenationClient) EClassifier(org.eclipse.emf.ecore.EClassifier) ResourceSet(org.eclipse.emf.ecore.resource.ResourceSet) TypeReference(org.eclipse.xtext.xtext.generator.model.TypeReference) AbstractRule(org.eclipse.xtext.AbstractRule)

Example 43 with EClass

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

the class ConcurrentAccessTest method setUp.

@Before
public void setUp() throws Exception {
    globalStateMemento = GlobalRegistries.makeCopyOfGlobalState();
    EPackage.Registry.INSTANCE.put(XMLTypePackage.eNS_URI, XMLTypePackage.eINSTANCE);
    ResourceSet resourceSet = new ResourceSetImpl();
    resource = new XtextResource(URI.createFileURI("something.ecore"));
    resourceSet.getResources().add(resource);
    EPackage start = EcoreFactory.eINSTANCE.createEPackage();
    resource.getContents().add(start);
    for (int i = 0; i < 100; i++) {
        File tempFile = temporaryFolder.createTempFile("Package" + i, ".ecore");
        URI fileURI = URI.createFileURI(tempFile.getAbsolutePath());
        Resource toBeProxified = resourceSet.createResource(fileURI);
        EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
        ePackage.setNsURI("http://www.test.me/" + i);
        toBeProxified.getContents().add(ePackage);
        for (int j = 0; j < 100; j++) {
            EAnnotation annotation = EcoreFactory.eINSTANCE.createEAnnotation();
            annotation.setSource("Source" + j);
            start.getEAnnotations().add(annotation);
            EClass superClass = EcoreFactory.eINSTANCE.createEClass();
            superClass.setName("SuperClass" + j);
            ePackage.getEClassifiers().add(superClass);
            annotation.getReferences().add(superClass);
        }
        toBeProxified.save(null);
    }
    EcoreUtil.resolveAll(resourceSet);
    for (int i = 100; i >= 1; i--) {
        Resource toBeProxified = resourceSet.getResources().get(i);
        toBeProxified.unload();
        resourceSet.getResources().remove(toBeProxified);
    }
}
Also used : EAnnotation(org.eclipse.emf.ecore.EAnnotation) EClass(org.eclipse.emf.ecore.EClass) ResourceSetImpl(org.eclipse.emf.ecore.resource.impl.ResourceSetImpl) Resource(org.eclipse.emf.ecore.resource.Resource) ResourceSet(org.eclipse.emf.ecore.resource.ResourceSet) File(java.io.File) URI(org.eclipse.emf.common.util.URI) EPackage(org.eclipse.emf.ecore.EPackage) Before(org.junit.Before)

Example 44 with EClass

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

the class ResourceSetReferencingResourceSetTest method getResource.

private Resource getResource(String resourceURI, String references) {
    XMIResourceImpl res = new XMIResourceImpl();
    res.setURI(URI.createURI(resourceURI));
    EcoreFactory f = EcoreFactory.eINSTANCE;
    EClass class1 = f.createEClass();
    res.getContents().add(class1);
    class1.setName("mytype");
    if (references != null) {
        EClass referencedProxy = f.createEClass();
        String fragment = res.getURIFragment(class1);
        ((InternalEObject) referencedProxy).eSetProxyURI(URI.createURI(references).appendFragment(fragment));
        class1.getESuperTypes().add(referencedProxy);
    }
    return res;
}
Also used : EClass(org.eclipse.emf.ecore.EClass) EcoreFactory(org.eclipse.emf.ecore.EcoreFactory) XMIResourceImpl(org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl) InternalEObject(org.eclipse.emf.ecore.InternalEObject)

Example 45 with EClass

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

the class ResourceSetReferencingResourceSetTest method testNotTranitive.

@Test
public void testNotTranitive() throws Exception {
    ResourceSetReferencingResourceSetImpl set1 = new ResourceSetReferencingResourceSetImpl();
    Resource resource = getResource("foo1", "foo3");
    set1.getResources().add(resource);
    ResourceSetReferencingResourceSetImpl set2 = new ResourceSetReferencingResourceSetImpl();
    Resource resource2 = getResource("foo2", null);
    set2.getResources().add(resource2);
    ResourceSetReferencingResourceSetImpl set3 = new ResourceSetReferencingResourceSetImpl();
    Resource resource3 = getResource("foo3", null);
    set3.getResources().add(resource3);
    set1.getReferencedResourceSets().add(set2);
    set2.getReferencedResourceSets().add(set3);
    EClass eClass = ((EClass) resource.getContents().get(0)).getESuperTypes().get(0);
    assertTrue(((InternalEObject) eClass).eIsProxy());
}
Also used : EClass(org.eclipse.emf.ecore.EClass) Resource(org.eclipse.emf.ecore.resource.Resource) 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