diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2017-11-19 16:27:22 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2017-11-19 16:27:22 +0100 |
commit | 6b656b078e49de3286deaa3ae8edcfdb6202e6e8 (patch) | |
tree | c10282dff9f9c88626f551d85d502d146d9a50df /vala/valasemanticanalyzer.vala | |
parent | be9e795b66ed96e232abcd3ca628096c9a51c61c (diff) | |
download | vala-6b656b078e49de3286deaa3ae8edcfdb6202e6e8.tar.gz |
vala: Report error for missing type-parameter on enclosing type
Make a qualified guess for the cause of the problem instead of triggering
an assertion.
https://bugzilla.gnome.org/show_bug.cgi?id=587905
Diffstat (limited to 'vala/valasemanticanalyzer.vala')
-rw-r--r-- | vala/valasemanticanalyzer.vala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 32a8d2d28..a0a7e3d0a 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -822,7 +822,11 @@ public class Vala.SemanticAnalyzer : CodeVisitor { // trace type arguments back to the datatype where the method has been declared var instance_type = get_instance_base_type_for_member (derived_instance_type, (TypeSymbol) generic_type.type_parameter.parent_symbol, node_reference); - assert (instance_type != null); + if (instance_type == null) { + Report.error (node_reference.source_reference, "The type-parameter `%s' must be defined on enclosing type".printf (generic_type.to_string ())); + node_reference.error = true; + return null; + } int param_index; if (instance_type is DelegateType) { |