diff --git a/generator/ClassBase.cs b/generator/ClassBase.cs index 95d5df8c6..ca79e486e 100644 --- a/generator/ClassBase.cs +++ b/generator/ClassBase.cs @@ -61,20 +61,13 @@ namespace GtkSharp.Generation { protected ClassBase (XmlElement ns, XmlElement elem) : base (ns, elem) { - if (elem.HasAttribute ("deprecated")) { - string attr = elem.GetAttribute ("deprecated"); - deprecated = attr == "1" || attr == "true"; - } - - if (elem.HasAttribute ("abstract")) { - string attr = elem.GetAttribute ("abstract"); - isabstract = attr == "1" || attr == "true"; - } + deprecated = elem.GetAttributeAsBoolean ("deprecated"); + isabstract = elem.GetAttributeAsBoolean ("abstract"); foreach (XmlNode node in elem.ChildNodes) { if (!(node is XmlElement)) continue; XmlElement member = (XmlElement) node; - if (member.HasAttribute ("hidden")) + if (member.GetAttributeAsBoolean ("hidden")) continue; string name; @@ -227,7 +220,7 @@ namespace GtkSharp.Generation { if (node.Name != "interface") continue; XmlElement element = (XmlElement) node; - if (element.HasAttribute ("hidden")) + if (element.GetAttributeAsBoolean ("hidden")) continue; if (element.HasAttribute ("cname")) interfaces.Add (element.GetAttribute ("cname")); diff --git a/generator/Ctor.cs b/generator/Ctor.cs index 53d583607..a819043f8 100644 --- a/generator/Ctor.cs +++ b/generator/Ctor.cs @@ -35,8 +35,7 @@ namespace GtkSharp.Generation { public Ctor (XmlElement elem, ClassBase implementor) : base (elem, implementor) { - if (elem.HasAttribute ("preferred")) - preferred = true; + preferred = elem.GetAttributeAsBoolean ("preferred"); if (implementor is ObjectGen) needs_chaining = true; name = implementor.Name; diff --git a/generator/FieldBase.cs b/generator/FieldBase.cs index 6a9b78294..7e18bbb36 100644 --- a/generator/FieldBase.cs +++ b/generator/FieldBase.cs @@ -62,7 +62,7 @@ namespace GtkSharp.Generation { public bool IsArray { get { - return elem.HasAttribute("array_len") || elem.HasAttribute("array"); + return elem.HasAttribute ("array_len") || elem.GetAttributeAsBoolean ("array"); } } @@ -153,7 +153,7 @@ namespace GtkSharp.Generation { SymbolTable table = SymbolTable.Table; StreamWriter sw = gen_info.Writer; - string modifiers = elem.HasAttribute ("new_flag") ? "new " : ""; + string modifiers = elem.GetAttributeAsBoolean ("new_flag") ? "new " : ""; bool is_struct = table.IsStruct (CType) || table.IsBoxed (CType); sw.WriteLine (indent + "public " + modifiers + CSType + " " + Name + " {"); diff --git a/generator/GenBase.cs b/generator/GenBase.cs index 378e3c845..d64497d96 100644 --- a/generator/GenBase.cs +++ b/generator/GenBase.cs @@ -58,11 +58,7 @@ namespace GtkSharp.Generation { public bool IsInternal { get { - if (elem.HasAttribute ("internal")) { - string attr = elem.GetAttribute ("internal"); - return attr == "1" || attr == "true"; - } - return false; + return elem.GetAttributeAsBoolean ("internal"); } } diff --git a/generator/InterfaceGen.cs b/generator/InterfaceGen.cs index 9978c7ae4..92e13f614 100644 --- a/generator/InterfaceGen.cs +++ b/generator/InterfaceGen.cs @@ -33,7 +33,7 @@ namespace GtkSharp.Generation { public InterfaceGen (XmlElement ns, XmlElement elem) : base (ns, elem, true) { - consume_only = elem.HasAttribute ("consume_only"); + consume_only = elem.GetAttributeAsBoolean ("consume_only"); foreach (XmlNode node in elem.ChildNodes) { if (!(node is XmlElement)) continue; XmlElement member = (XmlElement) node; diff --git a/generator/Method.cs b/generator/Method.cs index c2444bb0f..39758ef82 100644 --- a/generator/Method.cs +++ b/generator/Method.cs @@ -40,15 +40,11 @@ namespace GtkSharp.Generation { { this.retval = new ReturnValue (elem["return-type"]); - if (!container_type.IsDeprecated && elem.HasAttribute ("deprecated")) { - string attr = elem.GetAttribute ("deprecated"); - deprecated = attr == "1" || attr == "true"; + if (!container_type.IsDeprecated) { + deprecated = elem.GetAttributeAsBoolean ("deprecated"); } - if (elem.HasAttribute ("win32_utf8_variant")) { - string attr = elem.GetAttribute ("win32_utf8_variant"); - win32_utf8_variant = attr == "1" || attr.ToLower () == "true"; - } + win32_utf8_variant = elem.GetAttributeAsBoolean ("win32_utf8_variant"); if (Name == "GetType") Name = "GetGType"; diff --git a/generator/MethodBase.cs b/generator/MethodBase.cs index ce6aa726c..882045c2b 100644 --- a/generator/MethodBase.cs +++ b/generator/MethodBase.cs @@ -41,7 +41,7 @@ namespace GtkSharp.Generation { this.name = elem.GetAttribute ("name"); parms = new Parameters (elem ["parameters"]); IsStatic = elem.GetAttribute ("shared") == "true"; - if (elem.HasAttribute ("new_flag")) + if (elem.GetAttributeAsBoolean ("new_flag")) mods = "new "; if (elem.HasAttribute ("accessibility")) { string attr = elem.GetAttribute ("accessibility"); diff --git a/generator/ObjectBase.cs b/generator/ObjectBase.cs index 31a86db27..3ddf333fd 100644 --- a/generator/ObjectBase.cs +++ b/generator/ObjectBase.cs @@ -69,7 +69,7 @@ namespace GtkSharp.Generation { else signal_vms.Add (member.GetAttribute ("field_name"), member); - if (member.GetAttribute ("hidden") != "1") { + if (!member.GetAttributeAsBoolean ("hidden")) { string name = member.GetAttribute("name"); while (sigs.ContainsKey(name)) name += "mangled"; @@ -130,7 +130,7 @@ namespace GtkSharp.Generation { } else vm = new GObjectVM (vm_elem, this); - if (vm_elem.GetAttribute ("padding") == "true" || vm_elem.GetAttribute ("hidden") == "1") + if (vm_elem.GetAttributeAsBoolean ("padding") || vm_elem.GetAttributeAsBoolean ("hidden")) hidden_vms.Add (vm); else { if (vm is GObjectVM) diff --git a/generator/ObjectField.cs b/generator/ObjectField.cs index 47e015623..f0edd1a5e 100644 --- a/generator/ObjectField.cs +++ b/generator/ObjectField.cs @@ -34,7 +34,7 @@ namespace GtkSharp.Generation { protected override bool Writable { get { - return elem.GetAttribute ("writeable") == "true"; + return elem.GetAttributeAsBoolean ("writeable"); } } diff --git a/generator/ObjectGen.cs b/generator/ObjectGen.cs index f841d5328..0900f9fde 100644 --- a/generator/ObjectGen.cs +++ b/generator/ObjectGen.cs @@ -40,7 +40,8 @@ namespace GtkSharp.Generation { foreach (XmlNode node in elem.ChildNodes) { if (!(node is XmlElement)) continue; XmlElement member = (XmlElement) node; - if (member.HasAttribute ("hidden") && member.GetAttribute ("hidden") == "1") continue; + if (member.GetAttributeAsBoolean ("hidden")) + continue; switch (node.Name) { case "callback": @@ -93,7 +94,7 @@ namespace GtkSharp.Generation { private bool DisableVoidCtor { get { - return Elem.HasAttribute ("disable_void_ctor"); + return Elem.GetAttributeAsBoolean ("disable_void_ctor"); } } diff --git a/generator/OpaqueGen.cs b/generator/OpaqueGen.cs index 89b175c3f..1926f7dc2 100644 --- a/generator/OpaqueGen.cs +++ b/generator/OpaqueGen.cs @@ -37,7 +37,7 @@ namespace GtkSharp.Generation { private bool DisableRawCtor { get { - return Elem.HasAttribute ("disable_raw_ctor"); + return Elem.GetAttributeAsBoolean ("disable_raw_ctor"); } } diff --git a/generator/Parameters.cs b/generator/Parameters.cs index f599d5222..c2d353de6 100644 --- a/generator/Parameters.cs +++ b/generator/Parameters.cs @@ -81,13 +81,13 @@ namespace GtkSharp.Generation { public bool IsArray { get { - return elem.HasAttribute("array") || elem.HasAttribute("null_term_array"); + return elem.GetAttributeAsBoolean ("array") || elem.GetAttributeAsBoolean ("null_term_array"); } } public bool IsEllipsis { get { - return elem.HasAttribute("ellipsis"); + return elem.GetAttributeAsBoolean ("ellipsis"); } } @@ -330,7 +330,7 @@ namespace GtkSharp.Generation { public ArrayParameter (XmlElement elem) : base (elem) { - null_terminated = elem.HasAttribute ("null_term_array"); + null_terminated = elem.GetAttributeAsBoolean ("null_term_array"); } public override string MarshalType { diff --git a/generator/Parser.cs b/generator/Parser.cs index 99581fc52..e5c1816b2 100644 --- a/generator/Parser.cs +++ b/generator/Parser.cs @@ -107,13 +107,10 @@ namespace GtkSharp.Generation { if (elem == null) continue; - if (elem.HasAttribute("hidden")) + if (elem.GetAttributeAsBoolean ("hidden")) continue; - bool is_opaque = false; - if (elem.GetAttribute ("opaque") == "true" || - elem.GetAttribute ("opaque") == "1") - is_opaque = true; + bool is_opaque = elem.GetAttributeAsBoolean ("opaque"); switch (def.Name) { case "alias": diff --git a/generator/Property.cs b/generator/Property.cs index 91dd066e4..5842df869 100644 --- a/generator/Property.cs +++ b/generator/Property.cs @@ -45,22 +45,21 @@ namespace GtkSharp.Generation { bool Readable { get { - return elem.GetAttribute ("readable") == "true"; + return elem.GetAttributeAsBoolean ("readable"); } } bool Writable { get { - return elem.GetAttribute ("writeable") == "true" && - !elem.HasAttribute ("construct-only"); + return elem.GetAttributeAsBoolean ("writeable") && + !elem.GetAttributeAsBoolean ("construct-only"); } } bool IsDeprecated { get { return !container_type.IsDeprecated && - (elem.GetAttribute ("deprecated") == "1" || - elem.GetAttribute ("deprecated") == "true"); + elem.GetAttributeAsBoolean ("deprecated"); } } diff --git a/generator/PropertyBase.cs b/generator/PropertyBase.cs index ef106f6bc..a673b7100 100644 --- a/generator/PropertyBase.cs +++ b/generator/PropertyBase.cs @@ -74,13 +74,13 @@ namespace GtkSharp.Generation { public bool Hidden { get { - return elem.HasAttribute("hidden"); + return elem.GetAttributeAsBoolean ("hidden"); } } protected bool IsNew { get { - return elem.HasAttribute("new_flag"); + return elem.GetAttributeAsBoolean ("new_flag"); } } diff --git a/generator/ReturnValue.cs b/generator/ReturnValue.cs index 6da64f364..bbe55a080 100644 --- a/generator/ReturnValue.cs +++ b/generator/ReturnValue.cs @@ -40,11 +40,11 @@ namespace GtkSharp.Generation { public ReturnValue (XmlElement elem) { if (elem != null) { - is_null_term = elem.HasAttribute ("null_term_array"); - is_array = elem.HasAttribute ("array") || elem.HasAttribute ("array_length_param"); + is_null_term = elem.GetAttributeAsBoolean ("null_term_array"); + is_array = elem.GetAttributeAsBoolean ("array") || elem.HasAttribute ("array_length_param"); array_length_param = elem.GetAttribute ("array_length_param"); - elements_owned = elem.GetAttribute ("elements_owned") == "true"; - owned = elem.GetAttribute ("owned") == "true"; + elements_owned = elem.GetAttributeAsBoolean ("elements_owned"); + owned = elem.GetAttributeAsBoolean ("owned"); ctype = elem.GetAttribute("type"); default_value = elem.GetAttribute ("default_value"); element_ctype = elem.GetAttribute ("element_type"); diff --git a/generator/Signal.cs b/generator/Signal.cs index ee61c98b4..de4d601b0 100644 --- a/generator/Signal.cs +++ b/generator/Signal.cs @@ -76,7 +76,7 @@ namespace GtkSharp.Generation { public void GenerateDecl (StreamWriter sw) { - if (elem.HasAttribute("new_flag") || (container_type != null && container_type.GetSignalRecursively (Name) != null)) + if (elem.GetAttributeAsBoolean ("new_flag") || (container_type != null && container_type.GetSignalRecursively (Name) != null)) sw.Write("new "); sw.WriteLine ("\t\tevent " + EventHandlerQualifiedName + " " + Name + ";"); @@ -242,7 +242,7 @@ namespace GtkSharp.Generation { private bool NeedNew (ObjectBase implementor) { - return elem.HasAttribute ("new_flag") || + return elem.GetAttributeAsBoolean ("new_flag") || (container_type != null && container_type.GetSignalRecursively (Name) != null) || (implementor != null && implementor.GetSignalRecursively (Name) != null); } diff --git a/generator/StructBase.cs b/generator/StructBase.cs index 9a0b380c7..38bbdc7d8 100644 --- a/generator/StructBase.cs +++ b/generator/StructBase.cs @@ -103,7 +103,7 @@ namespace GtkSharp.Generation { private bool DisableNew { get { - return Elem.HasAttribute ("disable_new"); + return Elem.GetAttributeAsBoolean ("disable_new"); } }