X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fmodule%2Frepository%2FModuleRepository.java;fp=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fmodule%2Frepository%2FModuleRepository.java;h=78dfa8f886b3de9ed68648b7dbced730392a108a;hb=63369acd7e6020a2148f40f6bab96b0b2ba392d8;hp=a6650e9a44faa5627b41b0cf260ee6ecf6baaadb;hpb=89539b3b9d550028d15c6abcc9ecee3423d5a4a7;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepository.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepository.java index a6650e9a4..78dfa8f88 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepository.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/module/repository/ModuleRepository.java @@ -3,7 +3,9 @@ package org.simantics.scl.compiler.module.repository; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.simantics.scl.compiler.common.exceptions.InternalCompilerError; @@ -52,6 +54,7 @@ public class ModuleRepository { private final ModuleRepository parentRepository; private final ModuleSourceRepository sourceRepository; private ConcurrentHashMap moduleCache = new ConcurrentHashMap(); + public Set runtimeEnvironments = new HashSet(); private static final ThreadLocal> PENDING_MODULES = new ThreadLocal>(); @@ -395,7 +398,9 @@ public class ModuleRepository { THashMap moduleMap = mapEntriesToModules(entries); Environment environment = createEnvironment(moduleMap, imports); THashMap runtimeModuleMap = mapEntriesToRuntimeModules(entries); - return new RuntimeEnvironmentImpl(environment, parentClassLoader, runtimeModuleMap); + RuntimeEnvironmentImpl result = new RuntimeEnvironmentImpl(environment, parentClassLoader, runtimeModuleMap); + runtimeEnvironments.add(result); + return result; } private static Environment createEnvironment( @@ -530,6 +535,10 @@ public class ModuleRepository { public void setAdvisor(ModuleCompilationOptionsAdvisor advisor) { this.advisor = advisor; } + + public Set getRuntimeEnvironments() { + return runtimeEnvironments; + } } \ No newline at end of file