public override void Switch(IAstTransformer transformer, out Node resultingNode) { TupleLiteralExpression thisNode = (TupleLiteralExpression)this; Expression resultingTypedNode = thisNode; transformer.OnTupleLiteralExpression(thisNode, ref resultingTypedNode); resultingNode = resultingTypedNode; }
public void TestTuples1() { Boo.Lang.Ast.Module module = BooTestCaseUtil.ParseTestCase("tuples_1.boo"); StatementCollection sc = module.Globals.Statements; Assert.AreEqual(4, sc.Count); BinaryExpression ae = (BinaryExpression)((ExpressionStatement)sc[0]).Expression; Assert.AreEqual("names", ((ReferenceExpression)ae.Left).Name); TupleLiteralExpression tle = (TupleLiteralExpression)ae.Right; Assert.AreEqual(3, tle.Items.Count); ae = (BinaryExpression)((ExpressionStatement)sc[1]).Expression; tle = (TupleLiteralExpression)ae.Right; Assert.AreEqual(3, tle.Items.Count); ae = (BinaryExpression)((ExpressionStatement)sc[3]).Expression; tle = (TupleLiteralExpression)ae.Right; Assert.AreEqual(1, tle.Items.Count); }
public override void OnTupleLiteralExpression(TupleLiteralExpression node) { WriteTuple(node.Items); }