static public void AddRange <T>(this ICollection <T> item, IEnumerable <T> to_add, out T first, out T last) { T first_temp = default(T); T last_temp = default(T); to_add.Process(i => first_temp = item.AddAndGet(i), i => last_temp = item.AddAndGet(i)); first = first_temp; last = last_temp; }
static public Instruction Add(this ICollection <Instruction> item, OpCode opcode, VariableDefinition value) { return(item.AddAndGet(Instruction.Create(opcode, value))); }
static public Instruction Add(this ICollection <Instruction> item, OpCode opcode, TypeReference value) { return(item.AddAndGet(Instruction.Create(opcode, value))); }