Ejemplo n.º 1
0
	void CaseClause(
#line  2430 "VBNET.ATG" 
out CaseClause caseClause) {

#line  2432 "VBNET.ATG" 
		Expression expr = null;
		Expression sexpr = null;
		BinaryOperatorType op = BinaryOperatorType.None;
		caseClause = null;
		
		if (la.kind == 87) {
			lexer.NextToken();

#line  2438 "VBNET.ATG" 
			caseClause = new CaseClause(true); 
		} else if (StartOf(30)) {
			if (la.kind == 114) {
				lexer.NextToken();
			}
			switch (la.kind) {
			case 28: {
				lexer.NextToken();

#line  2442 "VBNET.ATG" 
				op = BinaryOperatorType.LessThan; 
				break;
			}
			case 27: {
				lexer.NextToken();

#line  2443 "VBNET.ATG" 
				op = BinaryOperatorType.GreaterThan; 
				break;
			}
			case 31: {
				lexer.NextToken();

#line  2444 "VBNET.ATG" 
				op = BinaryOperatorType.LessThanOrEqual; 
				break;
			}
			case 30: {
				lexer.NextToken();

#line  2445 "VBNET.ATG" 
				op = BinaryOperatorType.GreaterThanOrEqual; 
				break;
			}
			case 11: {
				lexer.NextToken();

#line  2446 "VBNET.ATG" 
				op = BinaryOperatorType.Equality; 
				break;
			}
			case 29: {
				lexer.NextToken();

#line  2447 "VBNET.ATG" 
				op = BinaryOperatorType.InEquality; 
				break;
			}
			default: SynErr(239); break;
			}
			Expr(
#line  2449 "VBNET.ATG" 
out expr);

#line  2451 "VBNET.ATG" 
			caseClause = new CaseClause(op, expr);
			
		} else if (StartOf(18)) {
			Expr(
#line  2453 "VBNET.ATG" 
out expr);
			if (la.kind == 174) {
				lexer.NextToken();
				Expr(
#line  2453 "VBNET.ATG" 
out sexpr);
			}

#line  2455 "VBNET.ATG" 
			caseClause = new CaseClause(expr, sexpr);
			
		} else SynErr(240);
	}
 public virtual object Visit(CaseClause caseClause, object data)
 {
     caseClause.ComparisonExpression.AcceptVisitor(this, data);
     return caseClause.BoundaryExpression.AcceptVisitor(this, data);
 }