Add Cleanup method, also fix #region error messages.
authorJackson Harper <jackson@novell.com>
Mon, 13 Jan 2003 15:51:09 +0000 (15:51 -0000)
committerJackson Harper <jackson@novell.com>
Mon, 13 Jan 2003 15:51:09 +0000 (15:51 -0000)
svn path=/trunk/mcs/; revision=10461

mcs/mcs/cs-tokenizer.cs

index 85147a4d11b7e0ebc006e880011a7ffd19d5f545..281d9d1199dec474c6209811f72e706b41ae50cc 100755 (executable)
@@ -1401,7 +1401,7 @@ namespace Mono.CSharp
                                        int state = (int) ifstack.Peek ();\r
 \r
                                        if ((state & REGION) != 0) {\r
-                                               Error_UnexpectedDirective ("#endregion directive expected");\r
+                                               Report.Error (1038, Location, "#endregion directive expected");\r
                                                return true;\r
                                        }\r
 \r
@@ -1431,7 +1431,7 @@ namespace Mono.CSharp
                                        int state = (int) ifstack.Peek ();\r
 \r
                                        if ((state & REGION) != 0) {\r
-                                               Error_UnexpectedDirective ("#endregion directive expected");\r
+                                               Report.Error (1038, Location, "#endregion directive expected");\r
                                                return true;\r
                                        }\r
 \r
@@ -1756,11 +1756,21 @@ namespace Mono.CSharp
                                return Token.ERROR;\r
                        }\r
 \r
-                       if (ifstack != null && ifstack.Count >= 1)\r
-                               Report.Error (1027, Location, "#endif/#endregion expected");\r
-\r
                        return Token.EOF;\r
                }\r
+\r
+               public void Cleanup ()\r
+               {\r
+                       if (ifstack != null && ifstack.Count >= 1) {\r
+                               int state = (int) ifstack.Pop ();\r
+                               if ((state & REGION) != 0)\r
+                                       Report.Error (1038, "#endregion directive expected");\r
+                               else \r
+                                       Report.Error (1027, "#endif directive expected");\r
+                       }\r
+                               \r
+               }\r
+\r
        }\r
 }\r
 \r