internal override Opcode Eval(ProcessingContext context) { Value[] values = context.Values; StackFrame topArg = context.TopArg; for (int i = topArg.basePtr; i <= topArg.endPtr; i++) { NodeSequence sequence = values[i].Sequence; NodeSequence val = context.CreateSequence(); for (int j = 0; j < sequence.Count; j++) { NodeSequenceItem item = sequence[j]; val.AddCopy(ref item); } val.Merge(); context.SetValue(context, i, val); } return(base.next); }
internal override Opcode Eval(ProcessingContext context) { Value[] values = context.Values; StackFrame arg = context.TopArg; for (int i = arg.basePtr; i <= arg.endPtr; ++i) { Fx.Assert(ValueDataType.Sequence == values[i].Type, ""); NodeSequence seq = values[i].Sequence; NodeSequence newSeq = context.CreateSequence(); for (int j = 0; j < seq.Count; ++j) { NodeSequenceItem item = seq[j]; newSeq.AddCopy(ref item); } newSeq.Merge(); context.SetValue(context, i, newSeq); } return(this.next); }