vala r1719 - in trunk: . tests vala



Author: jaredm
Date: Tue Jul 22 01:26:40 2008
New Revision: 1719
URL: http://svn.gnome.org/viewvc/vala?rev=1719&view=rev

Log:
2008-07-22  Jared Moore  <jaredm svn gnome org>

	* vala/valaparser.vala:

	Support "global::" for object creation expressions.

	* tests/namespaces.vala: add test case




Modified:
   trunk/ChangeLog
   trunk/tests/namespaces.vala
   trunk/vala/valaparser.vala

Modified: trunk/tests/namespaces.vala
==============================================================================
--- trunk/tests/namespaces.vala	(original)
+++ trunk/tests/namespaces.vala	Tue Jul 22 01:26:40 2008
@@ -1,11 +1,24 @@
 using GLib;
 
+public class GlobalTestClass {
+	public GlobalTestClass() {
+	}
+}
+
 namespace Maman {
+	public class GlobalTestClass {
+		public GlobalTestClass() {
+			stdout.printf("Incorrect class constructed");
+		}
+	}
+
 	static int main (string[] args) {
 		stdout.printf ("Namespace Test\n");
 
 		Bar.run ();
 
+		new global::GlobalTestClass();
+
 		return 0;
 	}
 

Modified: trunk/vala/valaparser.vala
==============================================================================
--- trunk/vala/valaparser.vala	(original)
+++ trunk/vala/valaparser.vala	Tue Jul 22 01:26:40 2008
@@ -2847,8 +2847,9 @@
 
 	MemberAccess parse_member_name () throws ParseError {
 		var begin = get_location ();
-		MemberAccess expr = null;
-		do {
+		// The first member access can be global:: qualified
+		MemberAccess expr = (MemberAccess) parse_simple_name ();
+		while (accept (TokenType.DOT)) {
 			string id = parse_identifier ();
 			Gee.List<DataType> type_arg_list = parse_type_argument_list (false);
 			expr = new MemberAccess (expr, id, get_src (begin));
@@ -2857,7 +2858,7 @@
 					expr.add_type_argument (type_arg);
 				}
 			}
-		} while (accept (TokenType.DOT));
+		}
 		return expr;
 	}
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]