From 7efff83dabd4bab6eb5bc351b312c2815bc7d1ca Mon Sep 17 00:00:00 2001 From: Juerg Billeter Date: Fri, 29 Feb 2008 21:55:37 +0000 Subject: [PATCH] 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 --- ChangeLog | 5 +++++ vala/parser.y | 22 +++++++++++++++------- vala/valacodecontext.vala | 8 ++++---- vala/valaenumvalue.vala | 6 ++++-- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5977589..c0b8a2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 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 * vapi/gtk+-2.0.vapi: regenerated diff --git a/vala/parser.y b/vala/parser.y index 29e3c10..dd7ff7b 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 2f45f01..3f1f5c0 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 fde0561..75cf555 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) { -- 2.7.4