Exemplo n.º 1
0
        protected override Expression VisitIndex(IndexExpression node)
        {
            if (node.Object != null)
            {
                Visit(node.Object);
            }
            else
            {
                Debug.Assert(node.Indexer != null);
                Out(node.Indexer.DeclaringType.Name);
            }
            if (node.Indexer != null)
            {
                Out('.');
                Out(node.Indexer.Name);
            }

            Out('[');
            for (int i = 0, n = node.ArgumentCount(); i < n; i++)
            {
                if (i > 0)
                {
                    Out(", ");
                }
                Visit(node.GetArgument(i));
            }
            Out(']');

            return(node);
        }