Exemple #1
0
 /// <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);
     }
 }
Exemple #2
0
 internal void AddNode2AddressSpace(IAddressSpaceCreator space)
 {
     foreach (ProjectTreeNode node in this)
     {
         node.AddNode2AddressSpace(space);
     }
 }
Exemple #3
0
 /// <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);
     }
 }
Exemple #4
0
 /// <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
     }
 }
Exemple #5
0
        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);
        }
Exemple #6
0
 /// <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);
         }
     }
 }
Exemple #7
0
 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
     }
 }
Exemple #8
0
        /// <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);
        }
Exemple #9
0
        /// <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();
        }
Exemple #10
0
 /// <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);
 }
Exemple #11
0
 /// <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);
 }
Exemple #12
0
 /// <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)
 {
 }
Exemple #13
0
 /// <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);
 }