[vala] Check destructor names



commit 030f1f124d5e30d4c33e47e2c4ae65972ee3ea81
Author: Florian Brosch <flo brosch gmail com>
Date:   Sun Sep 14 19:44:25 2014 +0200

    Check destructor names
    
    Edit: make it an error instead of warning
    
    Fixes bug 655343.

 vala/valaparser.vala |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index 3127f44..512909f 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) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]