From: Jürg Billeter Date: Sat, 25 Oct 2008 07:07:30 +0000 (+0000) Subject: Report error when using conflicting method modifiers, fixes bug 535853 X-Git-Tag: VALA_0_5_1~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35d4cb1fa3d29806a4966b655af576f089fac7e7;p=thirdparty%2Fvala.git Report error when using conflicting method modifiers, fixes bug 535853 2008-10-25 Jürg Billeter * vala/valaparser.vala: Report error when using conflicting method modifiers, fixes bug 535853 svn path=/trunk/; revision=1912 --- diff --git a/ChangeLog b/ChangeLog index 5c3a9f77d..d3c9c3a86 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-10-25 Jürg Billeter + + * vala/valaparser.vala: + + Report error when using conflicting method modifiers, + fixes bug 535853 + 2008-10-25 Jürg Billeter * vala/valacodecontext.vala: diff --git a/vala/valaparser.vala b/vala/valaparser.vala index ab284a033..c13bbf248 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -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; }