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); }
private Expression GenerateGetIndexExpression(IList <Expression> arguments, IEnumerable <Instruction> instructions) { if (arguments.Count < 2) { throw new Exception("Invalid number of arguments for get index expression."); } DynamicIndexerExpression indexerExpression = new DynamicIndexerExpression(arguments[0], objectTypeRef, instructions); for (int i = 1; i < arguments.Count; i++) { indexerExpression.Indices.Add(arguments[i]); } return(indexerExpression); }
private Expression GenerateSetIndexExpression(IList <Expression> arguments, IEnumerable <Instruction> instructions) { if (arguments.Count < 3) { throw new Exception("Invalid number of arguments for set index expression."); } DynamicIndexerExpression indexerExpression = new DynamicIndexerExpression(arguments[0], objectTypeRef, instructions); for (int i = 1; i < arguments.Count - 1; i++) { indexerExpression.Indices.Add(arguments[i]); } return(new BinaryExpression(BinaryOperator.Assign, indexerExpression, arguments[arguments.Count - 1], typeSystem, null)); }
public virtual void VisitDynamicIndexerExpression(DynamicIndexerExpression node) { VisitIIndexerExpression(node); }
public virtual ICodeNode VisitDynamicIndexerExpression(DynamicIndexerExpression node) { return(VisitIIndexerExpression(node)); }
public virtual void VisitDynamicIndexerExpression(DynamicIndexerExpression node) { this.VisitIIndexerExpression(node); return; }