]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Transform CCode*'s "deprecated" into using CCodeNode's "modifiers"
authorRico Tzschichholz <ricotz@ubuntu.com>
Fri, 11 Nov 2016 18:30:41 +0000 (19:30 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 11 Nov 2016 18:30:41 +0000 (19:30 +0100)
ccode/valaccodeenum.vala
ccode/valaccodeenumvalue.vala
ccode/valaccodestruct.vala
ccode/valaccodetypedefinition.vala
codegen/valaccodebasemodule.vala
codegen/valaccodedelegatemodule.vala
codegen/valaccodestructmodule.vala
tests/annotations/deprecated.vala

index 2288456cbdc8973c667c25de7c34b5ad5ba354f6..f2a378879374d846c2f33c2c51f4dfd7f860b27a 100644 (file)
@@ -31,11 +31,6 @@ public class Vala.CCodeEnum : CCodeNode {
         */
        public string name { get; set; }
 
-       /**
-        * Whether the enum is deprecated.
-        */
-       public bool deprecated { get; set; default = false; }
-       
        private List<CCodeEnumValue> values = new ArrayList<CCodeEnumValue> ();
        
        public CCodeEnum (string? name = null) {
@@ -75,7 +70,7 @@ public class Vala.CCodeEnum : CCodeNode {
                        writer.write_string (" ");
                        writer.write_string (name);
                }
-               if (deprecated) {
+               if (CCodeModifiers.DEPRECATED in modifiers) {
                        writer.write_string (" G_GNUC_DEPRECATED");
                }
                writer.write_string (";");
index e1c02513be9be1fbdf78c93e092c8529167742bf..e952f4b90bc4725ffd795055c0b6c329466f825c 100644 (file)
@@ -31,11 +31,6 @@ public class Vala.CCodeEnumValue : CCodeNode {
         */
        public string name { get; set; }
 
-       /**
-        * Whether this enum value is deprecated.
-        */
-       public bool deprecated { get; set; default = false; }
-
        /**
         * The numerical representation of this enum value.
         */
@@ -52,5 +47,8 @@ public class Vala.CCodeEnumValue : CCodeNode {
                        writer.write_string (" = ");
                        value.write (writer);
                }
+               if (CCodeModifiers.DEPRECATED in modifiers) {
+                       writer.write_string (" G_GNUC_DEPRECATED");
+               }
        }
 }
index 1eadd025ce2df7f14fb46b7b5286cdf55d66df3e..fce7fcba8cad68e9b79abc9b1352ef9616967373 100644 (file)
@@ -31,11 +31,6 @@ public class Vala.CCodeStruct : CCodeNode {
         */
        public string name { get; set; }
 
-       /**
-        * Whether the struct is deprecated.
-        */
-       public bool deprecated { get; set; default = false; }
-
        public bool is_empty { get { return declarations.size == 0; } }
 
        private List<CCodeDeclaration> declarations = new ArrayList<CCodeDeclaration> ();
@@ -75,7 +70,7 @@ public class Vala.CCodeStruct : CCodeNode {
                }
 
                writer.write_end_block ();
-               if (deprecated) {
+               if (CCodeModifiers.DEPRECATED in modifiers) {
                        writer.write_string (" G_GNUC_DEPRECATED");
                }
                writer.write_string (";");
index 84d6ce293b6f66c4896f1f56cced1275c2f4c17f..797c3baf056c361745f4c9498618a03cfb5c7cf4 100644 (file)
@@ -36,11 +36,6 @@ public class Vala.CCodeTypeDefinition : CCodeNode {
         */
        public CCodeDeclarator declarator { get; set; }
 
-       /**
-        * Whether the type is deprecated.
-        */
-       public bool deprecated { get; set; default = false; }
-       
        public CCodeTypeDefinition (string type, CCodeDeclarator decl) {
                type_name = type;
                declarator = decl;
@@ -59,7 +54,7 @@ public class Vala.CCodeTypeDefinition : CCodeNode {
                
                declarator.write_declaration (writer);
 
-               if (deprecated) {
+               if (CCodeModifiers.DEPRECATED in modifiers) {
                        writer.write_string (" G_GNUC_DEPRECATED");
                }
 
index 89ee6bcb233dbd0b27e624d7f1f5e836de60b481..4641aff08bae7eed20a54a46a15a81d890275c77 100644 (file)
@@ -794,7 +794,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 
                var cenum = new CCodeEnum (get_ccode_name (en));
 
-               cenum.deprecated = en.version.deprecated;
+               cenum.modifiers |= (en.version.deprecated ? CCodeModifiers.DEPRECATED : 0);
 
                int flag_shift = 0;
                foreach (EnumValue ev in en.get_values ()) {
@@ -809,7 +809,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                                ev.value.emit (this);
                                c_ev = new CCodeEnumValue (get_ccode_name (ev), get_cvalue (ev.value));
                        }
-                       c_ev.deprecated = ev.version.deprecated;
+                       c_ev.modifiers |= (ev.version.deprecated ? CCodeModifiers.DEPRECATED : 0);
                        cenum.add_value (c_ev);
                }
 
index f97420f4310ff905c1d3a97b21d3e5f60228c244..7150c4e4a34179d447873b99080dd2333ad9185a 100644 (file)
@@ -116,7 +116,7 @@ public class Vala.CCodeDelegateModule : CCodeArrayModule {
                }
 
                var ctypedef = new CCodeTypeDefinition (return_type_cname, cfundecl);
-               ctypedef.deprecated = d.version.deprecated;
+               ctypedef.modifiers |= (d.version.deprecated ? CCodeModifiers.DEPRECATED : 0);
 
                decl_space.add_type_definition (ctypedef);
        }
index 6b6682b0e004136fb0216c0a5fa2f81237c81903..1eb6a57b6d1c22228e40acbfdf34bad275694699 100644 (file)
@@ -64,7 +64,7 @@ public abstract class Vala.CCodeStructModule : CCodeBaseModule {
                }
 
                var instance_struct = new CCodeStruct ("_%s".printf (get_ccode_name (st)));
-               instance_struct.deprecated = st.version.deprecated;
+               instance_struct.modifiers |= (st.version.deprecated ? CCodeModifiers.DEPRECATED : 0);
 
                foreach (Field f in st.get_fields ()) {
                        if (f.binding == MemberBinding.INSTANCE)  {
index c9f4a1a0827cc5493f55dcf5cd22739036db198e..91ed21ee87cec661001c5996582f33ce489a7557 100644 (file)
@@ -1,3 +1,6 @@
+[Version (deprecated = true)]
+delegate void FooDelegate ();
+
 [Version (deprecated = true)]
 struct FooStruct {
        [Version (deprecated = true)]
@@ -26,7 +29,20 @@ void test_class_property () {
        assert (foo.bar == 42);
 }
 
+[Version (deprecated = true)]
+enum FooEnum {
+       [Version (deprecated = true)]
+       BAR,
+       BAZ;
+}
+
+void test_enum () {
+       var foo = FooEnum.BAR;
+       assert (foo == 0);
+}
+
 void main () {
        test_class_property ();
        test_struct_field ();
+       test_enum ();
 }