Ejemplo n.º 1
0
        private void BuildIndexes(NRefactory.ArrayInitializerExpression initializer, INode currentNodeIndex)
        {
            initializer.Elements.ForEach(e => {
                var childInitializer = e as NRefactory.ArrayInitializerExpression;

                if (childInitializer != null)
                {
                    var newIndex = new ChildNode {
                        ParentNode = currentNodeIndex
                    };

                    newIndex.Root  = currentNodeIndex.Root;
                    newIndex.Index = currentNodeIndex.Nodes.Count;
                    currentNodeIndex.Nodes.Add(newIndex);
                    BuildIndexes(childInitializer, newIndex);
                }
                else
                {
                    var newIndex = new LinqExpressionNode {
                        ParentNode = currentNodeIndex
                    };

                    newIndex.Root  = currentNodeIndex.Root;
                    newIndex.Index = currentNodeIndex.Nodes.Count;
                    currentNodeIndex.Nodes.Add(newIndex);
                    newIndex.Value = e.AcceptVisitor(Visitor, ParentScope);
                }
            });
        }
        private void BuildIndexes(NRefactory.ArrayInitializerExpression initializer, INode currentNodeIndex) {
            initializer.Elements.ForEach(e => {
                var childInitializer = e as NRefactory.ArrayInitializerExpression;

                if (childInitializer != null) {
                    var newIndex = new ChildNode { ParentNode = currentNodeIndex };

                    newIndex.Root = currentNodeIndex.Root;
                    newIndex.Index = currentNodeIndex.Nodes.Count;
                    currentNodeIndex.Nodes.Add(newIndex);
                    BuildIndexes(childInitializer, newIndex);
                }
                else {
                    var newIndex = new LinqExpressionNode { ParentNode = currentNodeIndex };

                    newIndex.Root = currentNodeIndex.Root;
                    newIndex.Index = currentNodeIndex.Nodes.Count;
                    currentNodeIndex.Nodes.Add(newIndex);
                    newIndex.Value = e.AcceptVisitor(Visitor, ParentScope);
                }
            });
        }