Beispiel #1
0
        public BoundModule Create(RuntimicSystemModel runtimicSystem, BoundModuleNode moduleNode)
        {
            var module = new BoundModule()
            {
                Assembly   = moduleNode.AssemblyNode.BoundAssembly,
                ModuleNode = moduleNode
            };

            return(module);
        }
Beispiel #2
0
        public BoundModuleNode EnsureNode(RuntimicSystemModel runtimic, BoundAssemblyNode assemblyNode,
                                          StructuralModuleNode structuralModule)
        {
            var bound = runtimic.TypeSystems.Bound;

            if (bound.Modules.ByVersionId.TryGetValue(structuralModule.VersionId, out BoundModuleNode node))
            {
                return(node);
            }

            var moduleNode = new BoundModuleNode()
            {
                AssemblyNode = assemblyNode,
                InputStructuralDefinition = structuralModule
            };

            bound.Modules.ByVersionId.Add(structuralModule.VersionId, moduleNode);

            moduleNode.BoundModule = Modules.Creation.Create(runtimic, moduleNode);

            return(moduleNode);
        }