mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 01:07:51 -04:00
Support template "using" definitions in interrogate
This commit is contained in:
parent
b486de2700
commit
242cc5f57d
@ -885,11 +885,11 @@ static const yytype_uint16 yyrline[] =
|
|||||||
{
|
{
|
||||||
0, 424, 424, 425, 429, 436, 437, 438, 442, 443,
|
0, 424, 424, 425, 429, 436, 437, 438, 442, 443,
|
||||||
447, 451, 464, 463, 475, 476, 477, 478, 479, 480,
|
447, 451, 464, 463, 475, 476, 477, 478, 479, 480,
|
||||||
481, 482, 495, 504, 508, 516, 520, 524, 535, 556,
|
481, 494, 503, 507, 515, 519, 523, 534, 555, 585,
|
||||||
586, 603, 631, 668, 690, 723, 745, 756, 770, 769,
|
602, 630, 667, 689, 722, 744, 755, 769, 768, 783,
|
||||||
784, 788, 792, 803, 807, 811, 815, 819, 823, 827,
|
787, 791, 802, 806, 810, 814, 818, 822, 826, 830,
|
||||||
831, 835, 839, 843, 847, 855, 856, 860, 861, 865,
|
834, 838, 842, 846, 854, 855, 859, 860, 864, 868,
|
||||||
869, 878, 886, 898, 897, 913, 912, 934, 942, 953,
|
877, 885, 893, 898, 897, 913, 912, 934, 942, 953,
|
||||||
962, 976, 975, 991, 990, 1005, 1020, 1026, 1035, 1042,
|
962, 976, 975, 991, 990, 1005, 1020, 1026, 1035, 1042,
|
||||||
1055, 1054, 1079, 1078, 1106, 1105, 1136, 1135, 1154, 1153,
|
1055, 1054, 1079, 1078, 1106, 1105, 1136, 1135, 1154, 1153,
|
||||||
1174, 1173, 1205, 1204, 1230, 1243, 1247, 1251, 1255, 1259,
|
1174, 1173, 1205, 1204, 1230, 1243, 1247, 1251, 1255, 1259,
|
||||||
@ -1071,8 +1071,8 @@ static const yytype_int16 yypact[] =
|
|||||||
-703, -20, -703, -703, 1983, 2722, 2722, -703, 1244, -703,
|
-703, -20, -703, -703, 1983, 2722, 2722, -703, 1244, -703,
|
||||||
2722, -703, -703, 62, -703, -703, -703, -703, 66, 48,
|
2722, -703, -703, 62, -703, -703, -703, -703, 66, 48,
|
||||||
959, -703, -703, -703, -703, -703, -703, 5378, 5378, -703,
|
959, -703, -703, -703, -703, -703, -703, 5378, 5378, -703,
|
||||||
5378, 892, 5378, 160, -703, 5286, 225, 227, 233, 251,
|
5378, 892, 5378, 160, -703, 5335, 225, 227, 233, 251,
|
||||||
5378, 2255, 191, 269, 272, 5378, 5378, 263, 5300, 5378,
|
5378, 2255, 191, 269, 272, 5378, 5378, 263, 5263, 5378,
|
||||||
5378, 2691, 5378, 5378, -703, 63, -703, -703, -703, 3269,
|
5378, 2691, 5378, 5378, -703, 63, -703, -703, -703, 3269,
|
||||||
-703, -703, -703, -703, -703, -703, 2822, 4474, 2822, 2822,
|
-703, -703, -703, -703, -703, -703, 2822, 4474, 2822, 2822,
|
||||||
2822, 2822, 4474, 2822, 4474, 2822, 2822, 2822, -703, -703,
|
2822, 2822, 4474, 2822, 4474, 2822, 2822, 2822, -703, -703,
|
||||||
@ -1126,7 +1126,7 @@ static const yytype_int16 yypact[] =
|
|||||||
552, 623, -21, 555, 556, 932, -703, -703, 623, 557,
|
552, 623, -21, 555, 556, 932, -703, -703, 623, 557,
|
||||||
557, 557, 557, 557, 265, 2822, 2822, -703, -703, 558,
|
557, 557, 557, 557, 265, 2822, 2822, -703, -703, 558,
|
||||||
-703, 2822, -703, 4125, 568, 574, -703, -703, -703, -23,
|
-703, 2822, -703, 4125, 568, 574, -703, -703, -703, -23,
|
||||||
577, 579, 584, 5063, 41, -703, 582, 623, 587, 5322,
|
577, 579, 584, 5063, 41, -703, 582, 623, 587, 5309,
|
||||||
4236, 44, 529, -703, 308, -703, 5378, -703, -703, -703,
|
4236, 44, 529, -703, 308, -703, 5378, -703, -703, -703,
|
||||||
-703, -703, -703, -703, 601, 586, 611, -703, -703, 4682,
|
-703, -703, -703, -703, 601, 586, 611, -703, -703, 4682,
|
||||||
-703, -703, 612, 605, 615, -703, 609, 2822, 2822, 2822,
|
-703, -703, 612, 605, 615, -703, 609, 2822, 2822, 2822,
|
||||||
@ -1211,11 +1211,11 @@ static const yytype_uint16 yydefact[] =
|
|||||||
593, 261, 269, 343, 344, 346, 347, 328, 0, 0,
|
593, 261, 269, 343, 344, 346, 347, 328, 0, 0,
|
||||||
358, 325, 357, 352, 349, 348, 351, 329, 0, 330,
|
358, 325, 357, 352, 349, 348, 351, 329, 0, 330,
|
||||||
350, 360, 345, 680, 4, 263, 264, 265, 0, 314,
|
350, 360, 345, 680, 4, 263, 264, 265, 0, 314,
|
||||||
0, 260, 340, 341, 342, 1, 21, 680, 680, 22,
|
0, 260, 340, 341, 342, 1, 20, 680, 680, 21,
|
||||||
680, 680, 680, 0, 38, 680, 0, 0, 0, 0,
|
680, 680, 680, 0, 37, 680, 0, 0, 0, 0,
|
||||||
680, 0, 0, 0, 0, 680, 680, 0, 680, 680,
|
680, 0, 0, 0, 0, 680, 680, 0, 680, 680,
|
||||||
680, 0, 680, 680, 6, 0, 16, 7, 19, 0,
|
680, 0, 680, 680, 6, 0, 16, 7, 18, 0,
|
||||||
14, 59, 15, 17, 18, 40, 680, 0, 680, 680,
|
14, 58, 15, 17, 62, 39, 680, 0, 680, 680,
|
||||||
680, 680, 0, 680, 0, 680, 680, 680, 282, 287,
|
680, 680, 0, 680, 0, 680, 680, 680, 282, 287,
|
||||||
0, 0, 553, 0, 0, 281, 0, 680, 680, 0,
|
0, 0, 553, 0, 0, 281, 0, 680, 680, 0,
|
||||||
0, 0, 680, 680, 562, 560, 559, 561, 558, 261,
|
0, 0, 680, 680, 562, 560, 559, 561, 558, 261,
|
||||||
@ -1228,10 +1228,10 @@ static const yytype_uint16 yydefact[] =
|
|||||||
359, 349, 354, 353, 356, 262, 355, 0, 680, 680,
|
359, 349, 354, 353, 356, 262, 355, 0, 680, 680,
|
||||||
680, 680, 680, 680, 0, 290, 248, 680, 673, 674,
|
680, 680, 680, 680, 0, 290, 248, 680, 673, 674,
|
||||||
675, 0, 316, 664, 665, 667, 292, 266, 294, 680,
|
675, 0, 316, 664, 665, 667, 292, 266, 294, 680,
|
||||||
51, 50, 52, 680, 41, 46, 23, 680, 0, 44,
|
50, 49, 51, 680, 40, 45, 22, 680, 0, 43,
|
||||||
0, 0, 0, 0, 49, 680, 0, 26, 25, 24,
|
0, 0, 0, 0, 48, 680, 0, 25, 24, 23,
|
||||||
47, 43, 0, 0, 146, 0, 53, 0, 20, 0,
|
46, 42, 0, 0, 146, 0, 52, 0, 19, 0,
|
||||||
0, 45, 48, 0, 289, 271, 280, 0, 0, 0,
|
0, 44, 47, 0, 289, 271, 280, 0, 0, 0,
|
||||||
0, 12, 0, 0, 0, 288, 63, 273, 274, 275,
|
0, 12, 0, 0, 0, 288, 63, 273, 274, 275,
|
||||||
314, 0, 270, 0, 492, 491, 0, 0, 0, 0,
|
314, 0, 270, 0, 492, 491, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 283, 680,
|
0, 0, 0, 0, 0, 0, 0, 0, 283, 680,
|
||||||
@ -1242,12 +1242,12 @@ static const yytype_uint16 yydefact[] =
|
|||||||
0, 291, 0, 680, 0, 680, 680, 680, 680, 680,
|
0, 291, 0, 680, 0, 680, 680, 680, 680, 680,
|
||||||
253, 240, 0, 249, 0, 250, 252, 251, 179, 680,
|
253, 240, 0, 249, 0, 250, 252, 251, 179, 680,
|
||||||
0, 0, 680, 680, 0, 180, 183, 680, 178, 680,
|
0, 0, 680, 680, 0, 180, 183, 680, 178, 680,
|
||||||
322, 0, 319, 318, 313, 317, 0, 680, 680, 42,
|
322, 0, 319, 318, 313, 317, 0, 680, 680, 41,
|
||||||
39, 680, 0, 0, 0, 0, 0, 680, 331, 0,
|
38, 680, 0, 0, 0, 0, 0, 680, 331, 0,
|
||||||
680, 289, 271, 0, 0, 288, 71, 0, 337, 0,
|
680, 289, 271, 0, 0, 288, 71, 0, 337, 0,
|
||||||
0, 55, 57, 80, 82, 289, 271, 65, 0, 0,
|
0, 54, 56, 80, 82, 289, 271, 65, 0, 0,
|
||||||
680, 272, 680, 0, 361, 196, 0, 0, 61, 361,
|
680, 272, 680, 0, 361, 196, 0, 0, 60, 361,
|
||||||
201, 0, 62, 60, 0, 278, 316, 276, 538, 552,
|
201, 0, 61, 59, 0, 278, 316, 276, 538, 552,
|
||||||
544, 540, 542, 543, 0, 550, 0, 549, 539, 546,
|
544, 540, 542, 543, 0, 550, 0, 549, 539, 546,
|
||||||
0, 0, 0, 545, 548, 551, 0, 555, 556, 547,
|
0, 0, 0, 545, 548, 551, 0, 555, 556, 547,
|
||||||
541, 533, 494, 96, 680, 680, 95, 656, 0, 583,
|
541, 533, 494, 96, 680, 680, 95, 656, 0, 583,
|
||||||
@ -1267,8 +1267,8 @@ static const yytype_uint16 yydefact[] =
|
|||||||
0, 680, 680, 0, 0, 680, 181, 184, 680, 235,
|
0, 680, 680, 0, 0, 680, 181, 184, 680, 235,
|
||||||
231, 232, 234, 233, 0, 0, 680, 214, 194, 255,
|
231, 232, 234, 233, 0, 0, 680, 214, 194, 255,
|
||||||
320, 0, 293, 0, 0, 299, 298, 336, 680, 0,
|
320, 0, 293, 0, 0, 299, 298, 336, 680, 0,
|
||||||
0, 0, 0, 680, 0, 37, 151, 680, 153, 680,
|
0, 0, 0, 680, 0, 36, 151, 680, 153, 680,
|
||||||
0, 680, 0, 72, 680, 338, 680, 56, 647, 643,
|
0, 680, 0, 72, 680, 338, 680, 55, 647, 643,
|
||||||
646, 649, 650, 186, 0, 0, 0, 645, 651, 0,
|
646, 649, 650, 186, 0, 0, 0, 645, 651, 0,
|
||||||
653, 652, 0, 0, 0, 644, 0, 0, 0, 0,
|
653, 652, 0, 0, 0, 644, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 187, 218, 190, 219, 601, 648,
|
0, 0, 0, 0, 187, 218, 190, 219, 601, 648,
|
||||||
@ -1286,9 +1286,9 @@ static const yytype_uint16 yydefact[] =
|
|||||||
239, 195, 0, 324, 671, 0, 670, 0, 0, 300,
|
239, 195, 0, 324, 671, 0, 670, 0, 0, 300,
|
||||||
0, 302, 661, 680, 0, 680, 0, 0, 0, 0,
|
0, 302, 661, 680, 0, 680, 0, 0, 0, 0,
|
||||||
0, 332, 0, 0, 680, 0, 142, 145, 143, 150,
|
0, 332, 0, 0, 680, 0, 142, 145, 143, 150,
|
||||||
0, 155, 192, 74, 680, 0, 76, 54, 0, 0,
|
0, 155, 192, 74, 680, 0, 76, 53, 0, 0,
|
||||||
0, 609, 0, 0, 0, 0, 617, 616, 615, 614,
|
0, 609, 0, 0, 0, 0, 617, 616, 615, 614,
|
||||||
0, 0, 613, 58, 189, 0, 0, 0, 0, 0,
|
0, 0, 613, 57, 189, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 680,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 680,
|
||||||
0, 0, 680, 0, 69, 92, 227, 680, 0, 0,
|
0, 0, 680, 0, 69, 92, 227, 680, 0, 0,
|
||||||
@ -1309,7 +1309,7 @@ static const yytype_uint16 yydefact[] =
|
|||||||
195, 0, 536, 535, 537, 534, 680, 680, 176, 101,
|
195, 0, 536, 535, 537, 534, 680, 680, 176, 101,
|
||||||
0, 0, 0, 216, 0, 0, 680, 237, 321, 0,
|
0, 0, 0, 216, 0, 0, 680, 237, 321, 0,
|
||||||
305, 0, 304, 0, 303, 663, 0, 0, 0, 662,
|
305, 0, 304, 0, 303, 663, 0, 0, 0, 662,
|
||||||
680, 301, 334, 0, 27, 0, 0, 0, 36, 152,
|
680, 301, 334, 0, 26, 0, 0, 0, 35, 152,
|
||||||
156, 154, 0, 0, 0, 0, 0, 0, 0, 0,
|
156, 154, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 193, 495, 0, 78, 0,
|
0, 0, 0, 0, 0, 193, 495, 0, 78, 0,
|
||||||
0, 0, 0, 680, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 680, 0, 0, 0, 0, 0, 0,
|
||||||
@ -1326,17 +1326,17 @@ static const yytype_uint16 yydefact[] =
|
|||||||
0, 0, 0, 0, 77, 608, 0, 0, 0, 0,
|
0, 0, 0, 0, 77, 608, 0, 0, 0, 0,
|
||||||
607, 0, 611, 612, 602, 0, 638, 637, 88, 680,
|
607, 0, 611, 612, 602, 0, 638, 637, 88, 680,
|
||||||
70, 0, 680, 85, 488, 0, 680, 361, 680, 680,
|
70, 0, 680, 85, 488, 0, 680, 361, 680, 680,
|
||||||
680, 680, 0, 28, 0, 33, 35, 0, 30, 0,
|
680, 680, 0, 27, 0, 32, 34, 0, 29, 0,
|
||||||
0, 0, 0, 0, 0, 0, 531, 517, 518, 519,
|
0, 0, 0, 0, 0, 0, 531, 517, 518, 519,
|
||||||
520, 521, 522, 523, 524, 530, 0, 514, 515, 516,
|
520, 521, 522, 523, 524, 530, 0, 514, 515, 516,
|
||||||
512, 513, 509, 510, 511, 529, 528, 0, 0, 79,
|
512, 513, 509, 510, 511, 529, 528, 0, 0, 79,
|
||||||
0, 0, 610, 0, 0, 636, 680, 0, 680, 91,
|
0, 0, 610, 0, 0, 636, 680, 0, 680, 91,
|
||||||
213, 172, 0, 259, 258, 257, 238, 0, 0, 0,
|
213, 172, 0, 259, 258, 257, 238, 0, 0, 0,
|
||||||
0, 502, 0, 0, 0, 501, 0, 496, 0, 527,
|
0, 502, 0, 0, 0, 501, 0, 496, 0, 527,
|
||||||
526, 0, 0, 0, 0, 0, 680, 93, 600, 29,
|
526, 0, 0, 0, 0, 0, 680, 93, 600, 28,
|
||||||
0, 0, 31, 0, 0, 0, 0, 525, 605, 604,
|
0, 0, 30, 0, 0, 0, 0, 525, 605, 604,
|
||||||
606, 603, 680, 680, 0, 0, 0, 0, 0, 0,
|
606, 603, 680, 680, 0, 0, 0, 0, 0, 0,
|
||||||
680, 87, 34, 32, 499, 498, 500, 497, 89
|
680, 87, 33, 31, 499, 498, 500, 497, 89
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPGOTO[NTERM-NUM]. */
|
/* YYPGOTO[NTERM-NUM]. */
|
||||||
@ -1907,24 +1907,24 @@ static const yytype_int16 yytable[] =
|
|||||||
86, 87, 108, 109, 0, 0, 0, 110, 0, 88,
|
86, 87, 108, 109, 0, 0, 0, 110, 0, 88,
|
||||||
0, 0, 111, 112, 0, 113, 0, 89, 0, 90,
|
0, 0, 111, 112, 0, 113, 0, 89, 0, 90,
|
||||||
91, 92, 93, 114, 0, 0, 94, 0, 0, 0,
|
91, 92, 93, 114, 0, 0, 94, 0, 0, 0,
|
||||||
95, 0, 0, 0, 96, 97, 98, 99, 100, 101,
|
95, 0, 0, 87, 96, 97, 98, 99, 100, 101,
|
||||||
115, 0, 1160, 0, 0, 102, 103, 104, 105, 0,
|
115, 88, 1160, 0, 0, 102, 103, 104, 105, 0,
|
||||||
0, 0, 0, 0, 106, 107, 87, 0, 108, 109,
|
0, 90, 91, 92, 106, 107, 0, 0, 108, 109,
|
||||||
0, 0, 0, 110, 88, 0, 0, 0, 111, 112,
|
0, 0, 249, 110, 0, 0, 0, 0, 111, 112,
|
||||||
87, 113, 0, 0, 90, 91, 92, 0, 88, 0,
|
100, 113, 0, 0, 0, 0, 0, 0, 0, 87,
|
||||||
0, 0, 0, 0, 0, 249, 0, 0, 90, 91,
|
105, 0, 0, 0, 0, 0, 106, 88, 0, 0,
|
||||||
92, 0, 87, 100, 258, 0, 115, 0, 0, 249,
|
0, 109, 0, 0, 0, 0, 115, 90, 91, 92,
|
||||||
88, 0, 0, 105, 0, 0, 0, 100, 0, 106,
|
111, 112, 0, 113, 0, 87, 0, 0, 249, 0,
|
||||||
90, 91, 92, 0, 109, 0, 0, 105, 0, 0,
|
0, 0, 0, 88, 0, 0, 100, 0, -144, 0,
|
||||||
0, 249, 0, 106, 112, 0, 113, 0, 109, 100,
|
0, 0, 0, 90, 91, 92, 105, 0, 115, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 112, 105,
|
0, 0, 106, 0, 249, 0, 108, 109, 0, 0,
|
||||||
113, 0, 0, 0, 0, 106, 0, 0, 87, 108,
|
0, 0, 100, 258, 0, 0, 111, 112, 87, 113,
|
||||||
109, 115, 0, 0, 0, -144, 88, 0, 0, 0,
|
0, 0, 105, 0, 0, 0, 88, 0, 106, 0,
|
||||||
112, 0, 113, 0, 0, 115, 90, 91, 92, 0,
|
0, 0, 0, 109, 0, 0, 90, 91, 92, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 249, 0, 0,
|
0, 0, 0, 112, 115, 113, 0, 249, 0, 0,
|
||||||
0, 0, 0, 0, 0, 100, 0, 115, 0, 0,
|
0, 0, 0, 0, 0, 100, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
|
||||||
0, 106, 0, 0, 0, 0, 109, 0, 0, 0,
|
115, 106, 0, 0, 0, 0, 109, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 112, 0, 113, 0,
|
0, 0, 0, 0, 0, 0, 112, 0, 113, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@ -2464,24 +2464,24 @@ static const yytype_int16 yycheck[] =
|
|||||||
49, 50, 107, 108, -1, -1, -1, 112, -1, 58,
|
49, 50, 107, 108, -1, -1, -1, 112, -1, 58,
|
||||||
-1, -1, 117, 118, -1, 120, -1, 66, -1, 68,
|
-1, -1, 117, 118, -1, 120, -1, 66, -1, 68,
|
||||||
69, 70, 71, 128, -1, -1, 75, -1, -1, -1,
|
69, 70, 71, 128, -1, -1, 75, -1, -1, -1,
|
||||||
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
|
79, -1, -1, 50, 83, 84, 85, 86, 87, 88,
|
||||||
145, -1, 147, -1, -1, 94, 95, 96, 97, -1,
|
145, 58, 147, -1, -1, 94, 95, 96, 97, -1,
|
||||||
-1, -1, -1, -1, 103, 104, 50, -1, 107, 108,
|
-1, 68, 69, 70, 103, 104, -1, -1, 107, 108,
|
||||||
-1, -1, -1, 112, 58, -1, -1, -1, 117, 118,
|
-1, -1, 79, 112, -1, -1, -1, -1, 117, 118,
|
||||||
50, 120, -1, -1, 68, 69, 70, -1, 58, -1,
|
87, 120, -1, -1, -1, -1, -1, -1, -1, 50,
|
||||||
-1, -1, -1, -1, -1, 79, -1, -1, 68, 69,
|
97, -1, -1, -1, -1, -1, 103, 58, -1, -1,
|
||||||
70, -1, 50, 87, 88, -1, 145, -1, -1, 79,
|
-1, 108, -1, -1, -1, -1, 145, 68, 69, 70,
|
||||||
58, -1, -1, 97, -1, -1, -1, 87, -1, 103,
|
117, 118, -1, 120, -1, 50, -1, -1, 79, -1,
|
||||||
68, 69, 70, -1, 108, -1, -1, 97, -1, -1,
|
-1, -1, -1, 58, -1, -1, 87, -1, 135, -1,
|
||||||
-1, 79, -1, 103, 118, -1, 120, -1, 108, 87,
|
-1, -1, -1, 68, 69, 70, 97, -1, 145, -1,
|
||||||
-1, -1, -1, -1, -1, -1, -1, -1, 118, 97,
|
-1, -1, 103, -1, 79, -1, 107, 108, -1, -1,
|
||||||
120, -1, -1, -1, -1, 103, -1, -1, 50, 107,
|
-1, -1, 87, 88, -1, -1, 117, 118, 50, 120,
|
||||||
108, 145, -1, -1, -1, 135, 58, -1, -1, -1,
|
-1, -1, 97, -1, -1, -1, 58, -1, 103, -1,
|
||||||
118, -1, 120, -1, -1, 145, 68, 69, 70, -1,
|
-1, -1, -1, 108, -1, -1, 68, 69, 70, -1,
|
||||||
-1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
|
-1, -1, -1, 118, 145, 120, -1, 79, -1, -1,
|
||||||
-1, -1, -1, -1, -1, 87, -1, 145, -1, -1,
|
-1, -1, -1, -1, -1, 87, -1, -1, -1, -1,
|
||||||
-1, -1, -1, -1, -1, 97, -1, -1, -1, -1,
|
-1, -1, -1, -1, -1, 97, -1, -1, -1, -1,
|
||||||
-1, 103, -1, -1, -1, -1, 108, -1, -1, -1,
|
145, 103, -1, -1, -1, -1, 108, -1, -1, -1,
|
||||||
-1, -1, -1, -1, -1, -1, 118, -1, 120, -1,
|
-1, -1, -1, -1, -1, -1, 118, -1, 120, -1,
|
||||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
||||||
@ -2634,9 +2634,9 @@ static const yytype_uint16 yyr1[] =
|
|||||||
0, 150, 151, 151, 151, 152, 152, 152, 153, 153,
|
0, 150, 151, 151, 151, 152, 152, 152, 153, 153,
|
||||||
154, 154, 156, 155, 157, 157, 157, 157, 157, 157,
|
154, 154, 156, 155, 157, 157, 157, 157, 157, 157,
|
||||||
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
|
||||||
157, 157, 157, 157, 157, 157, 157, 157, 159, 158,
|
157, 157, 157, 157, 157, 157, 157, 159, 158, 160,
|
||||||
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
|
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
|
||||||
160, 160, 160, 160, 160, 161, 161, 162, 162, 163,
|
160, 160, 160, 160, 161, 161, 162, 162, 163, 163,
|
||||||
163, 163, 163, 165, 164, 166, 164, 167, 167, 168,
|
163, 163, 163, 165, 164, 166, 164, 167, 167, 168,
|
||||||
168, 170, 169, 171, 169, 169, 172, 172, 173, 173,
|
168, 170, 169, 171, 169, 169, 172, 172, 173, 173,
|
||||||
175, 174, 176, 174, 178, 177, 179, 177, 180, 177,
|
175, 174, 176, 174, 178, 177, 179, 177, 180, 177,
|
||||||
@ -2706,12 +2706,12 @@ static const yytype_uint16 yyr1[] =
|
|||||||
static const yytype_uint8 yyr2[] =
|
static const yytype_uint8 yyr2[] =
|
||||||
{
|
{
|
||||||
0, 2, 2, 2, 2, 1, 2, 2, 1, 3,
|
0, 2, 2, 2, 2, 1, 2, 2, 1, 3,
|
||||||
4, 4, 0, 5, 1, 1, 1, 1, 1, 1,
|
4, 4, 0, 5, 1, 1, 1, 1, 1, 2,
|
||||||
2, 1, 1, 2, 2, 2, 2, 7, 9, 11,
|
1, 1, 2, 2, 2, 2, 7, 9, 11, 9,
|
||||||
9, 11, 13, 9, 13, 9, 7, 5, 0, 3,
|
11, 13, 9, 13, 9, 7, 5, 0, 3, 1,
|
||||||
1, 2, 3, 2, 2, 2, 2, 2, 2, 2,
|
2, 3, 2, 2, 2, 2, 2, 2, 2, 2,
|
||||||
2, 2, 2, 2, 6, 1, 3, 1, 4, 1,
|
2, 2, 2, 6, 1, 3, 1, 4, 1, 3,
|
||||||
3, 3, 3, 0, 4, 0, 5, 2, 4, 2,
|
3, 3, 1, 0, 4, 0, 5, 2, 4, 2,
|
||||||
4, 0, 4, 0, 5, 3, 2, 4, 2, 4,
|
4, 0, 4, 0, 5, 3, 2, 4, 2, 4,
|
||||||
0, 6, 0, 6, 0, 7, 0, 11, 0, 12,
|
0, 6, 0, 6, 0, 7, 0, 11, 0, 12,
|
||||||
0, 8, 0, 9, 1, 1, 1, 2, 2, 2,
|
0, 8, 0, 9, 1, 1, 1, 2, 2, 2,
|
||||||
@ -3597,8 +3597,8 @@ yyreduce:
|
|||||||
#line 3598 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3598 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 21:
|
case 20:
|
||||||
#line 483 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 482 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
if (publish_nest_level != 0) {
|
if (publish_nest_level != 0) {
|
||||||
yyerror("Unclosed __begin_publish", publish_loc);
|
yyerror("Unclosed __begin_publish", publish_loc);
|
||||||
@ -3614,8 +3614,8 @@ yyreduce:
|
|||||||
#line 3615 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3615 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 22:
|
case 21:
|
||||||
#line 496 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 495 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
if (publish_nest_level != 1) {
|
if (publish_nest_level != 1) {
|
||||||
yyerror("Unmatched __end_publish", (yylsp[0]));
|
yyerror("Unmatched __end_publish", (yylsp[0]));
|
||||||
@ -3627,16 +3627,16 @@ yyreduce:
|
|||||||
#line 3628 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3628 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 23:
|
case 22:
|
||||||
#line 505 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 504 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
current_scope->set_current_vis(V_published);
|
current_scope->set_current_vis(V_published);
|
||||||
}
|
}
|
||||||
#line 3636 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3636 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 24:
|
case 23:
|
||||||
#line 509 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 508 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
if (publish_nest_level > 0) {
|
if (publish_nest_level > 0) {
|
||||||
current_scope->set_current_vis(V_published);
|
current_scope->set_current_vis(V_published);
|
||||||
@ -3647,24 +3647,24 @@ yyreduce:
|
|||||||
#line 3648 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3648 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 25:
|
case 24:
|
||||||
#line 517 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 516 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
current_scope->set_current_vis(V_protected);
|
current_scope->set_current_vis(V_protected);
|
||||||
}
|
}
|
||||||
#line 3656 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3656 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 26:
|
case 25:
|
||||||
#line 521 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 520 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
current_scope->set_current_vis(V_private);
|
current_scope->set_current_vis(V_private);
|
||||||
}
|
}
|
||||||
#line 3664 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3664 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 27:
|
case 26:
|
||||||
#line 525 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 524 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
|
|
||||||
CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *getter = (yyvsp[-2].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
@ -3678,8 +3678,8 @@ yyreduce:
|
|||||||
#line 3679 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3679 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 28:
|
case 27:
|
||||||
#line 536 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 535 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3703,8 +3703,8 @@ yyreduce:
|
|||||||
#line 3704 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3704 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 29:
|
case 28:
|
||||||
#line 557 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 556 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (getter == (CPPDeclaration *)NULL || getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3737,8 +3737,8 @@ yyreduce:
|
|||||||
#line 3738 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3738 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 30:
|
case 29:
|
||||||
#line 587 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 586 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3758,8 +3758,8 @@ yyreduce:
|
|||||||
#line 3759 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3759 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 31:
|
case 30:
|
||||||
#line 604 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 603 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *length_getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *length_getter = (yyvsp[-6].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3790,8 +3790,8 @@ yyreduce:
|
|||||||
#line 3791 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3791 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 32:
|
case 31:
|
||||||
#line 632 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 631 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *length_getter = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *length_getter = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3831,8 +3831,8 @@ yyreduce:
|
|||||||
#line 3832 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3832 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 33:
|
case 32:
|
||||||
#line 669 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 668 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *hasser = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *hasser = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (hasser == (CPPDeclaration *)NULL || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (hasser == (CPPDeclaration *)NULL || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3857,8 +3857,8 @@ yyreduce:
|
|||||||
#line 3858 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3858 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 34:
|
case 33:
|
||||||
#line 691 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 690 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *hasser = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *hasser = (yyvsp[-8].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (hasser == (CPPDeclaration *)NULL || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (hasser == (CPPDeclaration *)NULL || hasser->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3894,8 +3894,8 @@ yyreduce:
|
|||||||
#line 3895 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3895 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 35:
|
case 34:
|
||||||
#line 724 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 723 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
CPPDeclaration *length_getter = (yyvsp[-4].u.identifier)->find_symbol(current_scope, global_scope, current_lexer);
|
||||||
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
if (length_getter == (CPPDeclaration *)NULL || length_getter->get_subtype() != CPPDeclaration::ST_function_group) {
|
||||||
@ -3920,8 +3920,8 @@ yyreduce:
|
|||||||
#line 3921 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3921 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 36:
|
case 35:
|
||||||
#line 746 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 745 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate();
|
CPPExpression::Result result = (yyvsp[-4].u.expr)->evaluate();
|
||||||
if (result._type == CPPExpression::RT_error) {
|
if (result._type == CPPExpression::RT_error) {
|
||||||
@ -3935,8 +3935,8 @@ yyreduce:
|
|||||||
#line 3936 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3936 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 37:
|
case 36:
|
||||||
#line 757 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 756 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
// This alternative version of static_assert was introduced in C++17.
|
// This alternative version of static_assert was introduced in C++17.
|
||||||
CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate();
|
CPPExpression::Result result = (yyvsp[-2].u.expr)->evaluate();
|
||||||
@ -3949,8 +3949,8 @@ yyreduce:
|
|||||||
#line 3950 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3950 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 38:
|
case 37:
|
||||||
#line 770 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 769 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"),
|
CPPScope *new_scope = new CPPScope(current_scope, CPPNameComponent("temp"),
|
||||||
V_public);
|
V_public);
|
||||||
@ -3959,8 +3959,8 @@ yyreduce:
|
|||||||
#line 3960 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3960 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 39:
|
case 38:
|
||||||
#line 776 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 775 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
delete current_scope;
|
delete current_scope;
|
||||||
pop_scope();
|
pop_scope();
|
||||||
@ -3968,24 +3968,24 @@ yyreduce:
|
|||||||
#line 3969 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3969 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 40:
|
case 39:
|
||||||
#line 785 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 784 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = 0;
|
(yyval.u.integer) = 0;
|
||||||
}
|
}
|
||||||
#line 3977 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3977 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 41:
|
case 40:
|
||||||
#line 789 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 788 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
|
||||||
}
|
}
|
||||||
#line 3985 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 3985 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 42:
|
case 41:
|
||||||
#line 793 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 792 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern;
|
||||||
if ((yyvsp[-1].str) == "C") {
|
if ((yyvsp[-1].str) == "C") {
|
||||||
@ -3999,96 +3999,96 @@ yyreduce:
|
|||||||
#line 4000 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4000 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 43:
|
case 42:
|
||||||
#line 804 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 803 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static;
|
||||||
}
|
}
|
||||||
#line 4008 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4008 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 44:
|
case 43:
|
||||||
#line 808 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 807 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline;
|
||||||
}
|
}
|
||||||
#line 4016 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4016 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 45:
|
case 44:
|
||||||
#line 812 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 811 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual;
|
||||||
}
|
}
|
||||||
#line 4024 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4024 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 46:
|
case 45:
|
||||||
#line 816 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 815 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit;
|
||||||
}
|
}
|
||||||
#line 4032 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4032 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 47:
|
case 46:
|
||||||
#line 820 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 819 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register;
|
||||||
}
|
}
|
||||||
#line 4040 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4040 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 48:
|
case 47:
|
||||||
#line 824 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 823 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile;
|
||||||
}
|
}
|
||||||
#line 4048 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4048 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 49:
|
case 48:
|
||||||
#line 828 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 827 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable;
|
||||||
}
|
}
|
||||||
#line 4056 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4056 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 50:
|
case 49:
|
||||||
#line 832 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 831 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr;
|
||||||
}
|
}
|
||||||
#line 4064 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4064 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 51:
|
case 50:
|
||||||
#line 836 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 835 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking;
|
||||||
}
|
}
|
||||||
#line 4072 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4072 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 52:
|
case 51:
|
||||||
#line 840 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 839 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension;
|
||||||
}
|
}
|
||||||
#line 4080 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4080 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 53:
|
case 52:
|
||||||
#line 844 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 843 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local;
|
(yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local;
|
||||||
}
|
}
|
||||||
#line 4088 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4088 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 54:
|
case 53:
|
||||||
#line 848 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 847 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
// Ignore attribute specifiers for now.
|
// Ignore attribute specifiers for now.
|
||||||
(yyval.u.integer) = (yyvsp[0].u.integer);
|
(yyval.u.integer) = (yyvsp[0].u.integer);
|
||||||
@ -4096,16 +4096,16 @@ yyreduce:
|
|||||||
#line 4097 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4097 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 59:
|
case 58:
|
||||||
#line 866 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 865 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
/* multiple_var_declaration adds itself to the scope. */
|
/* multiple_var_declaration adds itself to the scope. */
|
||||||
}
|
}
|
||||||
#line 4105 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4105 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 60:
|
case 59:
|
||||||
#line 870 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 869 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
// We don't really care about the storage class here. In fact, it's
|
// We don't really care about the storage class here. In fact, it's
|
||||||
// not actually legal to define a class or struct using a particular
|
// not actually legal to define a class or struct using a particular
|
||||||
@ -4117,8 +4117,8 @@ yyreduce:
|
|||||||
#line 4118 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4118 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 61:
|
case 60:
|
||||||
#line 879 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 878 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
|
if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
|
||||||
(yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
|
(yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
|
||||||
@ -4129,8 +4129,8 @@ yyreduce:
|
|||||||
#line 4130 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
#line 4130 "built/tmp/cppBison.yxx.c" /* yacc.c:1646 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 62:
|
case 61:
|
||||||
#line 887 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
#line 886 "dtool/src/cppparser/cppBison.yxx" /* yacc.c:1646 */
|
||||||
{
|
{
|
||||||
if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
|
if ((yyvsp[-1].u.instance) != (CPPInstance *)NULL) {
|
||||||
(yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
|
(yyvsp[-1].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-2].u.integer));
|
||||||
|
@ -476,7 +476,6 @@ declaration:
|
|||||||
| template_declaration
|
| template_declaration
|
||||||
| extern_c
|
| extern_c
|
||||||
| namespace_declaration
|
| namespace_declaration
|
||||||
| using_declaration
|
|
||||||
| friend_declaration
|
| friend_declaration
|
||||||
| KW_TYPEDEF typedef_declaration
|
| KW_TYPEDEF typedef_declaration
|
||||||
| KW_BEGIN_PUBLISH
|
| KW_BEGIN_PUBLISH
|
||||||
@ -891,6 +890,7 @@ type_like_declaration:
|
|||||||
$2->set_initializer($3);
|
$2->set_initializer($3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
| using_declaration
|
||||||
;
|
;
|
||||||
|
|
||||||
multiple_var_declaration:
|
multiple_var_declaration:
|
||||||
|
@ -133,6 +133,66 @@ add_enum_value(CPPInstance *inst) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void CPPScope::
|
||||||
|
define_typedef_type(CPPTypedefType *type, CPPPreprocessor *error_sink) {
|
||||||
|
string name = type->get_simple_name();
|
||||||
|
|
||||||
|
pair<Types::iterator, bool> result =
|
||||||
|
_types.insert(Types::value_type(name, type));
|
||||||
|
|
||||||
|
if (!result.second) {
|
||||||
|
CPPType *other_type = result.first->second;
|
||||||
|
CPPTypedefType *other_td = other_type->as_typedef_type();
|
||||||
|
|
||||||
|
// We don't do redefinitions of typedefs. But we don't complain as long
|
||||||
|
// as this is actually a typedef to the previous definition.
|
||||||
|
if (other_type != type->_type &&
|
||||||
|
(other_td == NULL || !other_td->_type->is_equivalent(*type->_type))) {
|
||||||
|
|
||||||
|
if (error_sink != NULL) {
|
||||||
|
ostringstream errstr;
|
||||||
|
type->output(errstr, 0, NULL, false);
|
||||||
|
errstr << " has conflicting declaration as ";
|
||||||
|
other_type->output(errstr, 0, NULL, true);
|
||||||
|
error_sink->error(errstr.str(), type->_ident->_loc);
|
||||||
|
error_sink->error("previous definition is here",
|
||||||
|
other_td->_ident->_loc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
_types[name] = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This might be a templated "using" definition.
|
||||||
|
if (type->is_template()) {
|
||||||
|
CPPTemplateScope *scope = type->get_template_scope();
|
||||||
|
if (scope->_parameters._parameters.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string simple_name = type->get_simple_name();
|
||||||
|
|
||||||
|
pair<Templates::iterator, bool> result =
|
||||||
|
_templates.insert(Templates::value_type(simple_name, type));
|
||||||
|
|
||||||
|
if (!result.second) {
|
||||||
|
// The template was not inserted because we already had a template
|
||||||
|
// definition with the given name. If the previous definition was
|
||||||
|
// incomplete, replace it.
|
||||||
|
CPPDeclaration *old_templ = (*result.first).second;
|
||||||
|
CPPType *old_templ_type = old_templ->as_type();
|
||||||
|
if (old_templ_type == NULL || old_templ_type->is_incomplete()) {
|
||||||
|
// The previous template definition was incomplete, maybe a forward
|
||||||
|
// reference; replace it with the good one.
|
||||||
|
(*result.first).second = type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -1035,39 +1095,12 @@ handle_declaration(CPPDeclaration *decl, CPPScope *global_scope,
|
|||||||
CPPPreprocessor *error_sink) {
|
CPPPreprocessor *error_sink) {
|
||||||
CPPTypedefType *def = decl->as_typedef_type();
|
CPPTypedefType *def = decl->as_typedef_type();
|
||||||
if (def != NULL) {
|
if (def != NULL) {
|
||||||
string name = def->get_simple_name();
|
define_typedef_type(def, error_sink);
|
||||||
|
|
||||||
pair<Types::iterator, bool> result =
|
|
||||||
_types.insert(Types::value_type(name, def));
|
|
||||||
|
|
||||||
if (!result.second) {
|
|
||||||
CPPType *other_type = result.first->second;
|
|
||||||
CPPTypedefType *other_td = other_type->as_typedef_type();
|
|
||||||
|
|
||||||
// We don't do redefinitions of typedefs. But we don't complain as long
|
|
||||||
// as this is actually a typedef to the previous definition.
|
|
||||||
if (other_type != def->_type &&
|
|
||||||
(other_td == NULL || !other_td->_type->is_equivalent(*def->_type))) {
|
|
||||||
|
|
||||||
if (error_sink != NULL) {
|
|
||||||
ostringstream errstr;
|
|
||||||
def->output(errstr, 0, NULL, false);
|
|
||||||
errstr << " has conflicting declaration as ";
|
|
||||||
other_type->output(errstr, 0, NULL, true);
|
|
||||||
error_sink->error(errstr.str(), def->_ident->_loc);
|
|
||||||
error_sink->error("previous definition is here",
|
|
||||||
other_td->_ident->_loc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_types[name] = def;
|
|
||||||
}
|
|
||||||
|
|
||||||
CPPExtensionType *et = def->_type->as_extension_type();
|
CPPExtensionType *et = def->_type->as_extension_type();
|
||||||
if (et != NULL) {
|
if (et != NULL) {
|
||||||
define_extension_type(et, error_sink);
|
define_extension_type(et, error_sink);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,6 +62,8 @@ public:
|
|||||||
CPPPreprocessor *preprocessor,
|
CPPPreprocessor *preprocessor,
|
||||||
const cppyyltype &pos);
|
const cppyyltype &pos);
|
||||||
virtual void add_enum_value(CPPInstance *inst);
|
virtual void add_enum_value(CPPInstance *inst);
|
||||||
|
virtual void define_typedef_type(CPPTypedefType *type,
|
||||||
|
CPPPreprocessor *error_sink = NULL);
|
||||||
virtual void define_extension_type(CPPExtensionType *type,
|
virtual void define_extension_type(CPPExtensionType *type,
|
||||||
CPPPreprocessor *error_sink = NULL);
|
CPPPreprocessor *error_sink = NULL);
|
||||||
virtual void define_namespace(CPPNamespace *scope);
|
virtual void define_namespace(CPPNamespace *scope);
|
||||||
|
@ -674,7 +674,7 @@ substitute_decl(CPPDeclaration::SubstDecl &subst,
|
|||||||
|
|
||||||
// If the struct name didn't have an explicit template reference
|
// If the struct name didn't have an explicit template reference
|
||||||
// before, now it does.
|
// before, now it does.
|
||||||
if (!_ident->_names.empty() && !_ident->_names.back().has_templ()) {
|
if (_ident != NULL && !_ident->_names.empty() && !_ident->_names.back().has_templ()) {
|
||||||
if (rep->is_template()) {
|
if (rep->is_template()) {
|
||||||
rep->_template_scope = (CPPTemplateScope *)NULL;
|
rep->_template_scope = (CPPTemplateScope *)NULL;
|
||||||
CPPNameComponent nc(get_simple_name());
|
CPPNameComponent nc(get_simple_name());
|
||||||
|
@ -49,6 +49,16 @@ add_enum_value(CPPInstance *inst) {
|
|||||||
_parent_scope->add_enum_value(inst);
|
_parent_scope->add_enum_value(inst);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
void CPPTemplateScope::
|
||||||
|
define_typedef_type(CPPTypedefType *type, CPPPreprocessor *error_sink) {
|
||||||
|
type->_template_scope = this;
|
||||||
|
assert(_parent_scope != NULL);
|
||||||
|
_parent_scope->define_typedef_type(type, error_sink);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -34,6 +34,8 @@ public:
|
|||||||
CPPPreprocessor *preprocessor,
|
CPPPreprocessor *preprocessor,
|
||||||
const cppyyltype &pos);
|
const cppyyltype &pos);
|
||||||
virtual void add_enum_value(CPPInstance *inst);
|
virtual void add_enum_value(CPPInstance *inst);
|
||||||
|
virtual void define_typedef_type(CPPTypedefType *type,
|
||||||
|
CPPPreprocessor *error_sink = NULL);
|
||||||
virtual void define_extension_type(CPPExtensionType *type,
|
virtual void define_extension_type(CPPExtensionType *type,
|
||||||
CPPPreprocessor *error_sink = NULL);
|
CPPPreprocessor *error_sink = NULL);
|
||||||
virtual void define_namespace(CPPNamespace *scope);
|
virtual void define_namespace(CPPNamespace *scope);
|
||||||
|
@ -193,6 +193,17 @@ is_fully_specified() const {
|
|||||||
_type->is_fully_specified();
|
_type->is_fully_specified();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
CPPDeclaration *CPPTypedefType::
|
||||||
|
instantiate(const CPPTemplateParameterList *actual_params,
|
||||||
|
CPPScope *current_scope, CPPScope *global_scope,
|
||||||
|
CPPPreprocessor *error_sink) const {
|
||||||
|
|
||||||
|
return _type->instantiate(actual_params, current_scope, global_scope, error_sink);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -320,6 +331,10 @@ output(ostream &out, int indent_level, CPPScope *scope, bool complete) const {
|
|||||||
if (complete) {
|
if (complete) {
|
||||||
if (_using) {
|
if (_using) {
|
||||||
// It was declared using the "using" keyword.
|
// It was declared using the "using" keyword.
|
||||||
|
if (is_template()) {
|
||||||
|
get_template_scope()->_parameters.write_formal(out, scope);
|
||||||
|
indent(out, indent_level);
|
||||||
|
}
|
||||||
out << "using " << name << " = ";
|
out << "using " << name << " = ";
|
||||||
_type->output(out, 0, scope, false);
|
_type->output(out, 0, scope, false);
|
||||||
} else {
|
} else {
|
||||||
|
@ -21,7 +21,9 @@ class CPPIdentifier;
|
|||||||
class CPPInstanceIdentifier;
|
class CPPInstanceIdentifier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* A type alias created by a C++ typedef or using declaration. These aren't
|
||||||
|
* officially supposed to be types in themselves, but we represent them as
|
||||||
|
* such so that we can preserve typedef names in the generated code.
|
||||||
*/
|
*/
|
||||||
class CPPTypedefType : public CPPType {
|
class CPPTypedefType : public CPPType {
|
||||||
public:
|
public:
|
||||||
@ -46,6 +48,11 @@ public:
|
|||||||
|
|
||||||
virtual bool is_fully_specified() const;
|
virtual bool is_fully_specified() const;
|
||||||
|
|
||||||
|
virtual CPPDeclaration *
|
||||||
|
instantiate(const CPPTemplateParameterList *actual_params,
|
||||||
|
CPPScope *current_scope, CPPScope *global_scope,
|
||||||
|
CPPPreprocessor *error_sink = NULL) const;
|
||||||
|
|
||||||
virtual CPPDeclaration *substitute_decl(SubstDecl &subst,
|
virtual CPPDeclaration *substitute_decl(SubstDecl &subst,
|
||||||
CPPScope *current_scope,
|
CPPScope *current_scope,
|
||||||
CPPScope *global_scope);
|
CPPScope *global_scope);
|
||||||
|
@ -1167,8 +1167,10 @@ scan_typedef_type(CPPTypedefType *type) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// A typedef cannot be a template declaration.
|
if (type->is_template()) {
|
||||||
assert(!type->is_template());
|
// The type is a template declaration, not a true type.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (type->_file.is_c_file()) {
|
if (type->_file.is_c_file()) {
|
||||||
// This type declaration appears in a .C file. We can only export types
|
// This type declaration appears in a .C file. We can only export types
|
||||||
|
Loading…
x
Reference in New Issue
Block a user