Search in sources :

Example 1 with ResourceDescriptionsProvider

use of org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider in project xtext-core by eclipse.

the class PartialLinkingTest method setUp.

@Override
public void setUp() throws Exception {
    super.setUp();
    with(ReferenceGrammarTestLanguageStandaloneSetup.class);
    IQualifiedNameConverter nameConverter = new IQualifiedNameConverter.DefaultImpl();
    IQualifiedNameProvider nameProvider = new DefaultDeclarativeQualifiedNameProvider();
    ImportUriGlobalScopeProvider globalScopeProvider = new ImportUriGlobalScopeProvider();
    globalScopeProvider.setImportResolver(new ImportUriResolver());
    globalScopeProvider.setCache(IResourceScopeCache.NullImpl.INSTANCE);
    final ResourceDescriptionsProvider provider = new ResourceDescriptionsProvider();
    provider.setResourceDescriptions(new Provider<IResourceDescriptions>() {

        @Override
        public IResourceDescriptions get() {
            return new IResourceDescriptions.NullImpl();
        }
    });
    globalScopeProvider.setResourceDescriptionsProvider(provider);
    globalScopeProvider.setLoadOnDemandDescriptions(new Provider<LoadOnDemandResourceDescriptions>() {

        @Override
        public LoadOnDemandResourceDescriptions get() {
            return PartialLinkingTest.this.get(LoadOnDemandResourceDescriptions.class);
        }
    });
    CaseInsensitivityHelper caseInsensitivityHelper = new CaseInsensitivityHelper();
    globalScopeProvider.setCaseInsensitivityHelper(caseInsensitivityHelper);
    scopeProvider = new ImportedNamespaceAwareLocalScopeProvider(globalScopeProvider, nameProvider, nameConverter, caseInsensitivityHelper);
    modelAsText = "spielplatz 1 {\n" + "  kind( Bommel1 1)\n" + "  kind( Bommel2 2)\n" + "  kind( Bommel3 3)\n" + "  erwachsener( Bob 4)\n" + "  erwachsener( Joe 5)\n" + "  familie( Familienname Bob Joe Bommel2 )\n" + "}";
    resource = getResourceFromString(modelAsText);
    assertTrue(resource.getErrors().toString(), resource.getErrors().isEmpty());
    model = resource.getParseResult().getRootASTElement();
    final Iterator<EObject> iter = model.eAllContents();
    while (iter.hasNext() && context == null) {
        final EObject candidate = iter.next();
        final String className = candidate.eClass().getName();
        if (className.endsWith("Familie"))
            context = candidate;
    }
    reference = (EReference) context.eClass().getEStructuralFeature("kinder");
}
Also used : DefaultDeclarativeQualifiedNameProvider(org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider) ImportedNamespaceAwareLocalScopeProvider(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider) IQualifiedNameConverter(org.eclipse.xtext.naming.IQualifiedNameConverter) ImportUriResolver(org.eclipse.xtext.scoping.impl.ImportUriResolver) ResourceDescriptionsProvider(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider) ImportUriGlobalScopeProvider(org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider) IQualifiedNameProvider(org.eclipse.xtext.naming.IQualifiedNameProvider) IResourceDescriptions(org.eclipse.xtext.resource.IResourceDescriptions) CaseInsensitivityHelper(org.eclipse.xtext.scoping.impl.CaseInsensitivityHelper) EObject(org.eclipse.emf.ecore.EObject) LoadOnDemandResourceDescriptions(org.eclipse.xtext.scoping.impl.LoadOnDemandResourceDescriptions)

Aggregations

EObject (org.eclipse.emf.ecore.EObject)1 DefaultDeclarativeQualifiedNameProvider (org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider)1 IQualifiedNameConverter (org.eclipse.xtext.naming.IQualifiedNameConverter)1 IQualifiedNameProvider (org.eclipse.xtext.naming.IQualifiedNameProvider)1 IResourceDescriptions (org.eclipse.xtext.resource.IResourceDescriptions)1 ResourceDescriptionsProvider (org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider)1 CaseInsensitivityHelper (org.eclipse.xtext.scoping.impl.CaseInsensitivityHelper)1 ImportUriGlobalScopeProvider (org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider)1 ImportUriResolver (org.eclipse.xtext.scoping.impl.ImportUriResolver)1 ImportedNamespaceAwareLocalScopeProvider (org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider)1 LoadOnDemandResourceDescriptions (org.eclipse.xtext.scoping.impl.LoadOnDemandResourceDescriptions)1