package org.simantics.scl.compiler.tests;
+import org.simantics.scl.compiler.environment.Environment;
+import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification;
+import org.simantics.scl.compiler.module.repository.ImportFailureException;
import org.simantics.scl.compiler.module.repository.ModuleRepository;
import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository;
import org.simantics.scl.compiler.source.repository.SourceRepositories;
import org.simantics.scl.osgi.SCLOsgi;
public class InitialRepository {
+ public static final boolean NO_PRELUDE = false;
+
private static ModuleRepository MODULE_REPOSITORY1 = new ModuleRepository(
new CompositeModuleSourceRepository(
SourceRepositories.BUILTIN_SOURCE_REPOSITORY,
SourceRepositories.PRELUDE_SOURCE_REPOSITORY
));
+ public static EnvironmentSpecification DEFAULT_ENVIRONMENT_SPECIFICATION = new EnvironmentSpecification();
+ static {
+ DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Builtin", "");
+ DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Prelude", "");
+ }
+
public static ModuleRepository getInitialRepository() {
- if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed())
+ if(NO_PRELUDE)
+ return new ModuleRepository(SourceRepositories.BUILTIN_SOURCE_REPOSITORY);
+ else if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed())
return MODULE_REPOSITORY1;
else
return SCLOsgi.MODULE_REPOSITORY;
}
+
+ public static Environment getDefaultEnvironment() throws ImportFailureException {
+ return getInitialRepository().createEnvironment(DEFAULT_ENVIRONMENT_SPECIFICATION, null);
+ }
}