From: Jürg Billeter Date: Tue, 22 Jul 2008 14:45:06 +0000 (+0000) Subject: Fix regression introduced by last commit X-Git-Tag: VALA_0_3_5~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=701679ee42662923e4fce37a0ffe5d494bbf76f5;p=thirdparty%2Fvala.git Fix regression introduced by last commit 2008-07-22 Jürg Billeter * vala/valaparser.vala: Fix regression introduced by last commit svn path=/trunk/; revision=1720 --- diff --git a/ChangeLog b/ChangeLog index 1d18222b6..bfdba0eef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-07-22 Jürg Billeter + + * vala/valaparser.vala: + + Fix regression introduced by last commit + 2008-07-22 Jared Moore * vala/valaparser.vala: diff --git a/vala/valaparser.vala b/vala/valaparser.vala index 1bddf6654..68b785d53 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -2847,18 +2847,29 @@ public class Vala.Parser : CodeVisitor { MemberAccess parse_member_name () throws ParseError { var begin = get_location (); - // The first member access can be global:: qualified - MemberAccess expr = (MemberAccess) parse_simple_name (); - while (accept (TokenType.DOT)) { + MemberAccess expr = null; + bool first = true; + do { string id = parse_identifier (); + + // The first member access can be global:: qualified + bool qualified = false; + if (first && id == "global" && accept (TokenType.DOUBLE_COLON)) { + id = parse_identifier (); + qualified = true; + } + Gee.List type_arg_list = parse_type_argument_list (false); expr = new MemberAccess (expr, id, get_src (begin)); + expr.qualified = qualified; if (type_arg_list != null) { foreach (DataType type_arg in type_arg_list) { expr.add_type_argument (type_arg); } } - } + + first = false; + } while (accept (TokenType.DOT)); return expr; }