Add incomplete namespace declaration to ast. Fixes #7436
authorMarek Safar <marek.safar@gmail.com>
Tue, 25 Sep 2012 19:00:51 +0000 (20:00 +0100)
committerMarek Safar <marek.safar@gmail.com>
Tue, 25 Sep 2012 19:01:37 +0000 (20:01 +0100)
mcs/errors/cs1514.cs [new file with mode: 0644]
mcs/errors/cs1525-22.cs
mcs/mcs/cs-parser.jay

diff --git a/mcs/errors/cs1514.cs b/mcs/errors/cs1514.cs
new file mode 100644 (file)
index 0000000..7b9fbb1
--- /dev/null
@@ -0,0 +1,4 @@
+// CS1514: Unexpected symbol `end-of-file', expecting `.' or `{'
+// Line: 5
+
+namespace A.B
index b0f1e12ec32ecb9a229c15b2042df7afe68ee382..f20f87ca0cbe18fd809361fb853c0b59d6143a32 100644 (file)
@@ -1,4 +1,4 @@
-// CS1525: Unexpected symbol `::', expecting `.' or `{'
+// CS1525: Unexpected symbol `::'
 // Line: 4
 
 namespace a::b
index 02995aace4c155b5a690ead47a2e22333ec424bb..dc093c06c590026c6bff33dd1ef9230084184e70 100644 (file)
@@ -530,6 +530,14 @@ namespace_declaration
          
                current_container = current_namespace = current_namespace.Parent;
          }
+       | opt_attributes NAMESPACE namespace_name
+         {
+               report.Error (1514, lexer.Location, "Unexpected symbol `{0}', expecting `.' or `{{'", GetSymbolName (yyToken));
+
+               var name = (MemberName) $3;             
+               var ns = new NamespaceContainer (name, current_namespace);
+               current_namespace.AddTypeContainer (ns);
+         }
        ;
 
 namespace_name