if (prop->extra_gtktype != NULL) {
cast = remove_sep (prop->extra_gtktype);
} else {
- cast = "void";
+ cast = g_strdup ("void");
}
set = g_strdup_printf("{ GObject *___old = (GObject *)%s->%s; "
"%s->%s = (%s *)g_value_dup_object (VAL); "
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, 1093, 1101, 1106, 1154, 1190, 1206, 1207,
- 1210, 1211, 1214, 1215, 1227, 1228, 1231, 1237, 1243, 1249,
- 1255, 1261, 1267, 1274, 1280, 1286, 1292, 1298, 1304, 1310,
- 1316, 1322, 1328, 1334, 1354, 1363, 1369, 1370, 1373, 1376,
- 1382, 1389, 1398, 1401, 1404, 1408, 1412, 1416, 1421, 1429,
- 1433, 1438, 1442, 1445, 1449, 1452, 1457, 1458, 1459, 1460,
- 1461, 1462, 1463, 1464, 1465, 1468, 1469, 1470, 1473, 1474,
- 1475, 1479, 1486, 1498, 1504, 1516, 1528, 1531, 1537, 1542,
- 1545, 1550, 1551, 1555, 1571, 1587, 1603, 1619, 1630, 1636,
- 1646, 1669, 1680, 1699, 1705, 1706, 1712, 1713, 1724, 1735,
- 1746, 1756, 1766, 1776, 1779, 1780, 1783, 1784, 1787, 1790,
- 1793, 1801, 1811, 1812, 1815, 1832, 1839, 1846, 1853, 1860,
- 1867, 1876, 1885, 1896, 1897, 1900, 1920, 1930, 1939, 1950,
- 1953, 1958, 1967, 1978, 1981, 1987, 1988, 1992, 1993
+ 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;
Variable *var;
Type *type;
- char *root;
+ const char *root;
if(strcmp(yyvsp[0].id, "link")!=0 &&
strcmp(yyvsp[0].id, "stringlink")!=0 &&
type = pop_type();
var = find_var_or_die(yyvsp[-2].id, yyvsp[-5].line);
- if(var->scope == PRIVATE_SCOPE)
+ if(var->scope == PRIVATE_SCOPE) {
root = "self->_priv";
- else if(var->scope == CLASS_SCOPE) {
+ } else if(var->scope == CLASS_SCOPE) {
root = "SELF_GET_CLASS(self)";
if(no_self_alias)
error_print(GOB_ERROR, yyvsp[-5].line,
_("Self aliases needed when autolinking to a classwide member"));
- } else
+ } else {
root = "self";
+ }
if(strcmp(yyvsp[0].id, "link")==0) {
set = g_strdup_printf("%s->%s = ARG;",
}
break;
case 53:
-#line 1093 "parse.y"
+#line 1097 "parse.y"
{
if (strcmp (yyvsp[-1].id, "export")!=0) {
g_free (yyvsp[-1].id);
}
break;
case 54:
-#line 1101 "parse.y"
+#line 1105 "parse.y"
{
yyval.id = NULL;
}
break;
case 55:
-#line 1106 "parse.y"
+#line 1110 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 56:
-#line 1154 "parse.y"
+#line 1158 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 57:
-#line 1190 "parse.y"
+#line 1194 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 58:
-#line 1206 "parse.y"
+#line 1210 "parse.y"
{ ; }
break;
case 59:
-#line 1207 "parse.y"
+#line 1211 "parse.y"
{ ; }
break;
case 60:
-#line 1210 "parse.y"
+#line 1214 "parse.y"
{ ; }
break;
case 61:
-#line 1211 "parse.y"
+#line 1215 "parse.y"
{ ; }
break;
case 62:
-#line 1214 "parse.y"
+#line 1218 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 63:
-#line 1215 "parse.y"
+#line 1219 "parse.y"
{
if (strcmp (yyvsp[-3].id, "_") != 0) {
g_free (yyvsp[-3].id);
}
break;
case 64:
-#line 1227 "parse.y"
+#line 1231 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 65:
-#line 1228 "parse.y"
+#line 1232 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 66:
-#line 1231 "parse.y"
+#line 1235 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 67:
-#line 1237 "parse.y"
+#line 1241 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 68:
-#line 1243 "parse.y"
+#line 1247 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 69:
-#line 1249 "parse.y"
+#line 1253 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 70:
-#line 1255 "parse.y"
+#line 1259 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 71:
-#line 1261 "parse.y"
+#line 1265 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 72:
-#line 1267 "parse.y"
+#line 1271 "parse.y"
{
Type *type = pop_type ();
ensure_property ();
}
break;
case 73:
-#line 1274 "parse.y"
+#line 1278 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 74:
-#line 1280 "parse.y"
+#line 1284 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 75:
-#line 1286 "parse.y"
+#line 1290 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 76:
-#line 1292 "parse.y"
+#line 1296 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 77:
-#line 1298 "parse.y"
+#line 1302 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 78:
-#line 1304 "parse.y"
+#line 1308 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 79:
-#line 1310 "parse.y"
+#line 1314 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 80:
-#line 1316 "parse.y"
+#line 1320 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 81:
-#line 1322 "parse.y"
+#line 1326 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 82:
-#line 1328 "parse.y"
+#line 1332 "parse.y"
{
ensure_property ();
node_set ((Node *)property,
}
break;
case 83:
-#line 1334 "parse.y"
+#line 1338 "parse.y"
{
ensure_property ();
if (strcmp (yyvsp[0].id, "link") == 0) {
}
break;
case 84:
-#line 1354 "parse.y"
+#line 1358 "parse.y"
{
if(strcmp(yyvsp[-2].id,"type")!=0) {
g_free(yyvsp[-4].id);
}
break;
case 85:
-#line 1363 "parse.y"
+#line 1367 "parse.y"
{
yyval.id = debool (yyvsp[0].id);
typestack = g_list_prepend(typestack,NULL);
}
break;
case 86:
-#line 1369 "parse.y"
+#line 1373 "parse.y"
{ yyval.list = yyvsp[-1].list; }
break;
case 87:
-#line 1370 "parse.y"
+#line 1374 "parse.y"
{ yyval.list = NULL; }
break;
case 88:
-#line 1373 "parse.y"
+#line 1377 "parse.y"
{
yyval.list = g_list_append(yyvsp[0].list,yyvsp[-2].id);
}
break;
case 89:
-#line 1376 "parse.y"
+#line 1380 "parse.y"
{
yyval.list = g_list_append(NULL,yyvsp[0].id);
}
break;
case 90:
-#line 1382 "parse.y"
+#line 1386 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[-1].id,
}
break;
case 91:
-#line 1389 "parse.y"
+#line 1393 "parse.y"
{
Node *node = node_new (TYPE_NODE,
"name:steal", yyvsp[0].id,
}
break;
case 92:
-#line 1398 "parse.y"
+#line 1402 "parse.y"
{
yyval.id = yyvsp[0].id;
}
break;
case 93:
-#line 1401 "parse.y"
+#line 1405 "parse.y"
{
yyval.id = yyvsp[0].id;
}
break;
case 94:
-#line 1404 "parse.y"
+#line 1408 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 95:
-#line 1408 "parse.y"
+#line 1412 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
}
break;
case 96:
-#line 1412 "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 1416 "parse.y"
+#line 1420 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[-1].id, " ",
yyvsp[0].id, NULL);
}
break;
case 98:
-#line 1421 "parse.y"
+#line 1425 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-2].id, " ",
yyvsp[-1].id, " const", NULL);
}
break;
case 99:
-#line 1429 "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 1433 "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 1438 "parse.y"
+#line 1442 "parse.y"
{
yyval.id = g_strconcat("const ", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 102:
-#line 1442 "parse.y"
+#line 1446 "parse.y"
{
yyval.id = yyvsp[0].id;
}
break;
case 103:
-#line 1445 "parse.y"
+#line 1449 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
g_free(yyvsp[-1].id);
}
break;
case 104:
-#line 1449 "parse.y"
+#line 1453 "parse.y"
{
yyval.id = g_strdup(yyvsp[0].id);
}
break;
case 105:
-#line 1452 "parse.y"
+#line 1456 "parse.y"
{
yyval.id = g_strconcat(yyvsp[-1].id, " const", NULL);
}
break;
case 106:
-#line 1457 "parse.y"
+#line 1461 "parse.y"
{ yyval.id = "void"; }
break;
case 107:
-#line 1458 "parse.y"
+#line 1462 "parse.y"
{ yyval.id = "char"; }
break;
case 108:
-#line 1459 "parse.y"
+#line 1463 "parse.y"
{ yyval.id = "short"; }
break;
case 109:
-#line 1460 "parse.y"
+#line 1464 "parse.y"
{ yyval.id = "int"; }
break;
case 110:
-#line 1461 "parse.y"
+#line 1465 "parse.y"
{ yyval.id = "long"; }
break;
case 111:
-#line 1462 "parse.y"
+#line 1466 "parse.y"
{ yyval.id = "float"; }
break;
case 112:
-#line 1463 "parse.y"
+#line 1467 "parse.y"
{ yyval.id = "double"; }
break;
case 113:
-#line 1464 "parse.y"
+#line 1468 "parse.y"
{ yyval.id = "signed"; }
break;
case 114:
-#line 1465 "parse.y"
+#line 1469 "parse.y"
{ yyval.id = "unsigned"; }
break;
case 115:
-#line 1468 "parse.y"
+#line 1472 "parse.y"
{ yyval.id = "struct"; }
break;
case 116:
-#line 1469 "parse.y"
+#line 1473 "parse.y"
{ yyval.id = "union"; }
break;
case 117:
-#line 1470 "parse.y"
+#line 1474 "parse.y"
{ yyval.id = "enum"; }
break;
case 118:
-#line 1473 "parse.y"
+#line 1477 "parse.y"
{ yyval.id = g_strdup("*"); }
break;
case 119:
-#line 1474 "parse.y"
+#line 1478 "parse.y"
{ yyval.id = g_strdup("* const"); }
break;
case 120:
-#line 1475 "parse.y"
+#line 1479 "parse.y"
{
yyval.id = g_strconcat("*", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 121:
-#line 1479 "parse.y"
+#line 1483 "parse.y"
{
yyval.id = g_strconcat("* const", yyvsp[0].id, NULL);
g_free(yyvsp[0].id);
}
break;
case 122:
-#line 1486 "parse.y"
+#line 1490 "parse.y"
{
if(strcmp(yyvsp[-1].id, "first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
}
break;
case 123:
-#line 1498 "parse.y"
+#line 1502 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
}
break;
case 124:
-#line 1504 "parse.y"
+#line 1508 "parse.y"
{
if(strcmp(yyvsp[-1].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
}
break;
case 125:
-#line 1516 "parse.y"
+#line 1520 "parse.y"
{
if(strcmp(yyvsp[-2].id,"first")==0)
yyval.sigtype = SIGNAL_FIRST_METHOD;
}
break;
case 126:
-#line 1528 "parse.y"
+#line 1532 "parse.y"
{
yyval.sigtype = SIGNAL_LAST_METHOD;
}
break;
case 127:
-#line 1531 "parse.y"
+#line 1535 "parse.y"
{
/* the_scope was default thus public */
the_scope = PUBLIC_SCOPE;
}
break;
case 128:
-#line 1537 "parse.y"
+#line 1541 "parse.y"
{
gtktypes = g_list_prepend(gtktypes, debool (yyvsp[-3].id));
}
break;
case 129:
-#line 1542 "parse.y"
+#line 1546 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
}
break;
case 130:
-#line 1545 "parse.y"
+#line 1549 "parse.y"
{
gtktypes = g_list_append(gtktypes, debool (yyvsp[0].id));
}
break;
case 131:
-#line 1550 "parse.y"
+#line 1554 "parse.y"
{ yyval.cbuf = yyvsp[0].cbuf; }
break;
case 132:
-#line 1551 "parse.y"
+#line 1555 "parse.y"
{ yyval.cbuf = NULL; }
break;
case 133:
-#line 1555 "parse.y"
+#line 1559 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
}
break;
case 134:
-#line 1571 "parse.y"
+#line 1575 "parse.y"
{
if(!has_self) {
yyerror(_("signal without 'self' as "
}
break;
case 135:
-#line 1587 "parse.y"
+#line 1591 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
}
break;
case 136:
-#line 1603 "parse.y"
+#line 1607 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
}
break;
case 137:
-#line 1619 "parse.y"
+#line 1623 "parse.y"
{
if(!has_self) {
yyerror(_("virtual method without 'self' as "
}
break;
case 138:
-#line 1630 "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 1636 "parse.y"
+#line 1640 "parse.y"
{
if(the_scope == CLASS_SCOPE) {
yyerror(_("a method cannot be of class scope"));
}
break;
case 140:
-#line 1646 "parse.y"
+#line 1650 "parse.y"
{
if(strcmp(yyvsp[-4].id, "init")==0) {
push_init_arg(yyvsp[-2].id,FALSE);
}
break;
case 141:
-#line 1669 "parse.y"
+#line 1673 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
}
break;
case 142:
-#line 1680 "parse.y"
+#line 1684 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
}
break;
case 143:
-#line 1699 "parse.y"
+#line 1703 "parse.y"
{
g_free(onerror); onerror = NULL;
g_free(defreturn); defreturn = NULL;
}
break;
case 144:
-#line 1705 "parse.y"
+#line 1709 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 145:
-#line 1706 "parse.y"
+#line 1710 "parse.y"
{
- yyval.id = (yyvsp[1].cbuf)->str;
- g_string_free(yyvsp[1].cbuf, FALSE);
+ yyval.id = (yyvsp[0].cbuf)->str;
+ g_string_free(yyvsp[0].cbuf, FALSE);
}
break;
case 146:
-#line 1712 "parse.y"
+#line 1716 "parse.y"
{ vararg = FALSE; has_self = FALSE; }
break;
case 147:
-#line 1713 "parse.y"
+#line 1717 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
break;
case 148:
-#line 1724 "parse.y"
+#line 1728 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
break;
case 149:
-#line 1735 "parse.y"
+#line 1739 "parse.y"
{
vararg = FALSE;
has_self = TRUE;
}
break;
case 150:
-#line 1746 "parse.y"
+#line 1750 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
break;
case 151:
-#line 1756 "parse.y"
+#line 1760 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-3].id,"self")==0)
}
break;
case 152:
-#line 1766 "parse.y"
+#line 1770 "parse.y"
{
has_self = TRUE;
if(strcmp(yyvsp[-2].id,"self")==0)
}
break;
case 153:
-#line 1776 "parse.y"
+#line 1780 "parse.y"
{ has_self = FALSE; }
break;
case 154:
-#line 1779 "parse.y"
+#line 1783 "parse.y"
{ vararg = TRUE; }
break;
case 155:
-#line 1780 "parse.y"
+#line 1784 "parse.y"
{ vararg = FALSE; }
break;
case 156:
-#line 1783 "parse.y"
+#line 1787 "parse.y"
{ ; }
break;
case 157:
-#line 1784 "parse.y"
+#line 1788 "parse.y"
{ ; }
break;
case 158:
-#line 1787 "parse.y"
+#line 1791 "parse.y"
{
push_funcarg(yyvsp[0].id,NULL);
}
break;
case 159:
-#line 1790 "parse.y"
+#line 1794 "parse.y"
{
push_funcarg(yyvsp[-1].id,yyvsp[0].id);
}
break;
case 160:
-#line 1793 "parse.y"
+#line 1797 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
}
break;
case 161:
-#line 1801 "parse.y"
+#line 1805 "parse.y"
{
if(strcmp(yyvsp[-2].id,"check")!=0) {
yyerror(_("parse error"));
}
break;
case 162:
-#line 1811 "parse.y"
+#line 1815 "parse.y"
{ ; }
break;
case 163:
-#line 1812 "parse.y"
+#line 1816 "parse.y"
{ ; }
break;
case 164:
-#line 1815 "parse.y"
+#line 1819 "parse.y"
{
if(strcmp(yyvsp[0].id,"type")==0) {
Node *node = node_new (CHECK_NODE,
}
break;
case 165:
-#line 1832 "parse.y"
+#line 1836 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GT_CHECK,
}
break;
case 166:
-#line 1839 "parse.y"
+#line 1843 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LT_CHECK,
}
break;
case 167:
-#line 1846 "parse.y"
+#line 1850 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", GE_CHECK,
}
break;
case 168:
-#line 1853 "parse.y"
+#line 1857 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", LE_CHECK,
}
break;
case 169:
-#line 1860 "parse.y"
+#line 1864 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", EQ_CHECK,
}
break;
case 170:
-#line 1867 "parse.y"
+#line 1871 "parse.y"
{
Node *node = node_new (CHECK_NODE,
"chtype", NE_CHECK,
}
break;
case 171:
-#line 1876 "parse.y"
+#line 1880 "parse.y"
{
Node *node = node_new (ENUMDEF_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 172:
-#line 1885 "parse.y"
+#line 1889 "parse.y"
{
Node *node = node_new (ENUMDEF_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 173:
-#line 1896 "parse.y"
+#line 1900 "parse.y"
{;}
break;
case 174:
-#line 1897 "parse.y"
+#line 1901 "parse.y"
{;}
break;
case 175:
-#line 1900 "parse.y"
+#line 1904 "parse.y"
{
Node *node;
char *num = yyvsp[0].id;
}
break;
case 176:
-#line 1920 "parse.y"
+#line 1924 "parse.y"
{
Node *node;
}
break;
case 177:
-#line 1930 "parse.y"
+#line 1934 "parse.y"
{
Node *node = node_new (FLAGS_NODE,
"ftype:steal", yyvsp[-1].id,
}
break;
case 178:
-#line 1939 "parse.y"
+#line 1943 "parse.y"
{
Node *node = node_new (FLAGS_NODE,
"ftype:steal", yyvsp[-1].id,
}
break;
case 179:
-#line 1950 "parse.y"
+#line 1954 "parse.y"
{
flag_vals = g_list_append (flag_vals, yyvsp[0].id);
}
break;
case 180:
-#line 1953 "parse.y"
+#line 1957 "parse.y"
{
flag_vals = g_list_append (flag_vals, yyvsp[0].id);
}
break;
case 181:
-#line 1958 "parse.y"
+#line 1962 "parse.y"
{
Node *node = node_new (ERROR_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 182:
-#line 1967 "parse.y"
+#line 1971 "parse.y"
{
Node *node = node_new (ERROR_NODE,
"etype:steal", yyvsp[-1].id,
}
break;
case 183:
-#line 1978 "parse.y"
+#line 1982 "parse.y"
{
error_vals = g_list_append (error_vals, yyvsp[0].id);
}
break;
case 184:
-#line 1981 "parse.y"
+#line 1985 "parse.y"
{
error_vals = g_list_append (error_vals, yyvsp[0].id);
}
break;
case 185:
-#line 1987 "parse.y"
+#line 1991 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 186:
-#line 1988 "parse.y"
+#line 1992 "parse.y"
{
yyval.id = g_strconcat("-",yyvsp[0].id,NULL);
g_free(yyvsp[0].id);
}
break;
case 187:
-#line 1992 "parse.y"
+#line 1996 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
case 188:
-#line 1993 "parse.y"
+#line 1997 "parse.y"
{ yyval.id = yyvsp[0].id; }
break;
}
#endif
return yyresult;
}
-#line 1996 "parse.y"
+#line 2000 "parse.y"