]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix `namespace Foo.Bar {...}' parsing, fixes bug 531379
authorJuerg Billeter <j@bitron.ch>
Sat, 10 May 2008 16:22:50 +0000 (16:22 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 10 May 2008 16:22:50 +0000 (16:22 +0000)
2008-05-10  Juerg Billeter  <j@bitron.ch>

* vala/valaparser.vala:

Fix `namespace Foo.Bar {...}' parsing, fixes bug 531379

svn path=/trunk/; revision=1354

ChangeLog
vala/valaparser.vala

index 5c08f11fabb2733675440bce168911ae54754106..edeec6f94e7078852e17f51c6048556331d454b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-05-10  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaparser.vala:
+
+       Fix `namespace Foo.Bar {...}' parsing, fixes bug 531379
+
 2008-05-10  Jürg Billeter  <j@bitron.ch>
 
        * vala/valaattributeprocessor.vala:
index 1c58da89d1b175ab50dffe04551413a876f392b9..36462e90c8ac990814210ad3cae44e38a2fa85d8 100644 (file)
@@ -1801,7 +1801,15 @@ public class Vala.Parser : CodeVisitor {
                var ns = new Namespace (sym.name, get_src_com (begin));
                set_attributes (ns, attrs);
                parse_declarations (ns);
-               return ns;
+
+               Namespace result = ns;
+               while (sym.inner != null) {
+                       sym = sym.inner;
+                       ns = new Namespace (sym.name, result.source_reference);
+                       ns.add_namespace ((Namespace) result);
+                       result = ns;
+               }
+               return result;
        }
 
        void parse_namespace_member (Namespace ns) throws ParseError {