protected internal 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);
}