]> git.draconx.ca Git - gob-dx.git/blobdiff - src/test.gob
Release 2.0.20
[gob-dx.git] / src / test.gob
index 3de497cae63000b5e98849cfa2608e75fe332a78..9c981eb23dbbba8fbbe857686dd16a8fb4b37e6c 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>
@@ -154,7 +168,9 @@ class Test:Object from /*G:Object*/ Gtk:Container
 
        private char a_property;
        property CHAR a_property
-               (nick = _("Nick"),
+               (
+                name="a-property",
+                nick = _("Nick"),
                 blurb = _("Blurb"),
                 minimum = 'a',
                 maximum = 'Z',
@@ -241,9 +257,11 @@ class Test:Object from /*G:Object*/ Gtk:Container
        public int wagawaga_should_be_after_this_in_the_header;
 
        init(object) {
-               object->i=0;
+               object->i=0;
+       }
+       class_init(klass) {
+               /*IN CLASS INIT  */
        }
-       class_init(klass);
 
        /**
         * new:
@@ -278,12 +296,24 @@ class Test:Object from /*G:Object*/ Gtk:Container
         *
         * Returns: new object
         **/
-       signal last STRING (POINTER, INT)
+       signal last STRING "bleh-signal" (POINTER, INT)
        char * bleh(self, G:Object * wid (check null type),
                        int h (check > 0)) {
                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)
@@ -418,6 +448,58 @@ class Test:Object from /*G:Object*/ Gtk:Container
                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)
        {