]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Report error when using conflicting method modifiers, fixes bug 535853
authorJürg Billeter <j@bitron.ch>
Sat, 25 Oct 2008 07:07:30 +0000 (07:07 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sat, 25 Oct 2008 07:07:30 +0000 (07:07 +0000)
2008-10-25  Jürg Billeter  <j@bitron.ch>

* vala/valaparser.vala:

Report error when using conflicting method modifiers,
fixes bug 535853

svn path=/trunk/; revision=1912

ChangeLog
vala/valaparser.vala

index 5c3a9f77d760dc66b76b2228c02b219ffd0ea1a0..d3c9c3a86426e4442e5f8d1ef896ab2c2331037f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-25  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaparser.vala:
+
+       Report error when using conflicting method modifiers,
+       fixes bug 535853
+
 2008-10-25  Jürg Billeter  <j@bitron.ch>
 
        * vala/valacodecontext.vala:
index ab284a033623365ef62b4dfddf61d2c15e1f0f25..c13bbf2487e1a5a49782472dd9e7f390d579af1f 100644 (file)
@@ -2128,6 +2128,11 @@ public class Vala.Parser : CodeVisitor {
                if (ModifierFlags.OVERRIDE in flags) {
                        method.overrides = true;
                }
+               if ((method.is_abstract && method.is_virtual)
+                   || (method.is_abstract && method.overrides)
+                   || (method.is_virtual && method.overrides)) {
+                       throw new ParseError.SYNTAX (get_error ("only one of `abstract', `virtual', or `override' may be specified"));
+               }
                if (ModifierFlags.INLINE in flags) {
                        method.is_inline = true;
                }