Beispiel #1
0
 public override Expression VisitIndexer(Indexer indexer)
 {
     if (indexer == null) return null;
     indexer = (Indexer)base.VisitIndexer((Indexer)indexer.Clone());
     if (indexer == null) return null;
     indexer.ElementType = this.VisitTypeReference(indexer.ElementType);
     return indexer;
 }
Beispiel #2
0
    /// <summary>
    /// </summary>
    /// <param name="indexer">Cloned</param>
    /// <returns></returns>
		public override Expression VisitIndexer(Indexer indexer)
		{
      // copy indexer, since CCI shares them in post increments
      indexer = (Indexer)indexer.Clone();
      indexer.Operands = (ExpressionList)indexer.Operands.Clone();

			indexer.Object   = simplify(indexer.Object);
			ExpressionList ops = this.VisitExpressionList(indexer.Operands);
			System.Diagnostics.Debug.Assert(ops != null, "VisitExpressionList must return non-null if arg is non-null");
			indexer.Operands = ops;
			return indexer;
		}