root, prop->name);
g_free (cast);
} else if (strcmp (prop->gtktype, "BOXED") == 0) {
+ char *type = make_me_type (prop->extra_gtktype,
+ "G_TYPE_BOXED");
if (prop->extra_gtktype == NULL) {
error_print (GOB_ERROR, prop->line_no,
_("Property linking requested for BOXED, but "
"} "
"}",
root, prop->name,
- prop->extra_gtktype,
+ type,
root, prop->name,
- prop->extra_gtktype,
+ type,
root, prop->name);
get = g_strdup_printf("g_value_set_boxed (VAL, %s->%s);",
root, prop->name);
+ g_free (type);
} else {
char *set_func;
char *get_func;
}
-#line 616 "parse.y"
+#line 619 "parse.y"
#ifndef YYSTYPE
typedef union {
char *id;
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const short yyrline[] =
{
- 0, 637, 638, 639, 640, 643, 652, 661, 670, 679,
- 688, 699, 700, 701, 702, 703, 704, 705, 706, 709,
- 714, 721, 735, 736, 748, 757, 771, 772, 775, 776,
- 785, 797, 798, 799, 800, 803, 804, 805, 806, 809,
- 829, 853, 857, 865, 866, 867, 868, 869, 875, 878,
- 883, 951, 1005, 1094, 1102, 1107, 1155, 1191, 1207, 1208,
- 1211, 1212, 1215, 1216, 1228, 1229, 1232, 1238, 1244, 1250,
- 1256, 1262, 1268, 1275, 1281, 1287, 1293, 1299, 1305, 1311,
- 1317, 1323, 1329, 1335, 1355, 1364, 1370, 1371, 1374, 1377,
- 1383, 1390, 1399, 1402, 1405, 1409, 1413, 1417, 1422, 1430,
- 1434, 1439, 1443, 1446, 1450, 1453, 1458, 1459, 1460, 1461,
- 1462, 1463, 1464, 1465, 1466, 1469, 1470, 1471, 1474, 1475,
- 1476, 1480, 1487, 1499, 1505, 1517, 1529, 1532, 1538, 1543,
- 1546, 1551, 1552, 1556, 1572, 1588, 1604, 1620, 1631, 1637,
- 1647, 1670, 1681, 1700, 1706, 1707, 1713, 1714, 1725, 1736,
- 1747, 1757, 1767, 1777, 1780, 1781, 1784, 1785, 1788, 1791,
- 1794, 1802, 1812, 1813, 1816, 1833, 1840, 1847, 1854, 1861,
- 1868, 1877, 1886, 1897, 1898, 1901, 1921, 1931, 1940, 1951,
- 1954, 1959, 1968, 1979, 1982, 1988, 1989, 1993, 1994
+ 0, 640, 641, 642, 643, 646, 655, 664, 673, 682,
+ 691, 702, 703, 704, 705, 706, 707, 708, 709, 712,
+ 717, 724, 738, 739, 751, 760, 774, 775, 778, 779,
+ 788, 800, 801, 802, 803, 806, 807, 808, 809, 812,
+ 832, 856, 860, 868, 869, 870, 871, 872, 878, 881,
+ 886, 954, 1008, 1097, 1105, 1110, 1158, 1194, 1210, 1211,
+ 1214, 1215, 1218, 1219, 1231, 1232, 1235, 1241, 1247, 1253,
+ 1259, 1265, 1271, 1278, 1284, 1290, 1296, 1302, 1308, 1314,
+ 1320, 1326, 1332, 1338, 1358, 1367, 1373, 1374, 1377, 1380,
+ 1386, 1393, 1402, 1405, 1408, 1412, 1416, 1420, 1425, 1433,
+ 1437, 1442, 1446, 1449, 1453, 1456, 1461, 1462, 1463, 1464,
+ 1465, 1466, 1467, 1468, 1469, 1472, 1473, 1474, 1477, 1478,
+ 1479, 1483, 1490, 1502, 1508, 1520, 1532, 1535, 1541, 1546,
+ 1549, 1554, 1555, 1559, 1575, 1591, 1607, 1623, 1634, 1640,
+ 1650, 1673, 1684, 1703, 1709, 1710, 1716, 1717, 1728, 1739,
+ 1750, 1760, 1770, 1780, 1783, 1784, 1787, 1788, 1791, 1794,
+ 1797, 1805, 1815, 1816, 1819, 1836, 1843, 1850, 1857, 1864,
+ 1871, 1880, 1889, 1900, 1901, 1904, 1924, 1934, 1943, 1954,
+ 1957, 1962, 1971, 1982, 1985, 1991, 1992, 1996, 1997
};
#endif
switch (yyn) {
case 1:
-#line 637 "parse.y"
+#line 640 "parse.y"
{ ; }
break;
case 2:
-#line 638 "parse.y"
+#line 641 "parse.y"
{ ; }
break;
case 3:
-#line 639 "parse.y"
+#line 642 "parse.y"
{ ; }
break;
case 4:
-#line 640 "parse.y"
+#line 643 "parse.y"
{ ; }
break;
case 5:
-#line 643 "parse.y"
+#line 646 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", C_CCODE,
}
break;
case 6:
-#line 652 "parse.y"
+#line 655 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", H_CCODE,
}
break;
case 7:
-#line 661 "parse.y"
+#line 664 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", HT_CCODE,
}
break;
case 8:
-#line 670 "parse.y"
+#line 673 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", PH_CCODE,
}
break;
case 9:
-#line 679 "parse.y"
+#line 682 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", A_CCODE,
}
break;
case 10:
-#line 688 "parse.y"
+#line 691 "parse.y"
{
Node *node = node_new (CCODE_NODE,
"cctype", AT_CCODE,
}
break;
case 11:
-#line 699 "parse.y"
+#line 702 "parse.y"
{ ; }
break;
case 12:
-#line 700 "parse.y"
+#line 703 "parse.y"
{ ; }
break;
case 13:
-#line 701 "parse.y"
+#line 704 "parse.y"
{ ; }
break;
case 14:
-#line 702 "parse.y"
+#line 705 "parse.y"
{ ; }
break;
case 15:
-#line 703 "parse.y"
+#line 706 "parse.y"
{ ; }
break;
case 16:
-#line 704 "parse.y"
+#line 707 "parse.y"
{ ; }
break;
case 17:
-#line 705 "parse.y"
+#line 708 "parse.y"
{ ; }
break;
case 18:
-#line 706 "parse.y"
+#line 709 "parse.y"
{ ; }
break;
case 19:
-#line 709 "parse.y"
+#line 712 "parse.y"
{
((Class *)class)->nodes = class_nodes;
class_nodes = NULL;
}
break;
case 20:
-#line 714 "parse.y"
+#line 717 "parse.y"
{
((Class *)class)->nodes = NULL;
class_nodes = NULL;
}
break;
case 21:
-#line 721 "parse.y"
+#line 724 "parse.y"
{
class = node_new (CLASS_NODE,
"otype:steal", yyvsp[-3].id,
}
break;
case 23:
-#line 736 "parse.y"
+#line 739 "parse.y"
{
if(strcmp(yyvsp[-3].id,"chunks") == 0) {
g_free (chunk_size);
}
break;
case 24:
-#line 748 "parse.y"
+#line 751 "parse.y"
{
if (strcmp (yyvsp[-3].id, "interface") == 0) {
interfaces = g_list_append (interfaces,
}
break;
case 25:
-#line 757 "parse.y"
+#line 760 "parse.y"
{
if(strcmp(yyvsp[-3].id,"chunks") == 0) {
g_free (chunk_size);
}
break;
case 26:
-#line 771 "parse.y"
+#line 774 "parse.y"
{ ; }
break;
case 27:
-#line 772 "parse.y"
+#line 775 "parse.y"
{ ; }
break;
case 28:
-#line 775 "parse.y"
+#line 778 "parse.y"
{ ; }
break;
case 29:
-#line 776 "parse.y"
+#line 779 "parse.y"
{
if (strcmp (yyvsp[-1].id, "BonoboObject") != 0) {
g_free (yyvsp[-1].id);
}
break;
case 30:
-#line 785 "parse.y"
+#line 788 "parse.y"
{
if (strcmp (yyvsp[-2].id, "interface") != 0) {
g_free (yyvsp[-2].id);
}
break;
case 31:
-#line 797 "parse.y"
+#line 800 "parse.y"
{ ; }
break;
case 32:
-#line 798 "parse.y"
+#line 801 "parse.y"
{ ; }
break;
case 33:
-#line 799 "parse.y"
+#line 802 "parse.y"
{ ; }
break;
case 34:
-#line 800 "parse.y"
+#line 803 "parse.y"
{ ; }
break;
case 35:
-#line 803 "parse.y"
+#line 806 "parse.y"
{ the_scope = PUBLIC_SCOPE; }
break;
case 36:
-#line 804 "parse.y"
+#line 807 "parse.y"
{ the_scope = PRIVATE_SCOPE; }
break;
case 37:
-#line 805 "parse.y"
+#line 808 "parse.y"
{ the_scope = PROTECTED_SCOPE; }
break;
case 38:
-#line 806 "parse.y"
+#line 809 "parse.y"
{ the_scope = CLASS_SCOPE; }
break;
case 39:
-#line 809 "parse.y"
+#line 812 "parse.y"
{
if (strcmp (yyvsp[-1].id, "destroywith") == 0) {
g_free (yyvsp[-1].id);
}
break;
case 40:
-#line 829 "parse.y"
+#line 832 "parse.y"
{
if (strcmp (yyvsp[-2].id, "destroy") == 0) {
g_free(yyvsp[-2].id);
}
break;
case 41:
-#line 853 "parse.y"
+#line 856 "parse.y"
{
initializer = yyvsp[0].id;
initializer_line = ccode_line;
}
break;
case 42:
-#line 857 "parse.y"
+#line 860 "parse.y"
{
initializer = (yyvsp[0].cbuf)->str;
initializer_line = ccode_line;
}
break;
case 43:
-#line 865 "parse.y"
+#line 868 "parse.y"
{ ; }
break;
case 44:
-#line 866 "parse.y"
+#line 869 "parse.y"
{ ; }
break;
case 45:
-#line 867 "parse.y"
+#line 870 "parse.y"
{ destructor = NULL; }
break;
case 46:
-#line 868 "parse.y"
+#line 871 "parse.y"
{ initializer = NULL; }
break;
case 47:
-#line 869 "parse.y"
+#line 872 "parse.y"
{
destructor = NULL;
initializer = NULL;
}
break;
case 48:
-#line 875 "parse.y"
+#line 878 "parse.y"
{
push_variable(yyvsp[-2].id, the_scope,yyvsp[-4].line, NULL);
}
break;
case 49:
-#line 878 "parse.y"
+#line 881 "parse.y"
{
push_variable(yyvsp[-3].id, the_scope, yyvsp[-5].line, yyvsp[-2].id);
}
break;
case 50:
-#line 883 "parse.y"
+#line 886 "parse.y"
{
Node *node = NULL;
if(strcmp(yyvsp[-6].id,"get")==0 &&
}
break;
case 51:
-#line 951 "parse.y"
+#line 954 "parse.y"
{
Node *node = NULL;
if(strcmp(yyvsp[-3].id, "get") == 0) {
}
break;
case 52:
-#line 1005 "parse.y"
+#line 1008 "parse.y"
{
Node *node;
char *get, *set = NULL;
}
break;
case 53:
-#line 1094 "parse.y"
+#line 1097 "parse.y"
{
if (strcmp (yyvsp[-1].id, "export")!=0) {
g_free (yyvsp[-1].id);
}
break;
case 54:
-#line 1102 "parse.y"
+#line 1105 "parse.y"
{
yyval.id = NULL;
}
break;
case 55:
-#line 1107 "parse.y"
+#line 1110 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 56:
-#line 1155 "parse.y"
+#line 1158 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 57:
-#line 1191 "parse.y"
+#line 1194 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 58:
-#line 1207 "parse.y"
+#line 1210 "parse.y"
{ ; }
break;
case 59:
-#line 1208 "parse.y"
+#line 1211 "parse.y"
{ ; }
break;
case 60:
-#line 1211 "parse.y"
+#line 1214 "parse.y"
{ ; }
break;
case 61:
-#line 1212 "parse.y"
+#line 1215 "parse.y"
{ ; }
break;
case 62:
-#line 1215 "parse.y"
+#line 1218 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 63:
-#line 1216 "parse.y"
+#line 1219 "parse.y"
{
if (strcmp (yyvsp[-3].id, "_") != 0) {
g_free (yyvsp[-3].id);
}
break;
case 64:
-#line 1228 "parse.y"
+#line 1231 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 65:
-#line 1229 "parse.y"
+#line 1232 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 66:
-#line 1232 "parse.y"
+#line 1235 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 67:
-#line 1238 "parse.y"
+#line 1241 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 68:
-#line 1244 "parse.y"
+#line 1247 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 69:
-#line 1250 "parse.y"
+#line 1253 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 70:
-#line 1256 "parse.y"
+#line 1259 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 71:
-#line 1262 "parse.y"
+#line 1265 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 72:
-#line 1268 "parse.y"
+#line 1271 "parse.y"
{
Type *type = pop_type ();
ensure_property ();
}
break;
case 73:
-#line 1275 "parse.y"
+#line 1278 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 74:
-#line 1281 "parse.y"
+#line 1284 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 75:
-#line 1287 "parse.y"
+#line 1290 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 76:
-#line 1293 "parse.y"
+#line 1296 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 77:
-#line 1299 "parse.y"
+#line 1302 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 78:
-#line 1305 "parse.y"
+#line 1308 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 79:
-#line 1311 "parse.y"
+#line 1314 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 80:
-#line 1317 "parse.y"
+#line 1320 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 81:
-#line 1323 "parse.y"
+#line 1326 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 82:
-#line 1329 "parse.y"
+#line 1332 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 83:
-#line 1335 "parse.y"
+#line 1338 "parse.y"
{
ensure_property ();
if (strcmp (yyvsp[0].id, "link") == 0) {
}
break;
case 84:
-#line 1355 "parse.y"
+#line 1358 "parse.y"
{
if(strcmp(yyvsp[-2].id,"type")!=0) {
g_free(yyvsp[-4].id);
}
break;
case 85:
-#line 1364 "parse.y"
+#line 1367 "parse.y"
{
yyval.id = debool (yyvsp[0].id);
typestack = g_list_prepend(typestack,NULL);
}
break;
case 86:
-#line 1370 "parse.y"
+#line 1373 "parse.y"
{ yyval.list = yyvsp[-1].list; }
break;
case 87:
-#line 1371 "parse.y"
+#line 1374 "parse.y"
{ yyval.list = NULL; }
break;
case 88:
-#line 1374 "parse.y"
+#line 1377 "parse.y"
{
yyval.list = g_list_append(yyvsp[0].list,yyvsp[-2].id);
}
break;
case 89:
-#line 1377 "parse.y"
+#line 1380 "parse.y"
{
yyval.list = g_list_append(NULL,yyvsp[0].id);
}
break;
case 90:
-#line 1383 "parse.y"
+#line 1386 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[-1].id,
}
break;
case 91:
-#line 1390 "parse.y"
+#line 1393 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[0].id,
}
break;
case 92:
-#line 1399 "parse.y"
+#line 1402 "parse.y"
{
yyval.id = yyvsp[0].id;
}
break;
case 93:
-#line 1402 "parse.y"
+#line 1405 "parse.y"
{
yyval.id = yyvsp[0].id;
}
break;
case 94:
-#line 1405 "parse.y"
+#line 1408 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 95:
-#line 1409 "parse.y"
+#line 1412 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
}
break;
case 96:
-#line 1413 "parse.y"
+#line 1416 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 97:
-#line 1417 "parse.y"
+#line 1420 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[-1].id, " ",
yyvsp[0].id, NULL);
}
break;
case 98:
-#line 1422 "parse.y"
+#line 1425 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-2].id, " ",
yyvsp[-1].id, " const", NULL);
}
break;
case 99:
-#line 1430 "parse.y"
+#line 1433 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 100:
-#line 1434 "parse.y"
+#line 1437 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " ", yyvsp[0].id, NULL);
g_free(yyvsp[-1].id);
}
break;
case 101:
-#line 1439 "parse.y"
+#line 1442 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 102:
-#line 1443 "parse.y"
+#line 1446 "parse.y"
{
yyval.id = yyvsp[0].id;
}
break;
case 103:
-#line 1446 "parse.y"
+#line 1449 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
}
break;
case 104:
-#line 1450 "parse.y"
+#line 1453 "parse.y"
{
yyval.id = g_strdup(yyvsp[0].id);
}
break;
case 105:
-#line 1453 "parse.y"
+#line 1456 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
}
break;
case 106:
-#line 1458 "parse.y"
+#line 1461 "parse.y"
{ yyval.id = "void"; }
break;
case 107:
-#line 1459 "parse.y"
+#line 1462 "parse.y"
{ yyval.id = "char"; }
break;
case 108:
-#line 1460 "parse.y"
+#line 1463 "parse.y"
{ yyval.id = "short"; }
break;
case 109:
-#line 1461 "parse.y"
+#line 1464 "parse.y"
{ yyval.id = "int"; }
break;
case 110:
-#line 1462 "parse.y"
+#line 1465 "parse.y"
{ yyval.id = "long"; }
break;
case 111:
-#line 1463 "parse.y"
+#line 1466 "parse.y"
{ yyval.id = "float"; }
break;
case 112:
-#line 1464 "parse.y"
+#line 1467 "parse.y"
{ yyval.id = "double"; }
break;
case 113:
-#line 1465 "parse.y"
+#line 1468 "parse.y"
{ yyval.id = "signed"; }
break;
case 114:
-#line 1466 "parse.y"
+#line 1469 "parse.y"
{ yyval.id = "unsigned"; }
break;
case 115:
-#line 1469 "parse.y"
+#line 1472 "parse.y"
{ yyval.id = "struct"; }
break;
case 116:
-#line 1470 "parse.y"
+#line 1473 "parse.y"
{ yyval.id = "union"; }
break;
case 117:
-#line 1471 "parse.y"
+#line 1474 "parse.y"
{ yyval.id = "enum"; }
break;
case 118:
-#line 1474 "parse.y"
+#line 1477 "parse.y"
{ yyval.id = g_strdup("*"); }
break;
case 119:
-#line 1475 "parse.y"
+#line 1478 "parse.y"
{ yyval.id = g_strdup("* const"); }
break;
case 120:
-#line 1476 "parse.y"
+#line 1479 "parse.y"
{
yyval.id = g_strconcat("*", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 121:
-#line 1480 "parse.y"
+#line 1483 "parse.y"
{
yyval.id = g_strconcat("* const", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 122:
-#line 1487 "parse.y"
+#line 1490 "parse.y"
{
if(strcmp(yyvsp[-1].id, "first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
}
break;
case 123:
-#line 1499 "parse.y"
+#line 1502 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
}
break;
case 124:
-#line 1505 "parse.y"
+#line 1508 "parse.y"
{
if(strcmp(yyvsp[-1].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
}
break;
case 125:
-#line 1517 "parse.y"
+#line 1520 "parse.y"
{
if(strcmp(yyvsp[-2].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
}
break;
case 126:
-#line 1529 "parse.y"
+#line 1532 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
}
break;
case 127:
-#line 1532 "parse.y"
+#line 1535 "parse.y"
{
/* the_scope was default thus public */
the_scope = PUBLIC_SCOPE;
}
break;
case 128:
-#line 1538 "parse.y"
+#line 1541 "parse.y"
{
gtktypes = g_list_prepend(gtktypes, debool (yyvsp[-3].id));
}
break;
case 129:
-#line 1543 "parse.y"
+#line 1546 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
}
break;
case 130:
-#line 1546 "parse.y"
+#line 1549 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
}
break;
case 131:
-#line 1551 "parse.y"
+#line 1554 "parse.y"
{ yyval.cbuf = yyvsp[0].cbuf; }
break;
case 132:
-#line 1552 "parse.y"
+#line 1555 "parse.y"
{ yyval.cbuf = NULL; }
break;
case 133:
-#line 1556 "parse.y"
+#line 1559 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
}
break;
case 134:
-#line 1572 "parse.y"
+#line 1575 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
}
break;
case 135:
-#line 1588 "parse.y"
+#line 1591 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
}
break;
case 136:
-#line 1604 "parse.y"
+#line 1607 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
}
break;
case 137:
-#line 1620 "parse.y"
+#line 1623 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
}
break;
case 138:
-#line 1631 "parse.y"
+#line 1634 "parse.y"
{
push_function(NO_SCOPE, OVERRIDE_METHOD, yyvsp[-8].id,
yyvsp[-5].id, yyvsp[0].cbuf,
}
break;
case 139:
-#line 1637 "parse.y"
+#line 1640 "parse.y"
{
if(the_scope == CLASS_SCOPE) {
yyerror(_("a method cannot be of class scope"));
}
break;
case 140:
-#line 1647 "parse.y"
+#line 1650 "parse.y"
{
if(strcmp(yyvsp[-4].id, "init")==0) {
push_init_arg(yyvsp[-2].id,FALSE);
}
break;
case 141:
-#line 1670 "parse.y"
+#line 1673 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
}
break;
case 142:
-#line 1681 "parse.y"
+#line 1684 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
}
break;
case 143:
-#line 1700 "parse.y"
+#line 1703 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
}
break;
case 144:
-#line 1706 "parse.y"
+#line 1709 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 145:
-#line 1707 "parse.y"
+#line 1710 "parse.y"
{
yyval.id = (yyvsp[0].cbuf)->str;
g_string_free(yyvsp[0].cbuf, FALSE);
}
break;
case 146:
-#line 1713 "parse.y"
+#line 1716 "parse.y"
{ vararg = FALSE; has_self = FALSE; }
break;
case 147:
-#line 1714 "parse.y"
+#line 1717 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
break;
case 148:
-#line 1725 "parse.y"
+#line 1728 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
break;
case 149:
-#line 1736 "parse.y"
+#line 1739 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
break;
case 150:
-#line 1747 "parse.y"
+#line 1750 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
break;
case 151:
-#line 1757 "parse.y"
+#line 1760 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-3].id,"self")==0)
}
break;
case 152:
-#line 1767 "parse.y"
+#line 1770 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
break;
case 153:
-#line 1777 "parse.y"
+#line 1780 "parse.y"
{ has_self = FALSE; }
break;
case 154:
-#line 1780 "parse.y"
+#line 1783 "parse.y"
{ vararg = TRUE; }
break;
case 155:
-#line 1781 "parse.y"
+#line 1784 "parse.y"
{ vararg = FALSE; }
break;
case 156:
-#line 1784 "parse.y"
+#line 1787 "parse.y"
{ ; }
break;
case 157:
-#line 1785 "parse.y"
+#line 1788 "parse.y"
{ ; }
break;
case 158:
-#line 1788 "parse.y"
+#line 1791 "parse.y"
{
push_funcarg(yyvsp[0].id,NULL);
}
break;
case 159:
-#line 1791 "parse.y"
+#line 1794 "parse.y"
{
push_funcarg(yyvsp[-1].id,yyvsp[0].id);
}
break;
case 160:
-#line 1794 "parse.y"
+#line 1797 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
}
break;
case 161:
-#line 1802 "parse.y"
+#line 1805 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
}
break;
case 162:
-#line 1812 "parse.y"
+#line 1815 "parse.y"
{ ; }
break;
case 163:
-#line 1813 "parse.y"
+#line 1816 "parse.y"
{ ; }
break;
case 164:
-#line 1816 "parse.y"
+#line 1819 "parse.y"
{
if(strcmp(yyvsp[0].id,"type")==0) {
Node *node = node_new (CHECK_NODE,
}
break;
case 165:
-#line 1833 "parse.y"
+#line 1836 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GT_CHECK,
}
break;
case 166:
-#line 1840 "parse.y"
+#line 1843 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LT_CHECK,
}
break;
case 167:
-#line 1847 "parse.y"
+#line 1850 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GE_CHECK,
}
break;
case 168:
-#line 1854 "parse.y"
+#line 1857 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LE_CHECK,
}
break;
case 169:
-#line 1861 "parse.y"
+#line 1864 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", EQ_CHECK,
}
break;
case 170:
-#line 1868 "parse.y"
+#line 1871 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", NE_CHECK,
}
break;
case 171:
-#line 1877 "parse.y"
+#line 1880 "parse.y"
{
Node *node = node_new (ENUMDEF_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 172:
-#line 1886 "parse.y"
+#line 1889 "parse.y"
{
Node *node = node_new (ENUMDEF_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 173:
-#line 1897 "parse.y"
+#line 1900 "parse.y"
{;}
break;
case 174:
-#line 1898 "parse.y"
+#line 1901 "parse.y"
{;}
break;
case 175:
-#line 1901 "parse.y"
+#line 1904 "parse.y"
{
Node *node;
char *num = yyvsp[0].id;
}
break;
case 176:
-#line 1921 "parse.y"
+#line 1924 "parse.y"
{
Node *node;
}
break;
case 177:
-#line 1931 "parse.y"
+#line 1934 "parse.y"
{
Node *node = node_new (FLAGS_NODE,
"ftype:steal", yyvsp[-1].id,
}
break;
case 178:
-#line 1940 "parse.y"
+#line 1943 "parse.y"
{
Node *node = node_new (FLAGS_NODE,
"ftype:steal", yyvsp[-1].id,
}
break;
case 179:
-#line 1951 "parse.y"
+#line 1954 "parse.y"
{
flag_vals = g_list_append (flag_vals, yyvsp[0].id);
}
break;
case 180:
-#line 1954 "parse.y"
+#line 1957 "parse.y"
{
flag_vals = g_list_append (flag_vals, yyvsp[0].id);
}
break;
case 181:
-#line 1959 "parse.y"
+#line 1962 "parse.y"
{
Node *node = node_new (ERROR_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 182:
-#line 1968 "parse.y"
+#line 1971 "parse.y"
{
Node *node = node_new (ERROR_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 183:
-#line 1979 "parse.y"
+#line 1982 "parse.y"
{
error_vals = g_list_append (error_vals, yyvsp[0].id);
}
break;
case 184:
-#line 1982 "parse.y"
+#line 1985 "parse.y"
{
error_vals = g_list_append (error_vals, yyvsp[0].id);
}
break;
case 185:
-#line 1988 "parse.y"
+#line 1991 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 186:
-#line 1989 "parse.y"
+#line 1992 "parse.y"
{
yyval.id = g_strconcat("-",yyvsp[0].id,NULL);
g_free(yyvsp[0].id);
}
break;
case 187:
-#line 1993 "parse.y"
+#line 1996 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 188:
-#line 1994 "parse.y"
+#line 1997 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
}
#endif
return yyresult;
}
-#line 1997 "parse.y"
+#line 2000 "parse.y"