[vala] GIR parser: Fix construct-only attribute parsing for properties



commit e8f2dbe325cd698a9fc99041a930eec8312e5b45
Author: Didier 'Ptitjes <ptitjes free fr>
Date:   Wed Apr 29 00:39:23 2009 +0200

    GIR parser: Fix construct-only attribute parsing for properties
    
    Signed-off-by: Didier 'Ptitjes <ptitjes free fr>
---
 vapigen/valagirparser.vala |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/vapigen/valagirparser.vala b/vapigen/valagirparser.vala
index 62a9142..0912ab1 100644
--- a/vapigen/valagirparser.vala
+++ b/vapigen/valagirparser.vala
@@ -695,6 +695,7 @@ public class Vala.GirParser : CodeVisitor {
 		string readable = reader.get_attribute ("readable");
 		string writable = reader.get_attribute ("writable");
 		string construct_ = reader.get_attribute ("construct");
+		string construct_only = reader.get_attribute ("construct-only");
 		next ();
 		var type = parse_type ();
 		var prop = new Property (name, type, null, null, get_current_src ());
@@ -702,8 +703,8 @@ public class Vala.GirParser : CodeVisitor {
 		if (readable != "0") {
 			prop.get_accessor = new PropertyAccessor (true, false, false, prop.property_type.copy (), null, null);
 		}
-		if (writable == "1" || construct_ == "1") {
-			prop.set_accessor = new PropertyAccessor (false, (writable == "1"), (construct_ == "1"), prop.property_type.copy (), null, null);
+		if (writable == "1" || construct_only == "1") {
+			prop.set_accessor = new PropertyAccessor (false, (construct_only != "1") && (writable == "1"), (construct_only == "1") || (construct_ == "1"), prop.property_type.copy (), null, null);
 		}
 		end_element ("property");
 		return prop;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]