Mercurial > projects > dil
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 |