[svn] r7223: nemerle/trunk/ncc/parsing/MainParser.n
VladD2
svnadmin at nemerle.org
Sat Jan 6 06:54:46 CET 2007
Log:
Fix parsing method without return type declaration.
Author: VladD2
Date: Sat Jan 6 06:54:44 2007
New Revision: 7223
Modified:
nemerle/trunk/ncc/parsing/MainParser.n
Modified: nemerle/trunk/ncc/parsing/MainParser.n
==============================================================================
--- nemerle/trunk/ncc/parsing/MainParser.n (original)
+++ nemerle/trunk/ncc/parsing/MainParser.n Sat Jan 6 06:54:44 2007
@@ -1486,10 +1486,17 @@
parse_return_type (allow_inference : bool) : PExpr {
match (peek_token ()) {
- | Token.Operator (":") =>
+ | Token.Operator (":") as colon =>
shift ();
+ // Method can not contain type.
+ match (peek_token ()) // peek_second_token
+ {
+ | Token.BracesGroup | Token.Keyword ("where")
+ | Token.Semicolon | Token.Operator ("=") => PExpr.Error (colon.Location.FromEnd())
+ | _ =>
parse_expr (TokenStoppers.Braces | TokenStoppers.Dollar
| TokenStoppers.Equal | TokenStoppers.Where)
+ }
| _ when allow_inference => PExpr.Wildcard (last_tok.Location)
| t => Error (t, "expecting `:' and type specifier for class member");
More information about the svn
mailing list