static void
print_signal_marsal_args(Method *m)
{
- if(strcmp(m->gtktypes->next->data,"NONE")!=0) {
+ if(strcmp(m->gtktypes->next->data, "NONE")!=0) {
GList *li;
int i;
for(i=0,li=m->gtktypes->next;li;
if(!marsh)
marsh = g_hash_table_new(NULL,NULL);
- if(strcmp(m->gtktypes->data,"NONE")==0 &&
- strcmp(m->gtktypes->next->data,"NONE")==0)
+ if(strcmp(m->gtktypes->data, "NONE")==0 &&
+ strcmp(m->gtktypes->next->data, "NONE")==0)
return;
/* if we already did a signal prototype just use that */
s = g_strdup_printf("Sig%d",sig++);
- g_hash_table_insert(marsh,m,s);
- eq_signal_methods = g_list_prepend(eq_signal_methods,m);
+ g_hash_table_insert(marsh, m, s);
+ eq_signal_methods = g_list_prepend(eq_signal_methods, m);
/* we know that we'll know all the gtktypes (so get_cast can't fail) */
- out_printf(out,"\ntypedef %s (*___%s) (%s *, ",
+ out_printf(out, "\ntypedef %s (*___%s) (%s *, ",
get_cast(m->gtktypes->data, FALSE), s, typebase);
- for(li=m->gtktypes->next;li;li=g_list_next(li))
- out_printf(out, "%s, ", get_cast(li->data, FALSE));
- out_printf(out,"gpointer);\n");
+ if(strcmp(m->gtktypes->next->data, "NONE")!=0) {
+ for(li=m->gtktypes->next; li; li=g_list_next(li))
+ out_printf(out, "%s, ", get_cast(li->data, FALSE));
+ }
+ out_printf(out, "gpointer);\n");
out_printf(out,"\nstatic void\n"
"___marshal_%s (GtkObject * object,\n"
"\tGtkArg * args)\n"
"{\n",s);
- if(strcmp(m->gtktypes->data,"NONE")==0) {
+ if(strcmp(m->gtktypes->data, "NONE")==0) {
out_printf(out, "\t___%s rfunc;\n\n"
"\trfunc = (___%s)func;\n\n"
- "\t(*rfunc)((%s *)object",s,s,typebase);
+ "\t(*rfunc)((%s *)object", s, s, typebase);
} else {
- out_printf(out, "\t___%s rfunc;\n\t",s);
- print_type(out,m->mtype,TRUE);
- out_printf(out, " *retval;\n\n"
- "\trfunc = (___%s)func;\n\n"
- "\tretval = GTK_RETLOC_%s(args[%d]);\n\n"
- "\t*retval = (*rfunc)((%s *)object",
- s,(char *)m->gtktypes->data,
- g_list_length(m->gtktypes)-1,typebase);
+ const char *retcast = get_cast(m->gtktypes->data, FALSE);
+ out_printf(out,
+ "\t___%s rfunc;\n\t"
+ "%s *retval;\n\n"
+ "\trfunc = (___%s)func;\n\n"
+ "\tretval = GTK_RETLOC_%s(args[%d]);\n\n"
+ "\t*retval = (*rfunc)((%s *)object",
+ s, retcast, s, (char *)m->gtktypes->data,
+ g_list_length(m->gtktypes)-1, typebase);
}
print_signal_marsal_args(m);
continue;
s = g_strdup(a->name);
g_strup(s);
+ out_printf(out, "\tcase ARG_%s:\n", s);
if(is_set && a->atype) {
char *cast = get_type(a->atype, TRUE);
- out_printf(out, "\tcase ARG_%s:\n", s);
if(no_gnu || for_cpp) {
out_printf(out, "#define ARG "
"((%s)GTK_VALUE_%s(*arg))\n",
cast, a->gtktype);
} else {
out_printf(out, "#ifdef __GNUC__\n");
- out_printf(out, "#define ARG "
- "({%s foo = GTK_VALUE_%s(*arg); "
- "foo; })\n",
- cast, a->gtktype);
+ if(strcmp(a->gtktype, "OBJECT")==0) {
+ out_printf(out, "#define ARG "
+ "({%s foo = "
+ "GTK_VALUE_POINTER(*arg); "
+ "foo; })\n",
+ cast);
+ } else {
+ out_printf(out, "#define ARG "
+ "({%s foo = "
+ "GTK_VALUE_%s(*arg); "
+ "foo; })\n",
+ cast, a->gtktype);
+ }
out_printf(out,"#else /* __GNUC__ */\n");
out_printf(out, "#define ARG "
"((%s)GTK_VALUE_%s(*arg))\n",
}
out_printf(out, "\t\t{\n");
g_free(cast);
+ } else if(!is_set && strcmp(a->gtktype, "OBJECT")==0) {
+ out_printf(out,
+ "#define ARG (GTK_VALUE_POINTER(*arg))\n"
+ "\t\t{\n");
} else {
- out_printf(out, "\tcase ARG_%s:\n"
+ out_printf(out,
"#define ARG (GTK_VALUE_%s(*arg))\n"
"\t\t{\n",
- s, a->gtktype);
+ a->gtktype);
}
g_free(s);
if(line_no > 0)
GList *li;
gboolean is_void;
gboolean checked_null = FALSE;
- is_void = (strcmp(m->mtype->name,"void")==0 &&
+ is_void = (strcmp(m->mtype->name, "void")==0 &&
m->mtype->stars == 0);
for(li=fa->checks;li;li=g_list_next(li)) {
if(m->line_no > 0)
out_addline_infile(out,m->line_no);
if(is_void)
- out_printf(out,"\tg_return_if_fail (");
+ out_printf(out, "\tg_return_if_fail (");
else
- out_printf(out,"\tg_return_val_if_fail (");
+ out_printf(out, "\tg_return_val_if_fail (");
switch(ch->chtype) {
case NULL_CHECK:
- out_printf(out,"%s != NULL",fa->name);
+ out_printf(out, "%s != NULL", fa->name);
checked_null = TRUE;
break;
case TYPE_CHECK:
- s = make_pre_macro(fa->atype->name,"IS");
+ s = make_pre_macro(fa->atype->name, "IS");
if(checked_null)
- out_printf(out,"%s (%s)",s,fa->name);
+ out_printf(out, "%s (%s)", s, fa->name);
else
/* if not check null, null may be valid */
- out_printf(out,"!(%s) || %s (%s)",fa->name,s,
- fa->name);
+ out_printf(out, "!(%s) || %s (%s)", fa->name,
+ s, fa->name);
g_free(s);
break;
case LT_CHECK:
print_header_postfixes(void)
{
if(!no_extern_c)
- out_printf(outh,"\n#ifdef __cplusplus\n"
+ out_printf(outh, "\n#ifdef __cplusplus\n"
"}\n"
"#endif /* __cplusplus */\n");
- out_printf(outh,"\n#endif");
+ out_printf(outh, "\n#endif\n");
if(outph) {
if(!no_extern_c)
- out_printf(outph,"\n#ifdef __cplusplus\n"
+ out_printf(outph, "\n#ifdef __cplusplus\n"
"}\n"
"#endif /* __cplusplus */\n");
- out_printf(outph,"\n#endif");
+ out_printf(outph, "\n#endif\n");
}
}
g_list_length(gtktypes) != g_list_length(funcargs) &&
!(g_list_length(funcargs) == 1 &&
g_list_length(gtktypes) == 2 &&
- strcmp(gtktypes->next->data,"NONE")==0)) {
+ strcmp(gtktypes->next->data, "NONE")==0)) {
print_error(TRUE, _("The number of GTK arguments and "
"function arguments for a signal "
"don't seem to match"), line_no);
}
+ if(g_list_length(gtktypes) > 2) {
+ GList *li;
+ for(li = gtktypes->next; li; li = li->next) {
+ if(strcmp(li->data, "NONE")==0) {
+ print_error(FALSE,
+ _("NONE can only appear in an "
+ "argument list by itself"),
+ line_no);
+ }
+ }
+ }
if(cbuf) {
char *p;
c_cbuf = p = cbuf->str;
}
-#line 277 "parse.y"
+#line 288 "parse.y"
typedef union {
char *id;
GString *cbuf;
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 295, 296, 297, 298, 301, 307, 313, 319, 325, 331,
- 339, 340, 343, 348, 355, 360, 361, 364, 365, 366,
- 367, 370, 371, 372, 375, 388, 404, 408, 416, 417,
- 418, 419, 420, 426, 429, 433, 468, 496, 561, 570,
- 576, 577, 580, 583, 589, 590, 598, 602, 609, 612,
- 615, 618, 621, 624, 627, 630, 633, 636, 640, 643,
- 648, 651, 654, 657, 660, 665, 668, 671, 676, 677,
- 681, 693, 699, 711, 723, 726, 732, 737, 740, 745,
- 746, 750, 761, 772, 783, 794, 805, 811, 816, 837,
- 848, 867, 873, 874, 880, 881, 892, 902, 905, 906,
- 909, 910, 913, 916, 919, 927, 937, 938, 941, 954,
- 958, 962, 966, 970, 974, 980, 981, 985
+ 306, 307, 308, 309, 312, 318, 324, 330, 336, 342,
+ 350, 351, 354, 359, 366, 371, 372, 375, 376, 377,
+ 378, 381, 382, 383, 386, 399, 415, 419, 427, 428,
+ 429, 430, 431, 437, 440, 444, 479, 507, 572, 581,
+ 587, 588, 591, 594, 600, 601, 609, 613, 620, 623,
+ 626, 629, 632, 635, 638, 641, 644, 647, 651, 654,
+ 659, 662, 665, 668, 671, 676, 679, 682, 687, 688,
+ 692, 704, 710, 722, 734, 737, 743, 748, 751, 756,
+ 757, 761, 772, 783, 794, 805, 816, 822, 827, 848,
+ 859, 878, 884, 885, 891, 892, 903, 913, 916, 917,
+ 920, 921, 924, 927, 930, 938, 948, 949, 952, 965,
+ 969, 973, 977, 981, 985, 991, 992, 996
};
#endif
switch (yyn) {
case 1:
-#line 295 "parse.y"
+#line 306 "parse.y"
{ ; ;
break;}
case 2:
-#line 296 "parse.y"
+#line 307 "parse.y"
{ ; ;
break;}
case 3:
-#line 297 "parse.y"
+#line 308 "parse.y"
{ ; ;
break;}
case 4:
-#line 298 "parse.y"
+#line 309 "parse.y"
{ ; ;
break;}
case 5:
-#line 301 "parse.y"
+#line 312 "parse.y"
{
Node *node = new_ccode(C_CCODE,(yyvsp[0].cbuf)->str,
ccode_line);
;
break;}
case 6:
-#line 307 "parse.y"
+#line 318 "parse.y"
{
Node *node = new_ccode(H_CCODE,(yyvsp[0].cbuf)->str,
ccode_line);
;
break;}
case 7:
-#line 313 "parse.y"
+#line 324 "parse.y"
{
Node *node = new_ccode(HT_CCODE,(yyvsp[0].cbuf)->str,
ccode_line);
;
break;}
case 8:
-#line 319 "parse.y"
+#line 330 "parse.y"
{
Node *node = new_ccode(PH_CCODE,(yyvsp[0].cbuf)->str,
ccode_line);
;
break;}
case 9:
-#line 325 "parse.y"
+#line 336 "parse.y"
{
Node *node = new_ccode(A_CCODE,(yyvsp[0].cbuf)->str,
ccode_line);
;
break;}
case 10:
-#line 331 "parse.y"
+#line 342 "parse.y"
{
Node *node = new_ccode(AT_CCODE,(yyvsp[0].cbuf)->str,
ccode_line);
;
break;}
case 11:
-#line 339 "parse.y"
+#line 350 "parse.y"
{ ; ;
break;}
case 12:
-#line 340 "parse.y"
+#line 351 "parse.y"
{ ; ;
break;}
case 13:
-#line 343 "parse.y"
+#line 354 "parse.y"
{
((Class *)class)->nodes = class_nodes;
class_nodes = NULL;
;
break;}
case 14:
-#line 348 "parse.y"
+#line 359 "parse.y"
{
((Class *)class)->nodes = NULL;
class_nodes = NULL;
;
break;}
case 15:
-#line 355 "parse.y"
+#line 366 "parse.y"
{
class = new_class(yyvsp[-2].id,yyvsp[0].id,NULL);
;
break;}
case 16:
-#line 360 "parse.y"
+#line 371 "parse.y"
{ ; ;
break;}
case 17:
-#line 361 "parse.y"
+#line 372 "parse.y"
{ ; ;
break;}
case 18:
-#line 364 "parse.y"
+#line 375 "parse.y"
{ ; ;
break;}
case 19:
-#line 365 "parse.y"
+#line 376 "parse.y"
{ ; ;
break;}
case 20:
-#line 366 "parse.y"
+#line 377 "parse.y"
{ ; ;
break;}
case 21:
-#line 367 "parse.y"
+#line 378 "parse.y"
{ ; ;
break;}
case 22:
-#line 370 "parse.y"
+#line 381 "parse.y"
{ the_scope = PUBLIC_SCOPE; ;
break;}
case 23:
-#line 371 "parse.y"
+#line 382 "parse.y"
{ the_scope = PRIVATE_SCOPE; ;
break;}
case 24:
-#line 372 "parse.y"
+#line 383 "parse.y"
{ the_scope = PROTECTED_SCOPE; ;
break;}
case 25:
-#line 375 "parse.y"
+#line 386 "parse.y"
{
if(strcmp(yyvsp[-1].id, "destroywith")==0) {
g_free(yyvsp[-1].id);
;
break;}
case 26:
-#line 388 "parse.y"
+#line 399 "parse.y"
{
if(strcmp(yyvsp[-2].id, "destroy")==0) {
g_free(yyvsp[-2].id);
;
break;}
case 27:
-#line 404 "parse.y"
+#line 415 "parse.y"
{
initializer = yyvsp[0].id;
initializer_line = ccode_line;
;
break;}
case 28:
-#line 408 "parse.y"
+#line 419 "parse.y"
{
initializer = (yyvsp[0].cbuf)->str;
initializer_line = ccode_line;
;
break;}
case 29:
-#line 416 "parse.y"
+#line 427 "parse.y"
{ ; ;
break;}
case 30:
-#line 417 "parse.y"
+#line 428 "parse.y"
{ ; ;
break;}
case 31:
-#line 418 "parse.y"
+#line 429 "parse.y"
{ destructor = NULL; ;
break;}
case 32:
-#line 419 "parse.y"
+#line 430 "parse.y"
{ initializer = NULL; ;
break;}
case 33:
-#line 420 "parse.y"
+#line 431 "parse.y"
{
destructor = NULL;
initializer = NULL;
;
break;}
case 34:
-#line 426 "parse.y"
+#line 437 "parse.y"
{
push_variable(yyvsp[-2].id, the_scope,yyvsp[-4].line, NULL);
;
break;}
case 35:
-#line 429 "parse.y"
+#line 440 "parse.y"
{
push_variable(yyvsp[-3].id, the_scope, yyvsp[-5].line, yyvsp[-2].id);
;
break;}
case 36:
-#line 433 "parse.y"
+#line 444 "parse.y"
{
if(strcmp(yyvsp[-6].id,"get")==0 &&
strcmp(yyvsp[-3].id,"set")==0) {
;
break;}
case 37:
-#line 468 "parse.y"
+#line 479 "parse.y"
{
if(strcmp(yyvsp[-3].id,"get")==0) {
Node *node;
;
break;}
case 38:
-#line 496 "parse.y"
+#line 507 "parse.y"
{
Node *node;
char *get, *set = NULL;
;
break;}
case 39:
-#line 561 "parse.y"
+#line 572 "parse.y"
{
if(strcmp(yyvsp[-2].id,"type")!=0) {
g_free(yyvsp[-4].id);
;
break;}
case 40:
-#line 570 "parse.y"
+#line 581 "parse.y"
{
yyval.id = yyvsp[0].id;
typestack = g_list_prepend(typestack,NULL);
;
break;}
case 41:
-#line 576 "parse.y"
+#line 587 "parse.y"
{ yyval.list = yyvsp[-1].list; ;
break;}
case 42:
-#line 577 "parse.y"
+#line 588 "parse.y"
{ yyval.list = NULL; ;
break;}
case 43:
-#line 580 "parse.y"
+#line 591 "parse.y"
{
yyval.list = g_list_append(yyvsp[0].list,yyvsp[-2].id);
;
break;}
case 44:
-#line 583 "parse.y"
+#line 594 "parse.y"
{
yyval.list = g_list_append(NULL,yyvsp[0].id);
;
break;}
case 45:
-#line 589 "parse.y"
+#line 600 "parse.y"
{ ; ;
break;}
case 46:
-#line 590 "parse.y"
+#line 601 "parse.y"
{
Type *type = typestack->data;
char *oldname = type->name;
;
break;}
case 47:
-#line 598 "parse.y"
+#line 609 "parse.y"
{
Node *node = new_type(0,yyvsp[0].id,NULL);
typestack = g_list_prepend(typestack,node);
;
break;}
case 48:
-#line 602 "parse.y"
+#line 613 "parse.y"
{
Node *node = new_type(stars,yyvsp[-1].id,NULL);
stars = 0;
;
break;}
case 49:
-#line 609 "parse.y"
+#line 620 "parse.y"
{
yyval.id = g_strconcat("unsigned ",yyvsp[0].id,NULL);
;
break;}
case 50:
-#line 612 "parse.y"
+#line 623 "parse.y"
{
yyval.id = g_strconcat("signed ",yyvsp[0].id,NULL);
;
break;}
case 51:
-#line 615 "parse.y"
+#line 626 "parse.y"
{
yyval.id = g_strdup(yyvsp[0].id);
;
break;}
case 52:
-#line 618 "parse.y"
+#line 629 "parse.y"
{
yyval.id = g_strdup("unsigned char");
;
break;}
case 53:
-#line 621 "parse.y"
+#line 632 "parse.y"
{
yyval.id = g_strdup("signed char");
;
break;}
case 54:
-#line 624 "parse.y"
+#line 635 "parse.y"
{
yyval.id = g_strdup("char");
;
break;}
case 55:
-#line 627 "parse.y"
+#line 638 "parse.y"
{
yyval.id = g_strdup("double");
;
break;}
case 56:
-#line 630 "parse.y"
+#line 641 "parse.y"
{
yyval.id = g_strdup("float");
;
break;}
case 57:
-#line 633 "parse.y"
+#line 644 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
case 58:
-#line 636 "parse.y"
+#line 647 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id,yyvsp[0].id,NULL);
g_free(yyvsp[0].id);
;
break;}
case 59:
-#line 640 "parse.y"
+#line 651 "parse.y"
{
yyval.id = yyvsp[0].id;
;
break;}
case 60:
-#line 643 "parse.y"
+#line 654 "parse.y"
{
yyval.id = g_strdup("void");
;
break;}
case 61:
-#line 648 "parse.y"
+#line 659 "parse.y"
{
yyval.id = "long int";
;
break;}
case 62:
-#line 651 "parse.y"
+#line 662 "parse.y"
{
yyval.id = "long";
;
break;}
case 63:
-#line 654 "parse.y"
+#line 665 "parse.y"
{
yyval.id = "short int";
;
break;}
case 64:
-#line 657 "parse.y"
+#line 668 "parse.y"
{
yyval.id = "short";
;
break;}
case 65:
-#line 660 "parse.y"
+#line 671 "parse.y"
{
yyval.id = "int";
;
break;}
case 66:
-#line 665 "parse.y"
+#line 676 "parse.y"
{
yyval.id = "enum ";
;
break;}
case 67:
-#line 668 "parse.y"
+#line 679 "parse.y"
{
yyval.id = "union ";
;
break;}
case 68:
-#line 671 "parse.y"
+#line 682 "parse.y"
{
yyval.id = "struct ";
;
break;}
case 69:
-#line 676 "parse.y"
+#line 687 "parse.y"
{ stars++; ;
break;}
case 70:
-#line 677 "parse.y"
+#line 688 "parse.y"
{ stars++; ;
break;}
case 71:
-#line 681 "parse.y"
+#line 692 "parse.y"
{
if(strcmp(yyvsp[-1].id, "first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
;
break;}
case 72:
-#line 693 "parse.y"
+#line 704 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
;
break;}
case 73:
-#line 699 "parse.y"
+#line 710 "parse.y"
{
if(strcmp(yyvsp[-1].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
;
break;}
case 74:
-#line 711 "parse.y"
+#line 722 "parse.y"
{
if(strcmp(yyvsp[-2].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
;
break;}
case 75:
-#line 723 "parse.y"
+#line 734 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
;
break;}
case 76:
-#line 726 "parse.y"
+#line 737 "parse.y"
{
/* the_scope was default thus public */
the_scope = PUBLIC_SCOPE;
;
break;}
case 77:
-#line 732 "parse.y"
+#line 743 "parse.y"
{
gtktypes = g_list_prepend(gtktypes, yyvsp[-3].id);
;
break;}
case 78:
-#line 737 "parse.y"
+#line 748 "parse.y"
{
gtktypes = g_list_append(gtktypes, yyvsp[0].id);
;
break;}
case 79:
-#line 740 "parse.y"
+#line 751 "parse.y"
{
gtktypes = g_list_append(gtktypes, yyvsp[0].id);
;
break;}
case 80:
-#line 745 "parse.y"
+#line 756 "parse.y"
{ yyval.cbuf = yyvsp[0].cbuf; ;
break;}
case 81:
-#line 746 "parse.y"
+#line 757 "parse.y"
{ yyval.cbuf = NULL; ;
break;}
case 82:
-#line 750 "parse.y"
+#line 761 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
;
break;}
case 83:
-#line 761 "parse.y"
+#line 772 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
;
break;}
case 84:
-#line 772 "parse.y"
+#line 783 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
;
break;}
case 85:
-#line 783 "parse.y"
+#line 794 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
;
break;}
case 86:
-#line 794 "parse.y"
+#line 805 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
;
break;}
case 87:
-#line 805 "parse.y"
+#line 816 "parse.y"
{
push_function(NO_SCOPE, OVERRIDE_METHOD, yyvsp[-8].id,
yyvsp[-5].id, yyvsp[0].cbuf,
;
break;}
case 88:
-#line 811 "parse.y"
+#line 822 "parse.y"
{
push_function(the_scope, REGULAR_METHOD, NULL, yyvsp[-5].id,
yyvsp[0].cbuf, yyvsp[-7].line, ccode_line,
;
break;}
case 89:
-#line 816 "parse.y"
+#line 827 "parse.y"
{
if(strcmp(yyvsp[-4].id, "init")==0) {
push_init_arg(yyvsp[-2].id,FALSE);
;
break;}
case 90:
-#line 837 "parse.y"
+#line 848 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
;
break;}
case 91:
-#line 848 "parse.y"
+#line 859 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
;
break;}
case 92:
-#line 867 "parse.y"
+#line 878 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
;
break;}
case 93:
-#line 873 "parse.y"
+#line 884 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
case 94:
-#line 874 "parse.y"
+#line 885 "parse.y"
{
yyval.id = (yyvsp[1].cbuf)->str;
g_string_free(yyvsp[1].cbuf, FALSE);
;
break;}
case 95:
-#line 880 "parse.y"
+#line 891 "parse.y"
{ vararg = FALSE; has_self = FALSE; ;
break;}
case 96:
-#line 881 "parse.y"
+#line 892 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
;
break;}
case 97:
-#line 892 "parse.y"
+#line 903 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
;
break;}
case 98:
-#line 902 "parse.y"
+#line 913 "parse.y"
{ has_self = FALSE; ;
break;}
case 99:
-#line 905 "parse.y"
+#line 916 "parse.y"
{ vararg = TRUE; ;
break;}
case 100:
-#line 906 "parse.y"
+#line 917 "parse.y"
{ vararg = FALSE; ;
break;}
case 101:
-#line 909 "parse.y"
+#line 920 "parse.y"
{ ; ;
break;}
case 102:
-#line 910 "parse.y"
+#line 921 "parse.y"
{ ; ;
break;}
case 103:
-#line 913 "parse.y"
+#line 924 "parse.y"
{
push_funcarg(yyvsp[0].id,NULL);
;
break;}
case 104:
-#line 916 "parse.y"
+#line 927 "parse.y"
{
push_funcarg(yyvsp[-1].id,yyvsp[0].id);
;
break;}
case 105:
-#line 919 "parse.y"
+#line 930 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
;
break;}
case 106:
-#line 927 "parse.y"
+#line 938 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
;
break;}
case 107:
-#line 937 "parse.y"
+#line 948 "parse.y"
{ ; ;
break;}
case 108:
-#line 938 "parse.y"
+#line 949 "parse.y"
{ ; ;
break;}
case 109:
-#line 941 "parse.y"
+#line 952 "parse.y"
{
if(strcmp(yyvsp[0].id,"type")==0) {
Node *node = new_check(TYPE_CHECK,NULL);
;
break;}
case 110:
-#line 954 "parse.y"
+#line 965 "parse.y"
{
Node *node = new_check(GT_CHECK,yyvsp[0].id);
checks = g_list_append(checks,node);
;
break;}
case 111:
-#line 958 "parse.y"
+#line 969 "parse.y"
{
Node *node = new_check(LT_CHECK,yyvsp[0].id);
checks = g_list_append(checks,node);
;
break;}
case 112:
-#line 962 "parse.y"
+#line 973 "parse.y"
{
Node *node = new_check(GE_CHECK,yyvsp[0].id);
checks = g_list_append(checks,node);
;
break;}
case 113:
-#line 966 "parse.y"
+#line 977 "parse.y"
{
Node *node = new_check(LE_CHECK,yyvsp[0].id);
checks = g_list_append(checks,node);
;
break;}
case 114:
-#line 970 "parse.y"
+#line 981 "parse.y"
{
Node *node = new_check(EQ_CHECK,yyvsp[0].id);
checks = g_list_append(checks,node);
;
break;}
case 115:
-#line 974 "parse.y"
+#line 985 "parse.y"
{
Node *node = new_check(NE_CHECK,yyvsp[0].id);
checks = g_list_append(checks,node);
;
break;}
case 116:
-#line 980 "parse.y"
+#line 991 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
case 117:
-#line 981 "parse.y"
+#line 992 "parse.y"
{
yyval.id = g_strconcat("-",yyvsp[0].id,NULL);
g_free(yyvsp[0].id);
;
break;}
case 118:
-#line 985 "parse.y"
+#line 996 "parse.y"
{ yyval.id = yyvsp[0].id; ;
break;}
}
}
return 1;
}
-#line 988 "parse.y"
+#line 999 "parse.y"