public void ClassicCpsRewriter_Basics13() { Expression <Func <string> > f = () => Qux.Bar <string>("Hello, CPS!"); var r = new ClassicCpsRewriter().Rewrite(f); var res = default(string); r.Compile()(s => res = s); Assert.AreEqual("Hello, CPS!", res); }
public void ClassicCpsRewriter_Basics16() { Expression <Func <string> > f = () => "Bar".ToLower(); var r = new ClassicCpsRewriter().Rewrite(f); var res = default(string); r.Compile()(s => res = s); Assert.AreEqual("bar", res); }
public void ClassicCpsRewriter_Basics12_Func() { Expression <Func <int, int, int, int> > f = (x, y, z) => Calculator.Add(Calculator.Negate(-z), Calculator.Add(x, y)); var r = new ClassicCpsRewriter().Rewrite(f); var res = default(int); r.Compile()(17, 6, 19, x => res = x); Assert.AreEqual(42, res); }