]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
index 917696bf4aee757875d8d8044d0900f61d54e3a4..87ea5274d23aa0947d56c0d7163b67d3afa17368 100644 (file)
@@ -1,21 +1,38 @@
 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);
+    }
 }