From: Jürg Billeter Date: Sun, 16 Aug 2009 19:57:38 +0000 (+0200) Subject: Report error on unsupported constructor chain up X-Git-Tag: 0.7.6~190 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85d4d9b16cb1f00d935cf34a280767200e8cc4b7;p=thirdparty%2Fvala.git Report error on unsupported constructor chain up Fixes bug 581362. --- diff --git a/vala/valamethodcall.vala b/vala/valamethodcall.vala index a4763b81f..5f9f9098a 100644 --- a/vala/valamethodcall.vala +++ b/vala/valamethodcall.vala @@ -147,6 +147,15 @@ public class Vala.MethodCall : Expression { return false; } cm.chain_up = true; + + var otype = (ObjectType) mtype; + var cl = (Class) otype.type_symbol; + var base_cm = cl.default_construction_method; + if (!base_cm.has_construct_function) { + error = true; + Report.error (source_reference, "chain up to `%s' not supported".printf (base_cm.get_full_name ())); + return false; + } } // check for struct construction @@ -178,6 +187,13 @@ public class Vala.MethodCall : Expression { return false; } cm.chain_up = true; + + var base_cm = (CreationMethod) call.symbol_reference; + if (!base_cm.has_construct_function) { + error = true; + Report.error (source_reference, "chain up to `%s' not supported".printf (base_cm.get_full_name ())); + return false; + } } Gee.List params;