From: Jürg Billeter Date: Mon, 7 Jul 2008 12:40:16 +0000 (+0000) Subject: Fix error message when encountering invalid character literals, fixes bug X-Git-Tag: VALA_0_3_5~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3432e75ff8f10641edaaca13b64e1fec16e0beac;p=thirdparty%2Fvala.git Fix error message when encountering invalid character literals, fixes bug 2008-07-07 Jürg Billeter * vala/valacharacterliteral.vala: * vala/valaparser.vala: Fix error message when encountering invalid character literals, fixes bug 541452 svn path=/trunk/; revision=1681 --- diff --git a/ChangeLog b/ChangeLog index c7af7afa2..ef493f10b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-07-07 Jürg Billeter + + * vala/valacharacterliteral.vala: + * vala/valaparser.vala: + + Fix error message when encountering invalid character literals, + fixes bug 541452 + 2008-07-07 Jürg Billeter * vapi/glib-2.0.vapi: diff --git a/vala/valacharacterliteral.vala b/vala/valacharacterliteral.vala index ea3c5e738..d818ce8cf 100644 --- a/vala/valacharacterliteral.vala +++ b/vala/valacharacterliteral.vala @@ -57,13 +57,7 @@ public class Vala.CharacterLiteral : Literal { source_reference = source; } - - construct { - if (error) { - Report.error (source_reference, "invalid character literal"); - } - } - + public override void accept (CodeVisitor visitor) { visitor.visit_character_literal (this); diff --git a/vala/valaparser.vala b/vala/valaparser.vala index 1a2dcefba..10b1407ad 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -261,7 +261,12 @@ public class Vala.Parser : CodeVisitor { return new RealLiteral (get_last_string (), get_src (begin)); case TokenType.CHARACTER_LITERAL: next (); - return new CharacterLiteral (get_last_string (), get_src (begin)); + // FIXME validate and unescape here and just pass unichar to CharacterLiteral + var lit = new CharacterLiteral (get_last_string (), get_src (begin)); + if (lit.error) { + Report.error (lit.source_reference, "invalid character literal"); + } + return lit; case TokenType.STRING_LITERAL: next (); return new StringLiteral (get_last_string (), get_src (begin));