From: Rico Tzschichholz Date: Wed, 23 Jan 2019 20:36:12 +0000 (+0100) Subject: codegen: Replace some unfortunate asserts with internal error reports X-Git-Tag: 0.42.6~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f1504fae9456cb460c6ca58e80d5ef7e08e0137;p=thirdparty%2Fvala.git codegen: Replace some unfortunate asserts with internal error reports --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 32ca7f349..519fd8589 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -5618,14 +5618,16 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } else if (cleft is CCodeConstant) { left = ((CCodeConstant) cleft).name; } else { - assert_not_reached (); + Report.error (expr.source_reference, "internal: Unsupported expression"); + left = "NULL"; } if (cright is CCodeIdentifier) { right = ((CCodeIdentifier) cright).name; } else if (cright is CCodeConstant) { right = ((CCodeConstant) cright).name; } else { - assert_not_reached (); + Report.error (expr.source_reference, "internal: Unsupported expression"); + right = "NULL"; } set_cvalue (expr, new CCodeConstant ("%s %s".printf (left, right))); diff --git a/codegen/valaccodemethodmodule.vala b/codegen/valaccodemethodmodule.vala index 23113c3c7..0c8dbe25a 100644 --- a/codegen/valaccodemethodmodule.vala +++ b/codegen/valaccodemethodmodule.vala @@ -951,7 +951,8 @@ public abstract class Vala.CCodeMethodModule : CCodeStructModule { } else if (parent_type is Enum) { this_type = new EnumValueType ((Enum) parent_type); } else { - assert_not_reached (); + Report.error (parent_type.source_reference, "internal: Unsupported symbol type"); + this_type = new InvalidType (); } generate_type_declaration (this_type, decl_space); diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala index 603590aff..a654c0197 100644 --- a/codegen/valagtypemodule.vala +++ b/codegen/valagtypemodule.vala @@ -257,7 +257,7 @@ public class Vala.GTypeModule : GErrorModule { var f = (Field) s; generate_struct_field_declaration (cl, f, instance_struct, type_struct, decl_space, ref has_struct_member); } else { - assert_not_reached (); + Report.error (s.source_reference, "internal: Unsupported symbol"); } } } else { @@ -2180,7 +2180,7 @@ public class Vala.GTypeModule : GErrorModule { type_struct.add_declaration (vdecl); } } else { - assert_not_reached (); + Report.error (sym.source_reference, "internal: Unsupported symbol"); } }