private ArgumentTuple CreateTuple(List <ArgumentTuple> args) { var last = args.Last(); var tuple = last.Argument; var sfx = last.Suffix; var endLoc = last.Argument.Range.End; for (int i = args.Count - 2; i >= 0; i--) { var elem = args[i]; if (elem.Suffix != "と") { return(null); } var range = new TextRange(elem.Argument.Range.Start, endLoc); tuple = new TupleExpr(elem.Argument, tuple, range); } return(new ArgumentTuple(tuple, sfx)); }
private Expression GenTuple(TupleExpr elem) { Contract.Requires <ArgumentNullException>(elem != null); Contract.Ensures(Contract.Result <Expression>() != null); return(Cons(GenElemCore(elem.Head), GenElemCore(elem.Tail))); }
private Expression GenTuple(TupleExpr elem) { Contract.Requires<ArgumentNullException>(elem != null); Contract.Ensures(Contract.Result<Expression>() != null); return Cons(GenElemCore(elem.Head), GenElemCore(elem.Tail)); }