comparison trunk/src/dil/Parser.d @ 342:f13d551d7c4f

- Added error messages MID.InContract and MID.OutContract.
author aziz
date Thu, 23 Aug 2007 12:14:02 +0000
parents 3ac651ea83fb
children 95f1b6e43214
comparison
equal deleted inserted replaced
341:3ac651ea83fb 342:f13d551d7c4f
503 break; 503 break;
504 case T.Semicolon: 504 case T.Semicolon:
505 nT(); 505 nT();
506 break; 506 break;
507 case T.In: 507 case T.In:
508 //if (func.inBody) 508 if (func.inBody)
509 // TODO: issue error msg. 509 error(MID.InContract);
510 nT(); 510 nT();
511 func.inBody = parseStatements(); 511 func.inBody = parseStatements();
512 continue; 512 continue;
513 case T.Out: 513 case T.Out:
514 //if (func.outBody) 514 if (func.outBody)
515 // TODO: issue error msg. 515 error(MID.OutContract);
516 nT(); 516 nT();
517 if (token.type == T.LParen) 517 if (token.type == T.LParen)
518 { 518 {
519 nT(); 519 nT();
520 func.outIdent = requireId(); 520 func.outIdent = requireId();
526 nT(); 526 nT();
527 goto case T.LBrace; 527 goto case T.LBrace;
528 default: 528 default:
529 error(MID.ExpectedButFound, "FunctionBody", token.srcText); 529 error(MID.ExpectedButFound, "FunctionBody", token.srcText);
530 } 530 }
531 break; // exit while loop 531 break; // Exit loop.
532 } 532 }
533 set(func, begin); 533 set(func, begin);
534 func.finishConstruction(); 534 func.finishConstruction();
535 return func; 535 return func;
536 } 536 }
4013 // TemplateTupleParameter: 4013 // TemplateTupleParameter:
4014 // Identifier ... 4014 // Identifier ...
4015 nT(); // Skip Identifier. 4015 nT(); // Skip Identifier.
4016 nT(); // Skip Ellipses. 4016 nT(); // Skip Ellipses.
4017 if (token.type == T.Comma) 4017 if (token.type == T.Comma)
4018 error(MID.TemplateTupleParameter); // TODO: issue error msg for variadic param not being last. 4018 error(MID.TemplateTupleParameter);
4019 tp = new TemplateTupleParameter(ident); 4019 tp = new TemplateTupleParameter(ident);
4020 break; 4020 break;
4021 case T.Comma, T.RParen, T.Colon, T.Assign: 4021 case T.Comma, T.RParen, T.Colon, T.Assign:
4022 // TemplateTypeParameter: 4022 // TemplateTypeParameter:
4023 // Identifier 4023 // Identifier