public override object Visit(DirectionExpression directionExpression, object data)
 {
     DebugOutput(directionExpression);
     string fieldDirection = String.Empty;
     // TODO: is this correct that there is nothing in a VB.NET method call for out & ref ?
     //			switch (directionExpression.FieldDirection) {
     //				case FieldDirection.Out:
     //					break;
     //				case FieldDirection.Ref:
     //					break;
     //			}
     return String.Concat(fieldDirection, directionExpression.Expression.AcceptVisitor(this, data));
 }
 public override object Visit(DirectionExpression directionExpression, object data)
 {
     return null;
 }
 public override object Visit(DirectionExpression directionExpression, object data)
 {
     Console.WriteLine(directionExpression.ToString());
     return directionExpression.AcceptChildren(this, data);
 }
 public override object Visit(DirectionExpression directionExpression, object data)
 {
     // no calls allowed !!!
     return null;
 }
 public virtual object Visit(DirectionExpression directionExpression, object data)
 {
     return directionExpression.Expression.AcceptVisitor(this, data);
 }
	void Argument(
#line  1474 "cs.ATG" 
out Expression argumentexpr) {

#line  1476 "cs.ATG" 
		Expression expr;
		FieldDirection fd = FieldDirection.None;
		
		if (la.kind == 92 || la.kind == 99) {
			if (la.kind == 99) {
				lexer.NextToken();

#line  1481 "cs.ATG" 
				fd = FieldDirection.Ref; 
			} else {
				lexer.NextToken();

#line  1482 "cs.ATG" 
				fd = FieldDirection.Out; 
			}
		}
		Expr(
#line  1484 "cs.ATG" 
out expr);

#line  1484 "cs.ATG" 
		argumentexpr = fd != FieldDirection.None ? argumentexpr = new DirectionExpression(fd, expr) : expr; 
	}
 public override object Visit(DirectionExpression directionExpression, object data)
 {
     switch (directionExpression.FieldDirection) {
         case FieldDirection.Out:
             outputFormatter.PrintToken(Tokens.Out);
             outputFormatter.Space();
             break;
         case FieldDirection.Ref:
             outputFormatter.PrintToken(Tokens.Ref);
             outputFormatter.Space();
             break;
     }
     directionExpression.Expression.AcceptVisitor(this, data);
     return null;
 }