diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2016-11-11 19:30:41 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2016-11-11 19:30:41 +0100 |
commit | cccf2ad9f2c6d3bb96af755bbb325bc27f232c10 (patch) | |
tree | cf117b7097a33c0dc6d67f8a0c3da64142e38d2a | |
parent | e8dbc1e1cfb501ac5f21f6d32643eb32f734b9af (diff) | |
download | vala-cccf2ad9f2c6d3bb96af755bbb325bc27f232c10.tar.gz |
Transform CCode*'s "deprecated" into using CCodeNode's "modifiers"
-rw-r--r-- | ccode/valaccodeenum.vala | 7 | ||||
-rw-r--r-- | ccode/valaccodeenumvalue.vala | 8 | ||||
-rw-r--r-- | ccode/valaccodestruct.vala | 7 | ||||
-rw-r--r-- | ccode/valaccodetypedefinition.vala | 7 | ||||
-rw-r--r-- | codegen/valaccodebasemodule.vala | 4 | ||||
-rw-r--r-- | codegen/valaccodedelegatemodule.vala | 2 | ||||
-rw-r--r-- | codegen/valaccodestructmodule.vala | 2 | ||||
-rw-r--r-- | tests/annotations/deprecated.vala | 16 |
8 files changed, 26 insertions, 27 deletions
diff --git a/ccode/valaccodeenum.vala b/ccode/valaccodeenum.vala index 2288456cb..f2a378879 100644 --- a/ccode/valaccodeenum.vala +++ b/ccode/valaccodeenum.vala @@ -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 (";"); diff --git a/ccode/valaccodeenumvalue.vala b/ccode/valaccodeenumvalue.vala index e1c02513b..e952f4b90 100644 --- a/ccode/valaccodeenumvalue.vala +++ b/ccode/valaccodeenumvalue.vala @@ -32,11 +32,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. */ public CCodeExpression? value { get; set; } @@ -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"); + } } } diff --git a/ccode/valaccodestruct.vala b/ccode/valaccodestruct.vala index 1eadd025c..fce7fcba8 100644 --- a/ccode/valaccodestruct.vala +++ b/ccode/valaccodestruct.vala @@ -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 (";"); diff --git a/ccode/valaccodetypedefinition.vala b/ccode/valaccodetypedefinition.vala index 84d6ce293..797c3baf0 100644 --- a/ccode/valaccodetypedefinition.vala +++ b/ccode/valaccodetypedefinition.vala @@ -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"); } diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 89ee6bcb2..4641aff08 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -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); } diff --git a/codegen/valaccodedelegatemodule.vala b/codegen/valaccodedelegatemodule.vala index f97420f43..7150c4e4a 100644 --- a/codegen/valaccodedelegatemodule.vala +++ b/codegen/valaccodedelegatemodule.vala @@ -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); } diff --git a/codegen/valaccodestructmodule.vala b/codegen/valaccodestructmodule.vala index 6b6682b0e..1eb6a57b6 100644 --- a/codegen/valaccodestructmodule.vala +++ b/codegen/valaccodestructmodule.vala @@ -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) { diff --git a/tests/annotations/deprecated.vala b/tests/annotations/deprecated.vala index c9f4a1a08..91ed21ee8 100644 --- a/tests/annotations/deprecated.vala +++ b/tests/annotations/deprecated.vala @@ -1,4 +1,7 @@ [Version (deprecated = true)] +delegate void FooDelegate (); + +[Version (deprecated = true)] struct FooStruct { [Version (deprecated = true)] public int bar; @@ -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 (); } |