]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
use source_reference for enum values
authorJuerg Billeter <j@bitron.ch>
Fri, 29 Feb 2008 21:55:37 +0000 (21:55 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 29 Feb 2008 21:55:37 +0000 (21:55 +0000)
2008-02-29  Juerg Billeter  <j@bitron.ch>

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

svn path=/trunk/; revision=1069

ChangeLog
vala/parser.y
vala/valacodecontext.vala
vala/valaenumvalue.vala

index 5977589e0f589c99cab8e629b6e3fe14f339024c..c0b8a2e378dfb22dde58485749d5b621caaadd67 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-29  Jürg Billeter  <j@bitron.ch>
+
+       * vala/parser.y, vala/valacodecontext.vala, vala/valaenumvalue.vala:
+         use source_reference for enum values
+
 2008-02-29  Jürg Billeter  <j@bitron.ch>
 
        * vapi/packages/gtk+-2.0/: fix gtk_menu_popup binding
index 29e3c1097087c01b5959e0f89834554f61e93b8a..dd7ff7bc18817eb811c6953096f7869f1c4a8a66 100644 (file)
@@ -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);
          }
index 2f45f014b461d57813b9eae6c7b1d40b40c8a8d1..3f1f5c05aed7eb50ceaf5539c7f4b6eab8cf2d1e 100644 (file)
@@ -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;
        }
index fde0561c0f4956153b4328c1dfe71c4989b34673..75cf55501ae93b633464b4f312c21674aadaac3e 100644 (file)
@@ -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) {