]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/InitialRepository.java
(refs #7588) Support for existential type variables with syntax ?v
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / InitialRepository.java
1 package org.simantics.scl.compiler.tests;
2
3 import org.simantics.scl.compiler.environment.Environment;
4 import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification;
5 import org.simantics.scl.compiler.module.repository.ImportFailureException;
6 import org.simantics.scl.compiler.module.repository.ModuleRepository;
7 import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository;
8 import org.simantics.scl.compiler.source.repository.SourceRepositories;
9 import org.simantics.scl.osgi.SCLOsgi;
10
11 public class InitialRepository {
12     public static final boolean NO_PRELUDE = false;
13     
14     private static ModuleRepository MODULE_REPOSITORY1 = new ModuleRepository(
15             new CompositeModuleSourceRepository(
16                     SourceRepositories.BUILTIN_SOURCE_REPOSITORY,
17                     SourceRepositories.PRELUDE_SOURCE_REPOSITORY
18                     ));
19     
20     public static EnvironmentSpecification DEFAULT_ENVIRONMENT_SPECIFICATION = new EnvironmentSpecification();
21     static {
22         DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Builtin", "");
23         DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Prelude", "");
24     }
25     
26     public static ModuleRepository getInitialRepository() {
27         if(NO_PRELUDE)
28             return new ModuleRepository(SourceRepositories.BUILTIN_SOURCE_REPOSITORY);
29         else if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed())
30             return MODULE_REPOSITORY1;
31         else
32             return SCLOsgi.MODULE_REPOSITORY;
33     }
34     
35     public static Environment getDefaultEnvironment() throws ImportFailureException {
36         return getInitialRepository().createEnvironment(DEFAULT_ENVIRONMENT_SPECIFICATION, null);
37     }
38 }