/// <summary> /// Adds to dictionary - each item of <see cref="ModelDesign{WrapperType, ModelType}"/> from this collection is added to <paramref name="space"/>. /// </summary> /// <param name="space">The address space.</param> internal void AddNode2AddressSpace(IAddressSpaceCreator space) { foreach (ModelDesign item in this) { item.AddNode2AddressSpace(space); } }
internal void AddNode2AddressSpace(IAddressSpaceCreator space) { foreach (ProjectTreeNode node in this) { node.AddNode2AddressSpace(space); } }
/// <summary> /// Resets the and adds to address space. For each <see cref="LibraryTreeNode"/> item in this collection call <see cref="LibraryTreeNode.AddNode2AddressSpace"/> /// </summary> /// <param name="space">The space.</param> internal void AddNode2AddressSpace(IAddressSpaceCreator space) { foreach (LibraryTreeNode lib in this) { lib.AddNode2AddressSpace(space); } }
/// <summary> /// Add this node to the address space <see cref="IAddressSpaceCreator"/>. /// </summary> /// <param name="space">The address space.</param> protected override void AddNode2AddressSpace(IAddressSpaceCreator space) { base.AddNode2AddressSpace(space); foreach (var item in m_Fields) { //TODO add field to AddressSpace } }
protected IInstanceNodesCollection AddChildren(IAddressSpaceCreator space, XmlQualifiedName parentNodeID, int parentAddressSpaceIndex, bool isInstanceDeclaration) { IInstanceNodesCollection _children = space.CreateNodesCollection(); foreach (IInstanceNode item in this.Children) { _children.Add(item, parentNodeID, parentAddressSpaceIndex, isInstanceDeclaration); } return(_children); }
/// <summary> /// All items in this collection of <see cref="INodeDesign"/> is added to the <paramref name="space"/> /// </summary> /// <param name="space">The address space.</param> internal void AddNode2AddressSpace(IAddressSpaceCreator space) { foreach (IBaseModel item in this) { INodeDesign modelItem = item as INodeDesign; if (modelItem != null) { modelItem.AddNode2AddressSpace(space); } } }
protected override void AddNode2AddressSpace(IAddressSpaceCreator space) { base.AddNode2AddressSpace(space); foreach (var item in m_inputArgumentsFields) { //TODO add argument to AddressSpace } foreach (var item in m_outputArgumentsFields) { //TODO add argument to AddressSpace } }
/// <summary> /// Adds the node to the address space <see cref="IAddressSpaceCreator" />. /// </summary> /// <param name="space">The address space as a tree of nodes.</param> protected override void AddNode2AddressSpace(IAddressSpaceCreator space) { int _addressSpaceIndex = space.AddNode2AddressSpace(this, SymbolicName.ToString()); foreach (Reference item in this.References) { space.AddReference(_addressSpaceIndex, item.Wrapper.ReferenceType.XmlQualifiedName, item.Wrapper.IsInverse, item.Wrapper.TargetId.XmlQualifiedName); } IInstanceNodesCollection children = AddChildren(space, SymbolicName, _addressSpaceIndex, false); children.RegisterChildrenInAddressSpace(); space.AddReference(_addressSpaceIndex, BuildInXmlQualifiedNames.HasSubtype, true, this.Wrapper.BaseType.ValueOrDefault); }
/// <summary> /// Processes the node. /// </summary> /// <param name="space">The address space.</param> /// <param name="nodeContext">The parent.</param> /// <param name="modelParent">The model parent.</param> /// <param name="isInstanceDeclaration">if set to <c>true</c> it is instance declaration.</param> void IInstanceNode.CompileNode(IAddressSpaceCreator space, IInstanceNodeContext nodeContext, bool isInstanceDeclaration) { IInstanceNodesCollection children = AddChildren(space, nodeContext.NodeID, nodeContext.AddressSpaceIndex, isInstanceDeclaration); InstanceDeclarations(children, nodeContext); children.RegisterChildrenInAddressSpace(); foreach (Reference item in this.References) { space.AddReference(nodeContext.AddressSpaceIndex, item.Wrapper.ReferenceType.XmlQualifiedName, item.Wrapper.IsInverse, item.Wrapper.TargetId.XmlQualifiedName); } space.AddReference(nodeContext.AddressSpaceIndex, BuildInXmlQualifiedNames.HasTypeDefinition, false, nodeContext.TypeDefinition); nodeContext.AddModelingRule(); }
/// <summary> /// Adds this instance to the address space. /// </summary> /// <param name="space">The space.</param> /// <returns></returns> protected override void AddNode2AddressSpace(IAddressSpaceCreator space) { space.AddNode2AddressSpace(this); }
/// <summary> /// Adds the node to the address space <see cref="IAddressSpaceCreator" /> - starting point of recursion of processing inheritance and type definition. /// </summary> /// <param name="space">The address space compiler.</param> void INodeDesign.AddNode2AddressSpace(IAddressSpaceCreator space) { AddNode2AddressSpace(space); }
/// <summary> /// Adds the node to the address space <see cref="IAddressSpaceCreator"/>. /// </summary> /// <param name="space">The address space as a tree of nodes.</param> protected virtual void AddNode2AddressSpace(IAddressSpaceCreator space) { }
/// <summary> /// Resets the information model and adds recursively all nodes to the address space from <see cref="Root.LibraryRoot"/> and next from <see cref="Root.SolutionRoot"/>. /// </summary> /// <param name="space">The address space.</param> internal void ResetAndAddToAddressSpace(IAddressSpaceCreator space) { LibraryRoot.AddNode2AddressSpace(space); AddNode2AddressSpace(space); }