private Expression GenerateSetIndexExpression(IList <Expression> arguments, IEnumerable <Instruction> instructions)
 {
     if (arguments.get_Count() < 3)
     {
         throw new Exception("Invalid number of arguments for set index expression.");
     }
     V_0 = new DynamicIndexerExpression(arguments.get_Item(0), this.objectTypeRef, instructions);
     V_1 = 1;
     while (V_1 < arguments.get_Count() - 1)
     {
         V_0.get_Indices().Add(arguments.get_Item(V_1));
         V_1 = V_1 + 1;
     }
     return(new BinaryExpression(26, V_0, arguments.get_Item(arguments.get_Count() - 1), this.typeSystem, null, false));
 }
 private Expression GenerateGetIndexExpression(IList <Expression> arguments, IEnumerable <Instruction> instructions)
 {
     if (arguments.get_Count() < 2)
     {
         throw new Exception("Invalid number of arguments for get index expression.");
     }
     V_0 = new DynamicIndexerExpression(arguments.get_Item(0), this.objectTypeRef, instructions);
     V_1 = 1;
     while (V_1 < arguments.get_Count())
     {
         V_0.get_Indices().Add(arguments.get_Item(V_1));
         V_1 = V_1 + 1;
     }
     return(V_0);
 }