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 */
/* this should go into the private header as well*/
%}
+%afterdecls{
+ /* between the declarations and the method implementations */
+%}
+
+
%{
#include <stdio.h>
public int wagawaga_should_be_after_this_in_the_header;
init(object) {
- object->i=0;
+ object->i=0;
}
class_init(klass);
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)
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)
{