Merge remote branch 'upstream/master'
[mono.git] / mcs / mcs / cs-tokenizer.cs
index da55d66cf7c80a1341c2f09b53173eb0c8accf98..4692fccda80b3e80cd5badfa0ae906bff34030d2 100644 (file)
@@ -15,7 +15,6 @@
 using System;
 using System.Text;
 using System.Collections.Generic;
-using System.IO;
 using System.Globalization;
 using System.Diagnostics;
 
@@ -555,6 +554,7 @@ namespace Mono.CSharp
                        AddKeyword ("while", Token.WHILE);
                        AddKeyword ("partial", Token.PARTIAL);
                        AddKeyword ("where", Token.WHERE);
+                       AddKeyword ("async", Token.ASYNC);
 
                        // LINQ keywords
                        AddKeyword ("from", Token.FROM);
@@ -763,6 +763,13 @@ namespace Mono.CSharp
 
                                res = -1;
                                break;
+
+                       case Token.ASYNC:
+                               if (parsing_block > 0 || RootContext.Version != LanguageVersion.Future) {
+                                       res = -1;
+                                       break;
+                               }
+                               break;
                        }
 
                        return res;
@@ -2175,7 +2182,7 @@ namespace Mono.CSharp
                                                                                Report.RegisterWarningRegion (loc).WarningEnable (loc, code, Report);
                                                                        }
                                                                }
-                                                       } while (code >= 0 && c != '\n');
+                                                       } while (code >= 0 && c != '\n' && c != -1);
                                                }
 
                                                return;