示例#1
0
        public void Add(RuntimicSystemModel model, UnifiedAssemblyNode assemblyNode, UnifiedModuleNode node)
        {
            //if (!model.Unified.Modules.Sets.TryGetValue(node.Name, out UnifiedModuleNodeSet set))
            //{
            //	set = new UnifiedModuleNodeSet()
            //	{
            //		Name = node.Name
            //	};

            //	model.Unified.Modules.Sets.Add(node.Name, set);
            //}

            //if (set.First == null)
            //{
            //	set.First = node;
            //	set.Last = node;
            //}
            //else
            //{
            //	set.Last.Next = node;
            //	set.Last = node;
            //}

            //assemblyNode.ModuleNodes.Add(node);
        }
示例#2
0
        public UnifiedTypeNode Extend(RuntimicSystemModel model, UnifiedAssemblyNode assemblyNode, UnifiedModuleNode moduleNode, TypeReference typeReference)
        {
            var node = Create(model, assemblyNode, moduleNode, typeReference);

            Add(model, node);

            return(node);
        }
示例#3
0
        public UnifiedTypeNode Create(RuntimicSystemModel model, UnifiedAssemblyNode assemblyNode, UnifiedModuleNode moduleNode, TypeReference typeReference)
        {
            var resolutionName = GetResolutionName(typeReference);

            //return new UnifiedTypeNode()
            //{
            //	ResolutionName = resolutionName,
            //	AssemblyNode = assemblyNode,
            //	ModuleNode= moduleNode,
            //	SourceTypeReference = typeReference
            //};

            throw new System.NotImplementedException();
        }
示例#4
0
        public UnifiedTypeNode Extend(RuntimicSystemModel model, UnifiedAssemblyNode assemblyNode, UnifiedModuleNode moduleNode, TypeReference typeReference, List <UnifiedTypeNode> types)
        {
            var unifiedTypeNode = Unified.Types.Extend(model, assemblyNode, moduleNode, typeReference);

            types?.Add(unifiedTypeNode);

            if (!(typeReference is TypeDefinition typeDefinition))
            {
                return(unifiedTypeNode);
            }

            if (!typeDefinition.HasNestedTypes)
            {
                return(unifiedTypeNode);
            }

            foreach (var nestedType in typeDefinition.NestedTypes)
            {
                Extend(model, assemblyNode, moduleNode, nestedType, types);
            }

            return(unifiedTypeNode);
        }
示例#5
0
        public void Extend(RuntimicSystemModel model, UnifiedAssemblyNode assemblyNode, UnifiedModuleNode moduleNode, List <UnifiedTypeNode> types)
        {
            var moduleDefinition = moduleNode.ModuleDefinition;

            foreach (var typeDefinition in moduleDefinition.Types)
            {
                var node = Extend(model, assemblyNode, moduleNode, typeDefinition, types);
            }
        }