]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Check destructor names
authorFlorian Brosch <flo.brosch@gmail.com>
Sun, 14 Sep 2014 17:44:25 +0000 (19:44 +0200)
committerLuca Bruno <luca.bruno@immobiliare.it>
Tue, 23 Sep 2014 09:42:03 +0000 (11:42 +0200)
Edit: make it an error instead of warning

Fixes bug 655343.

vala/valaparser.vala

index 3127f44b4e2a81109f332be234f231472c96ab20..512909f47313b98533fab1172cf94fd097b8ec81 100644 (file)
@@ -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) {