]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Fix error message when encountering invalid character literals, fixes bug
authorJürg Billeter <j@bitron.ch>
Mon, 7 Jul 2008 12:40:16 +0000 (12:40 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 7 Jul 2008 12:40:16 +0000 (12:40 +0000)
2008-07-07  Jürg Billeter  <j@bitron.ch>

* vala/valacharacterliteral.vala:
* vala/valaparser.vala:

Fix error message when encountering invalid character literals,
fixes bug 541452

svn path=/trunk/; revision=1681

ChangeLog
vala/valacharacterliteral.vala
vala/valaparser.vala

index c7af7afa2ce1e17c9bcda49ce3902e30b5d10c74..ef493f10ba12ac2df8a552e89ea53124857bff3e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-07-07  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valacharacterliteral.vala:
+       * vala/valaparser.vala:
+
+       Fix error message when encountering invalid character literals,
+       fixes bug 541452
+
 2008-07-07  Jürg Billeter  <j@bitron.ch>
 
        * vapi/glib-2.0.vapi:
index ea3c5e738fa1bbbab93357dc3a075a1e38640e49..d818ce8cfb082a310d405568a6b6600d8c8b2ea4 100644 (file)
@@ -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);
 
index 1a2dcefba558e00a8dd83dd6d88e5f2ab4af7ca4..10b1407ad3f4a266571f8b632fc35a015f8b3ac4 100644 (file)
@@ -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));