private static ExpressionSyntax Cast(ParserRuleContext node) { if (node.ChildCount == 1) { return(Expression(node.GetRuleContext <ParserRuleContext>(0))); } Debug.Assert(node.ChildCount == 2); var type = CSharp.ParseTypeName(node.children[0].GetText()); var expr = visitNode(node.GetRuleContext <ParserRuleContext>(1)); return(CSharp.CastExpression(type, expr)); }