*/
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) {
writer.write_string (" ");
writer.write_string (name);
}
- if (deprecated) {
+ if (CCodeModifiers.DEPRECATED in modifiers) {
writer.write_string (" G_GNUC_DEPRECATED");
}
writer.write_string (";");
*/
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.
*/
writer.write_string (" = ");
value.write (writer);
}
+ if (CCodeModifiers.DEPRECATED in modifiers) {
+ writer.write_string (" G_GNUC_DEPRECATED");
+ }
}
}
*/
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> ();
}
writer.write_end_block ();
- if (deprecated) {
+ if (CCodeModifiers.DEPRECATED in modifiers) {
writer.write_string (" G_GNUC_DEPRECATED");
}
writer.write_string (";");
*/
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;
declarator.write_declaration (writer);
- if (deprecated) {
+ if (CCodeModifiers.DEPRECATED in modifiers) {
writer.write_string (" G_GNUC_DEPRECATED");
}
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 ()) {
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);
}
}
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);
}
}
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) {
+[Version (deprecated = true)]
+delegate void FooDelegate ();
+
[Version (deprecated = true)]
struct FooStruct {
[Version (deprecated = true)]
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 ();
}