summaryrefslogtreecommitdiff
path: root/vapigen
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2008-06-12 16:35:17 +0000
committerJürg Billeter <juergbi@src.gnome.org>2008-06-12 16:35:17 +0000
commit7ed8e53563ad173b58814c646fc2e7ef7424384e (patch)
treec46b09aff2a69028bcc8485ecd3b37c605b9f952 /vapigen
parent6055b0388f8f4f36cbd00571d786b59a6c30316f (diff)
downloadvala-7ed8e53563ad173b58814c646fc2e7ef7424384e.tar.gz
Support Immutable class attribute
2008-06-12 Jürg Billeter <j@bitron.ch> * vala/valainterfacewriter.vala: * vapigen/valagidlparser.vala: Support Immutable class attribute * vapi/packages/gstreamer-0.10/: Mark GstStructure as Immutable as reference-type semantics are not desirable * vapi/gstreamer-0.10.vapi: regenerated svn path=/trunk/; revision=1572
Diffstat (limited to 'vapigen')
-rw-r--r--vapigen/valagidlparser.vala11
1 files changed, 8 insertions, 3 deletions
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index f0f5196ef..98bbe5680 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -425,6 +425,10 @@ public class Vala.GIdlParser : CodeVisitor {
if (eval (nv[1]) == "1") {
return;
}
+ } else if (nv[0] == "is_immutable") {
+ if (eval (nv[1]) == "1") {
+ cl.is_immutable = true;
+ }
}
}
}
@@ -675,6 +679,10 @@ public class Vala.GIdlParser : CodeVisitor {
var nv = attr.split ("=", 2);
if (nv[0] == "cheader_filename") {
cl.add_cheader_filename (eval (nv[1]));
+ } else if (nv[0] == "is_immutable") {
+ if (eval (nv[1]) == "1") {
+ cl.is_immutable = true;
+ }
}
}
}
@@ -684,9 +692,6 @@ public class Vala.GIdlParser : CodeVisitor {
current_source_file.add_node (cl);
}
- var gboxed_symbol = new UnresolvedSymbol (new UnresolvedSymbol (null, "GLib"), "Boxed");
- cl.add_base_type (new UnresolvedType.from_symbol (gboxed_symbol));
-
current_data_type = cl;
string ref_function = null;