2007-09-09 Juerg Billeter <j@bitron.ch>
* vala/valasymbolresolver.vala: detect interface prerequisite cycle
svn path=/trunk/; revision=599
2007-09-09 Jürg Billeter <j@bitron.ch>
+ * vala/valasymbolresolver.vala: detect interface prerequisite cycle
+
+2007-09-09 Jürg Billeter <j@bitron.ch>
+
* vala/valaclass.vala, vala/valainterface.vala,
vala/valasymbolresolver.vala: detect base class cycle
iface.accept_children (this);
+ foreach (TypeReference type in iface.get_prerequisites ()) {
+ if (type.data_type.is_subtype_of (iface)) {
+ iface.error = true;
+ Report.error (type.source_reference, "Prerequisite cycle (`%s' and `%s')".printf (iface.get_full_name (), type.data_type.get_full_name ()));
+ return;
+ }
+ }
+
current_scope = current_scope.parent_scope;
}