From: Florian Brosch Date: Sun, 14 Sep 2014 17:44:25 +0000 (+0200) Subject: Check destructor names X-Git-Tag: 0.27.1~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=030f1f124d5e30d4c33e47e2c4ae65972ee3ea81;p=thirdparty%2Fvala.git Check destructor names Edit: make it an error instead of warning Fixes bug 655343. --- diff --git a/vala/valaparser.vala b/vala/valaparser.vala index 3127f44b4..512909f47 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -2908,13 +2908,16 @@ public class Vala.Parser : CodeVisitor { var begin = get_location (); var flags = parse_member_declaration_modifiers (); expect (TokenType.TILDE); - parse_identifier (); + string identifier = parse_identifier (); expect (TokenType.OPEN_PARENS); expect (TokenType.CLOSE_PARENS); if (ModifierFlags.NEW in flags) { throw new ParseError.SYNTAX (get_error ("`new' modifier not allowed on destructor")); } var d = new Destructor (get_src (begin)); + if (identifier != parent.name) { + Report.error (d.source_reference, "destructor and parent symbol name do not match"); + } if (ModifierFlags.STATIC in flags) { d.binding = MemberBinding.STATIC; } else if (ModifierFlags.CLASS in flags) {