use of org.eclipse.xtext.xtext.ecoreInference.Xtext2EcoreTransformer in project xtext-core by eclipse.
the class Xtext2EcoreTransformerTest method testPostProcessorHook.
@Test
public void testPostProcessorHook() throws Exception {
StringConcatenation _builder = new StringConcatenation();
_builder.append("grammar test with org.eclipse.xtext.common.Terminals import \'http://www.eclipse.org/emf/2002/Ecore\' as ecore generate test \'http://test\' MyRule: myFeature=INT;");
final String xtextGrammar = _builder.toString();
EObject _model = this.getModel(xtextGrammar);
final Grammar grammar = ((Grammar) _model);
final Xtext2EcoreTransformer transformer = new Xtext2EcoreTransformer(grammar);
AbstractMetamodelDeclaration _get = grammar.getMetamodelDeclarations().get(1);
GeneratedMetamodel testMetamodel = ((GeneratedMetamodel) _get);
final Xtext2EcoreTransformerTest.MockedXtext2EcorePostProcessor postProcessor = new Xtext2EcoreTransformerTest.MockedXtext2EcorePostProcessor(testMetamodel);
transformer.setPostProcessor(postProcessor);
transformer.transform();
Assert.assertEquals("process mthde called once", 1, postProcessor.proccessMethCalled());
}
use of org.eclipse.xtext.xtext.ecoreInference.Xtext2EcoreTransformer in project xtext-core by eclipse.
the class Xtext2EcoreTransformerTest method doGetResource.
@Override
public XtextResource doGetResource(final InputStream in, final URI uri) throws Exception {
XtextResourceSet rs = this.<XtextResourceSet>get(XtextResourceSet.class);
rs.setClasspathURIContext(this.getClass());
Resource _createResource = this.getResourceFactory().createResource(uri);
final XtextResource resource = ((XtextResource) _createResource);
rs.getResources().add(resource);
XtextLinker linker = new XtextLinker() {
@Override
protected Xtext2EcoreTransformer createTransformer(final Grammar grammar, final IDiagnosticConsumer consumer) {
Xtext2EcoreTransformer result = super.createTransformer(grammar, consumer);
ErrorAcceptor _errorAcceptor = result.getErrorAcceptor();
Xtext2EcoreTransformerTest.MyErrorAcceptor _myErrorAcceptor = new Xtext2EcoreTransformerTest.MyErrorAcceptor(_errorAcceptor, Xtext2EcoreTransformerTest.this.errorAcceptorMock);
result.setErrorAcceptor(_myErrorAcceptor);
return result;
}
};
ILinker _linker = resource.getLinker();
linker.setScopeProvider(((XtextLinker) _linker).getScopeProvider());
ILinker _linker_1 = resource.getLinker();
linker.setLinkingService(((Linker) _linker_1).getLinkingService());
ILinker _linker_2 = resource.getLinker();
linker.setLinkingHelper(((Linker) _linker_2).getLinkingHelper());
XtextLinker.PackageRemover _packageRemover = new XtextLinker.PackageRemover();
linker.setPackageRemover(_packageRemover);
LinkingDiagnosticMessageProvider _linkingDiagnosticMessageProvider = new LinkingDiagnosticMessageProvider();
linker.setDiagnosticMessageProvider(_linkingDiagnosticMessageProvider);
OnChangeEvictingCache _onChangeEvictingCache = new OnChangeEvictingCache();
linker.setCache(_onChangeEvictingCache);
resource.setLinker(linker);
resource.load(in, null);
return resource;
}
Aggregations