]> git.draconx.ca Git - gob-dx.git/blobdiff - src/test.gob
Release 2.0.18
[gob-dx.git] / src / test.gob
index b900902b9ec945a5544d5a50a7a325d09fd14320..25e2e8f66c8afea96d36177a5544e246ca4d395a 100644 (file)
@@ -3,12 +3,21 @@
    look in here to see a whole array of different syntax options, but
    don't expect this to be an easy to read file */
 
-requires 1.99.0
+requires 2.0.18
+
+%ct{
+       /* very very top of C file useful for "config.h" sort of like alltop
+        * but only for C file */ 
+%}
 
 %at{
 /* ALL TOP */
 %}
 
+%ctop{
+       /* Just like ct above */
+%}
+
 %headertop{
 /* this should go on the very top of the header */
 
@@ -23,6 +32,11 @@ requires 1.99.0
 /* this should go into the private header as well*/
 %}
 
+%afterdecls{
+       /* between the declarations and the method implementations */
+%}
+
+
 
 %{
 #include <stdio.h>
@@ -92,7 +106,7 @@ enum BUBLE {
         ALT
 } Buble:Enum;
 
-class Test:Object from G:Object
+class Test:Object from /*G:Object*/ Gtk:Container
        (interface Gtk:Tree:Model)
        /* We can add more interfaces by adding more lines like the above */
        /* Note that there must exist a GtkTreeModelIface structure */
@@ -241,7 +255,7 @@ class Test:Object from G:Object
        public int wagawaga_should_be_after_this_in_the_header;
 
        init(object) {
-               object->i=0;
+               object->i=0;
        }
        class_init(klass);
 
@@ -284,6 +298,18 @@ class Test:Object from G:Object
                return self_blah(self,wid,h) > 0 ? g_strdup ("foo") : g_strdup ("bar");
        }
 
+       constructor(self) {
+               /* constructor stuff */
+       }
+
+       dispose(self) {
+               /* dispose stuff */
+       }
+
+       finalize(self) {
+               /* finalize stuff */
+       }
+
        private
        char *
        test_handler (self, GObject *w, int h, gpointer data)
@@ -351,10 +377,23 @@ class Test:Object from G:Object
                return NULL;
        }
        virtual int beh(self, int h (check > 0));
-       /*override(G:Object) void add(Gtk:Container * self (check null type),
-                                        Gtk:Widget * wid (check null type)) {
+       override(Gtk:Container)
+       void add(Gtk:Container * self (check null type),
+                 Gtk:Widget * wid (check null type)) {
                PARENT_HANDLER(self,wid);
-       }*/
+       }
+
+       override(G:Object)
+       void dispatch_properties_changed (G:Object      *object,
+                                         guint    n_pspecs,
+                                         GParamSpec  **pspecs)
+       {
+               object = NULL;
+               n_pspecs = 0;
+               pspecs = NULL;
+               /* EKI! */
+       }
+
        public int consttest(self, const gchar *text, ...)
        {
                text = NULL;
@@ -405,6 +444,58 @@ class Test:Object from G:Object
                i = 0;
                return 25;
        }
+       public gchar *funcattrtest(self, const char *format (check null), ...)
+               attr {G_GNUC_PRINTF (2, 3)}
+       {
+               gchar *result;
+
+               va_list ap;
+               va_start(ap, format);
+               result = g_strdup_vprintf (format, ap);
+               va_end(ap);
+               return result;
+       }
+       private gchar *funcattrtest2(self, const char *format, ...)
+               attr {G_GNUC_SCANF(2,3)}
+       {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;
+       }
+        protected gchar *funcattrtest3(self, const char *format)
+               attr {G_GNUC_FORMAT (2)}
+        {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       private char *funcattrtest4(self, const char *format, ...)
+               attr {G_GNUC_PRINTF(2,3)}
+                onerror NULL
+       {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       protected char * funcattrtest5(self, const char *format, ...)
+               onerror NULL
+               attr {G_GNUC_PRINTF(2,3)}
+       {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       public char * funcattrtest6(self, const char *format, ...)
+               attr {G_GNUC_PRINTF(2,3)}
+                onerror NULL 
+        {
+               gchar *nonsense = NULL;
+               format = format;
+                return nonsense;               
+       }
+       // Note that the parser should accept defreturn with function
+       // attributes as well, but this may not be a good thing since
+       // it probably doesn't make sense, so we don't test it.
        signal private first NONE (NONE)
        void googlegoogle(self)
        {