]> 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 e1d0d59f7daab5e7022fde34382a07c57b919ff9..87ea5274d23aa0947d56c0d7163b67d3afa17368 100644 (file)
@@ -1,21 +1,38 @@
-package org.simantics.scl.compiler.tests;\r
-\r
-import org.simantics.scl.compiler.module.repository.ModuleRepository;\r
-import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository;\r
-import org.simantics.scl.compiler.source.repository.SourceRepositories;\r
-import org.simantics.scl.osgi.SCLOsgi;\r
-\r
-public class InitialRepository {\r
-    private static ModuleRepository MODULE_REPOSITORY1 = new ModuleRepository(\r
-            new CompositeModuleSourceRepository(\r
-                    SourceRepositories.BUILTIN_SOURCE_REPOSITORY,\r
-                    SourceRepositories.PRELUDE_SOURCE_REPOSITORY\r
-                    ));\r
-    \r
-    public static ModuleRepository getInitialRepository() {\r
-        if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed())\r
-            return MODULE_REPOSITORY1;\r
-        else\r
-            return SCLOsgi.MODULE_REPOSITORY;\r
-    }\r
-}\r
+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(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);
+    }
+}