Search in sources :

Example 1 with ILinker

use of org.eclipse.xtext.linking.ILinker 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;
}
Also used : ILinker(org.eclipse.xtext.linking.ILinker) XtextLinker(org.eclipse.xtext.xtext.XtextLinker) Xtext2EcoreTransformer(org.eclipse.xtext.xtext.ecoreInference.Xtext2EcoreTransformer) OnChangeEvictingCache(org.eclipse.xtext.util.OnChangeEvictingCache) XtextResource(org.eclipse.xtext.resource.XtextResource) Resource(org.eclipse.emf.ecore.resource.Resource) XtextResource(org.eclipse.xtext.resource.XtextResource) Grammar(org.eclipse.xtext.Grammar) TestErrorAcceptor(org.eclipse.xtext.tests.TestErrorAcceptor) ErrorAcceptor(org.eclipse.xtext.xtext.ecoreInference.ErrorAcceptor) IDiagnosticConsumer(org.eclipse.xtext.diagnostics.IDiagnosticConsumer) XtextResourceSet(org.eclipse.xtext.resource.XtextResourceSet) LinkingDiagnosticMessageProvider(org.eclipse.xtext.linking.impl.LinkingDiagnosticMessageProvider)

Aggregations

Resource (org.eclipse.emf.ecore.resource.Resource)1 Grammar (org.eclipse.xtext.Grammar)1 IDiagnosticConsumer (org.eclipse.xtext.diagnostics.IDiagnosticConsumer)1 ILinker (org.eclipse.xtext.linking.ILinker)1 LinkingDiagnosticMessageProvider (org.eclipse.xtext.linking.impl.LinkingDiagnosticMessageProvider)1 XtextResource (org.eclipse.xtext.resource.XtextResource)1 XtextResourceSet (org.eclipse.xtext.resource.XtextResourceSet)1 TestErrorAcceptor (org.eclipse.xtext.tests.TestErrorAcceptor)1 OnChangeEvictingCache (org.eclipse.xtext.util.OnChangeEvictingCache)1 XtextLinker (org.eclipse.xtext.xtext.XtextLinker)1 ErrorAcceptor (org.eclipse.xtext.xtext.ecoreInference.ErrorAcceptor)1 Xtext2EcoreTransformer (org.eclipse.xtext.xtext.ecoreInference.Xtext2EcoreTransformer)1