From: Juerg Billeter Date: Fri, 29 Feb 2008 21:55:37 +0000 (+0000) Subject: use source_reference for enum values X-Git-Tag: VALA_0_1_7~22 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7efff83dabd4bab6eb5bc351b312c2815bc7d1ca;p=thirdparty%2Fvala.git use source_reference for enum values 2008-02-29 Juerg Billeter * vala/parser.y, vala/valacodecontext.vala, vala/valaenumvalue.vala: use source_reference for enum values svn path=/trunk/; revision=1069 --- diff --git a/ChangeLog b/ChangeLog index 5977589e0..c0b8a2e37 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-02-29 Jürg Billeter + + * vala/parser.y, vala/valacodecontext.vala, vala/valaenumvalue.vala: + use source_reference for enum values + 2008-02-29 Jürg Billeter * vapi/packages/gtk+-2.0/: fix gtk_menu_popup binding diff --git a/vala/parser.y b/vala/parser.y index 29e3c1097..dd7ff7bc1 100644 --- a/vala/parser.y +++ b/vala/parser.y @@ -4023,18 +4023,26 @@ enum_member_declarations ; 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); } diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala index 2f45f014b..3f1f5c05a 100644 --- a/vala/valacodecontext.vala +++ b/vala/valacodecontext.vala @@ -445,14 +445,14 @@ public class Vala.CodeContext : Object { 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; } diff --git a/vala/valaenumvalue.vala b/vala/valaenumvalue.vala index fde0561c0..75cf55501 100644 --- a/vala/valaenumvalue.vala +++ b/vala/valaenumvalue.vala @@ -39,7 +39,8 @@ public class Vala.EnumValue : Symbol { * @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 @@ public class Vala.EnumValue : Symbol { * @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) {