%{ #include static void jjjj(void); %} %h{ void bubu(void); %} class Gtk:Weird:Button from Gtk:Button { public int i; argument INT i set { self->i = ARG; } get { ARG = self->i; } ; private int j; public GtkWidget * h; init(object) { GtkWeirdButton *but = GTK_WEIRD_BUTTON(object); but->i=0; } class_init(class); public GtkWidget * new(int j (check > 0)) { GtkWidget *ret; ret = GTK_WIDGET (GET_NEW); GTK_WEIRD_BUTTON(ret)->j = j; return ret; } private int blah(self, Gtk:Widget * wid (check null type), int h (check > 0)) onerror -1 { gtk_container_add(GTK_CONTAINER(self),wid); return h; } signal last INT (POINTER, INT) int bleh(self, Gtk:Widget * wid (check null type), int h (check > 0)) { return blah(self,wid,h); } signal first NONE (NONE) void bloh(self); virtual void * bah(self, int h (check > 0)) onerror NULL { beh(self,h); return NULL; } virtual int beh(self, int h (check > 0)); override(Gtk:Container) void add(Gtk:Container * self (check null type), Gtk:Widget * wid (check null type)) { if (GTK_CONTAINER_CLASS (parent_class)->add) (* GTK_CONTAINER_CLASS (parent_class)->add) (self,wid); } public int consttest(self, const gchar *text, ...) { return 25; } } %{ static void jjjj(void) { } void bubu(void) { jjjj(); } %}