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;
}
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;
}
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);
}
}
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;
}
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());
}
Aggregations