aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language/src/main/java/org/eclipse/viatra/solver/language/scoping/ProblemGlobalScopeProvider.java
blob: 05da277a2f4e62f07ceaa7a808d46352cb990a90 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package org.eclipse.viatra.solver.language.scoping;

import java.util.LinkedHashSet;

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider;

public class ProblemGlobalScopeProvider extends ImportUriGlobalScopeProvider {
	public static final String BUILTIN_LIBRARY_NAME = "builtin";

	public static final URI BULTIN_LIBRARY_URI = getLibraryUri(BUILTIN_LIBRARY_NAME);

	@Override
	protected LinkedHashSet<URI> getImportedUris(Resource resource) {
		LinkedHashSet<URI> importedUris = new LinkedHashSet<>();
		importedUris.add(BULTIN_LIBRARY_URI);
		return importedUris;
	}

	private static URI getLibraryUri(String libraryName) {
		return URI.createURI(ProblemGlobalScopeProvider.class.getClassLoader()
				.getResource("org/eclipse/viatra/solver/language/" + libraryName + ".problem").toString());
	}
}