report too short type names, based on patch by Ed Schouten, fixes bug
authorJuerg Billeter <j@bitron.ch>
Wed, 29 Aug 2007 14:09:40 +0000 (14:09 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 29 Aug 2007 14:09:40 +0000 (14:09 +0000)
2007-08-29  Juerg Billeter  <j@bitron.ch>

* gobject/valacodegeneratorclass.vala,
  gobject/valacodegeneratorinterface.vala: report too short type names,
  based on patch by Ed Schouten, fixes bug 471253

svn path=/trunk/; revision=531

ChangeLog
gobject/valacodegeneratorclass.vala
gobject/valacodegeneratorinterface.vala

index 766d3fb..2fa042a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2007-08-29  Jürg Billeter  <j@bitron.ch>
 
+       * gobject/valacodegeneratorclass.vala,
+         gobject/valacodegeneratorinterface.vala: report too short type names,
+         based on patch by Ed Schouten, fixes bug 471253
+
+2007-08-29  Jürg Billeter  <j@bitron.ch>
+
        * vala/parser.y: allow property accessors in arbitrary order,
          fixes bug 470233
 
index 53fc7a8..a8033d9 100644 (file)
@@ -39,6 +39,12 @@ public class Vala.CodeGenerator {
                current_type_symbol = cl;
                current_class = cl;
 
+               if (cl.get_cname().len () < 3) {
+                       cl.error = true;
+                       Report.error (cl.source_reference, "Class name `%s' is too short".printf (cl.get_cname ()));
+                       return;
+               }
+
                if (cl.is_static) {
                        return;
                }
index aa98235..2731002 100644 (file)
@@ -28,6 +28,12 @@ public class Vala.CodeGenerator {
                current_symbol = iface;
                current_type_symbol = iface;
 
+               if (iface.get_cname().len () < 3) {
+                       iface.error = true;
+                       Report.error (iface.source_reference, "Interface name `%s' is too short".printf (iface.get_cname ()));
+                       return;
+               }
+
                CCodeFragment decl_frag;
                CCodeFragment def_frag;
                if (iface.access != MemberAccessibility.PRIVATE) {