vala r1069 - in trunk: . vala



Author: juergbi
Date: Fri Feb 29 21:55:37 2008
New Revision: 1069
URL: http://svn.gnome.org/viewvc/vala?rev=1069&view=rev

Log:
2008-02-29  Juerg Billeter  <j bitron ch>

	* vala/parser.y, vala/valacodecontext.vala, vala/valaenumvalue.vala:
	  use source_reference for enum values


Modified:
   trunk/ChangeLog
   trunk/vala/parser.y
   trunk/vala/valacodecontext.vala
   trunk/vala/valaenumvalue.vala

Modified: trunk/vala/parser.y
==============================================================================
--- trunk/vala/parser.y	(original)
+++ trunk/vala/parser.y	Fri Feb 29 21:55:37 2008
@@ -4023,18 +4023,26 @@
 	;
 
 enum_member_declaration
-	: opt_attributes identifier
+	: comment opt_attributes identifier
 	  {
-	  	ValaEnumValue *ev = vala_code_context_create_enum_value (context, $2);
-		g_free ($2);
+		ValaSourceReference *src;
+		ValaEnumValue *ev;
+
+		src = src_com(@3, $1);
+		ev = vala_code_context_create_enum_value (context, $3, src);
+		g_free ($3);
 		vala_enum_add_value (VALA_ENUM (symbol_stack->data), ev);
 		g_object_unref (ev);
 	  }
-	| opt_attributes identifier ASSIGN expression
+	| comment opt_attributes identifier ASSIGN expression
 	  {
-		ValaEnumValue *ev = vala_code_context_create_enum_value_with_value (context, $2, $4);
-		g_free ($2);
-		g_object_unref ($4);
+		ValaSourceReference *src;
+		ValaEnumValue *ev;
+
+		src = src_com(@3, $1);
+		ev = vala_code_context_create_enum_value_with_value (context, $3, $5, src);
+		g_free ($3);
+		g_object_unref ($5);
 		vala_enum_add_value (VALA_ENUM (symbol_stack->data), ev);
 		g_object_unref (ev);
 	  }

Modified: trunk/vala/valacodecontext.vala
==============================================================================
--- trunk/vala/valacodecontext.vala	(original)
+++ trunk/vala/valacodecontext.vala	Fri Feb 29 21:55:37 2008
@@ -445,14 +445,14 @@
 		return node;
 	}
 
-	public EnumValue! create_enum_value (string! name) {
-		var node = new EnumValue (name);
+	public EnumValue! create_enum_value (string! name, SourceReference source_reference = null) {
+		var node = new EnumValue (name, source_reference);
 		node.code_binding = codegen.create_enum_value_binding (node);
 		return node;
 	}
 
-	public EnumValue! create_enum_value_with_value (string! name, Expression value) {
-		var node = new EnumValue.with_value (name, value);
+	public EnumValue! create_enum_value_with_value (string! name, Expression value, SourceReference source_reference = null) {
+		var node = new EnumValue.with_value (name, value, source_reference);
 		node.code_binding = codegen.create_enum_value_binding (node);
 		return node;
 	}

Modified: trunk/vala/valaenumvalue.vala
==============================================================================
--- trunk/vala/valaenumvalue.vala	(original)
+++ trunk/vala/valaenumvalue.vala	Fri Feb 29 21:55:37 2008
@@ -39,7 +39,8 @@
 	 * @param name enum value name
 	 * @return     newly created enum value
 	 */
-	public EnumValue (construct string! name) {
+	public EnumValue (construct string! name, SourceReference source_reference = null) {
+		this.source_reference = source_reference;
 	}
 
 	/**
@@ -49,7 +50,8 @@
 	 * @param value numerical representation
 	 * @return      newly created enum value
 	 */
-	public EnumValue.with_value (construct string! name, construct Expression value) {
+	public EnumValue.with_value (construct string! name, construct Expression value, SourceReference source_reference = null) {
+		this.source_reference = source_reference;
 	}
 	
 	public override void accept (CodeVisitor! visitor) {



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