|
51 | 51 | $1 = odb::dbOrientType::Value::MX; |
52 | 52 | } else if (strcasecmp(str, "MXR90") == 0) { |
53 | 53 | $1 = odb::dbOrientType::Value::MXR90; |
| 54 | + } else { |
| 55 | + SWIG_exception(SWIG_ValueError, "Unknown orientation"); |
54 | 56 | } |
55 | | -} |
| 57 | + } |
56 | 58 | %typemap(typecheck) odb::dbOrientType, dbOrientType { |
57 | 59 | char *str = Tcl_GetStringFromObj($input, 0); |
58 | 60 | bool found = false; |
|
129 | 131 | $1 = odb::dbSigType::Value::SCAN; |
130 | 132 | } else if (strcasecmp(str, "TIEOFF") == 0) { |
131 | 133 | $1 = odb::dbSigType::Value::TIEOFF; |
| 134 | + } else { |
| 135 | + SWIG_exception(SWIG_ValueError, "Unknown signal type"); |
132 | 136 | } |
133 | 137 | } |
134 | 138 | %typemap(typecheck) odb::dbSigType, dbSigType { |
|
187 | 191 | $1 = odb::dbIoType::Value::INOUT; |
188 | 192 | } else if (strcasecmp(str, "FEEDTHRU") == 0) { |
189 | 193 | $1 = odb::dbIoType::Value::FEEDTHRU; |
| 194 | + } else { |
| 195 | + SWIG_exception(SWIG_ValueError, "Unknown io type"); |
190 | 196 | } |
191 | 197 | } |
192 | 198 | %typemap(typecheck) odb::dbIoType, dbIoType { |
|
237 | 243 | $1 = odb::dbMTermShapeType::Value::FEEDTHRU; |
238 | 244 | } else if (strcasecmp(str, "ABUTMENT") == 0) { |
239 | 245 | $1 = odb::dbMTermShapeType::Value::ABUTMENT; |
| 246 | + } else { |
| 247 | + SWIG_exception(SWIG_ValueError, "Unknown shape type"); |
240 | 248 | } |
241 | 249 | } |
242 | 250 | %typemap(typecheck) odb::dbMTermShapeType, dbMTermShapeType { |
|
303 | 311 | $1 = odb::dbPlacementStatus::Value::FIRM; |
304 | 312 | } else if (strcasecmp(str, "COVER") == 0) { |
305 | 313 | $1 = odb::dbPlacementStatus::Value::COVER; |
| 314 | + } else { |
| 315 | + SWIG_exception(SWIG_ValueError, "Unknown placement status"); |
306 | 316 | } |
307 | 317 | } |
308 | 318 | %typemap(typecheck) odb::dbPlacementStatus, dbPlacementStatus { |
|
534 | 544 | $1 = odb::dbMasterType::Value::ENDCAP_LEF58_RIGHTTOPCORNER; |
535 | 545 | } else if (strcasecmp(str, "ENDCAP_LEF58_LEFTTOPCORNER") == 0) { |
536 | 546 | $1 = odb::dbMasterType::Value::ENDCAP_LEF58_LEFTTOPCORNER; |
| 547 | + } else { |
| 548 | + SWIG_exception(SWIG_ValueError, "Unknown master type"); |
537 | 549 | } |
538 | 550 | } |
539 | 551 | %typemap(typecheck) odb::dbMasterType, dbMasterType { |
|
731 | 743 | $1 = odb::dbTechLayerType::Value::IMPLANT; |
732 | 744 | } else if (strcasecmp(str, "NONE") == 0) { |
733 | 745 | $1 = odb::dbTechLayerType::Value::NONE; |
| 746 | + } else { |
| 747 | + SWIG_exception(SWIG_ValueError, "Unknown layer type"); |
734 | 748 | } |
735 | 749 | } |
736 | 750 | %typemap(in) odb::dbTechLayer::LEF58_TYPE, dbTechLayer::LEF58_TYPE { |
|
774 | 788 | $1 = odb::dbTechLayer::LEF58_TYPE::PADMETAL; |
775 | 789 | } else if (strcasecmp(str, "POLYROUTING") == 0) { |
776 | 790 | $1 = odb::dbTechLayer::LEF58_TYPE::POLYROUTING; |
| 791 | + } else { |
| 792 | + SWIG_exception(SWIG_ValueError, "Unknown lef58 layer type"); |
777 | 793 | } |
778 | 794 | } |
779 | 795 | %typemap(typecheck) odb::dbTechLayerType, dbTechLayerType { |
|
875 | 891 | $1 = odb::dbTechLayerDir::Value::HORIZONTAL; |
876 | 892 | } else if (strcasecmp(str, "VERTICAL") == 0) { |
877 | 893 | $1 = odb::dbTechLayerDir::Value::VERTICAL; |
| 894 | + } else { |
| 895 | + SWIG_exception(SWIG_ValueError, "Unknown layer dir"); |
878 | 896 | } |
879 | 897 | } |
880 | 898 | %typemap(typecheck) odb::dbTechLayerDir, dbTechLayerDir { |
|
913 | 931 | $1 = odb::dbRowDir::Value::HORIZONTAL; |
914 | 932 | } else if (strcasecmp(str, "VERTICAL") == 0) { |
915 | 933 | $1 = odb::dbRowDir::Value::VERTICAL; |
| 934 | + } else { |
| 935 | + SWIG_exception(SWIG_ValueError, "Unknown row dir"); |
916 | 936 | } |
917 | 937 | } |
918 | 938 | %typemap(typecheck) odb::dbRowDir, dbRowDir { |
|
1009 | 1029 | $1 = odb::dbBoxOwner::Value::BPIN; |
1010 | 1030 | } else if (strcasecmp(str, "PBOX") == 0) { |
1011 | 1031 | $1 = odb::dbBoxOwner::Value::PBOX; |
| 1032 | + } else { |
| 1033 | + SWIG_exception(SWIG_ValueError, "Unknown box owner"); |
1012 | 1034 | } |
1013 | 1035 | } |
1014 | 1036 | %typemap(typecheck) odb::dbBoxOwner, dbBoxOwner { |
|
1079 | 1101 | $1 = odb::dbPolygonOwner::Value::OBSTRUCTION; |
1080 | 1102 | } else if (strcasecmp(str, "SWIRE") == 0) { |
1081 | 1103 | $1 = odb::dbPolygonOwner::Value::SWIRE; |
| 1104 | + } else { |
| 1105 | + SWIG_exception(SWIG_ValueError, "Unknown polygon owner"); |
1082 | 1106 | } |
1083 | 1107 | } |
1084 | 1108 | %typemap(typecheck) odb::dbPolygonOwner, dbPolygonOwner { |
|
1139 | 1163 | $1 = odb::dbWireType::Value::SHIELD; |
1140 | 1164 | } else if (strcasecmp(str, "NOSHIELD") == 0) { |
1141 | 1165 | $1 = odb::dbWireType::Value::NOSHIELD; |
| 1166 | + } else { |
| 1167 | + SWIG_exception(SWIG_ValueError, "Unknown wire type"); |
1142 | 1168 | } |
1143 | 1169 | } |
1144 | 1170 | %typemap(typecheck) odb::dbWireType, dbWireType { |
|
1233 | 1259 | $1 = odb::dbWireShapeType::Value::FILLWIRE; |
1234 | 1260 | } else if (strcasecmp(str, "DRCFILL") == 0) { |
1235 | 1261 | $1 = odb::dbWireShapeType::Value::DRCFILL; |
| 1262 | + } else { |
| 1263 | + SWIG_exception(SWIG_ValueError, "Unknown wire shape type"); |
1236 | 1264 | } |
1237 | 1265 | } |
1238 | 1266 | %typemap(typecheck) odb::dbWireShapeType, dbWireShapeType { |
|
1294 | 1322 | $1 = odb::dbSiteClass::Value::PAD; |
1295 | 1323 | } else if (strcasecmp(str, "CORE") == 0) { |
1296 | 1324 | $1 = odb::dbSiteClass::Value::CORE; |
| 1325 | + } else { |
| 1326 | + SWIG_exception(SWIG_ValueError, "Unknown site clas"); |
1297 | 1327 | } |
1298 | 1328 | } |
1299 | 1329 | %typemap(typecheck) odb::dbSiteClass, dbSiteClass { |
|
1332 | 1362 | $1 = odb::dbOnOffType::Value::OFF; |
1333 | 1363 | } else if (strcasecmp(str, "ON") == 0) { |
1334 | 1364 | $1 = odb::dbOnOffType::Value::ON; |
| 1365 | + } else { |
| 1366 | + SWIG_exception(SWIG_ValueError, "Unknown on-off type"); |
1335 | 1367 | } |
1336 | 1368 | } |
1337 | 1369 | %typemap(typecheck) odb::dbOnOffType, dbOnOffType { |
|
1368 | 1400 | $1 = odb::dbClMeasureType::Value::EUCLIDEAN; |
1369 | 1401 | } else if (strcasecmp(str, "MAXXY") == 0) { |
1370 | 1402 | $1 = odb::dbClMeasureType::Value::MAXXY; |
| 1403 | + } else { |
| 1404 | + SWIG_exception(SWIG_ValueError, "Unknown measure type"); |
1371 | 1405 | } |
1372 | 1406 | } |
1373 | 1407 | %typemap(typecheck) odb::dbClMeasureType, dbClMeasureType { |
|
1414 | 1448 | $1 = odb::dbJournalEntryType::Value::ADD; |
1415 | 1449 | } else if (strcasecmp(str, "DESTROY") == 0) { |
1416 | 1450 | $1 = odb::dbJournalEntryType::Value::DESTROY; |
| 1451 | + } else { |
| 1452 | + SWIG_exception(SWIG_ValueError, "Unknown journal entry"); |
1417 | 1453 | } |
1418 | 1454 | } |
1419 | 1455 | %typemap(typecheck) odb::dbJournalEntryType, dbJournalEntryType { |
|
1479 | 1515 | $1 = odb::dbDirection::Value::UP; |
1480 | 1516 | } else if (strcasecmp(str, "DOWN") == 0) { |
1481 | 1517 | $1 = odb::dbDirection::Value::DOWN; |
| 1518 | + } else { |
| 1519 | + SWIG_exception(SWIG_ValueError, "Unknown direction"); |
1482 | 1520 | } |
1483 | 1521 | } |
1484 | 1522 | %typemap(typecheck) odb::dbDirection, dbDirection { |
|
1530 | 1568 | $1 = odb::dbRegionType::Value::EXCLUSIVE; |
1531 | 1569 | } else if (strcasecmp(str, "SUGGESTED") == 0) { |
1532 | 1570 | $1 = odb::dbRegionType::Value::SUGGESTED; |
| 1571 | + } else { |
| 1572 | + SWIG_exception(SWIG_ValueError, "Unknown region type"); |
1533 | 1573 | } |
1534 | 1574 | } |
1535 | 1575 | %typemap(typecheck) odb::dbRegionType, dbRegionType { |
|
1588 | 1628 | $1 = odb::dbSourceType::Value::TIMING; |
1589 | 1629 | } else if (strcasecmp(str, "TEST") == 0) { |
1590 | 1630 | $1 = odb::dbSourceType::Value::TEST; |
| 1631 | + } else { |
| 1632 | + SWIG_exception(SWIG_ValueError, "Unknown source type"); |
1591 | 1633 | } |
1592 | 1634 | } |
1593 | 1635 | %typemap(typecheck) odb::dbSourceType, dbSourceType { |
|
1642 | 1684 | $1 = odb::dbGroupType::POWER_DOMAIN; |
1643 | 1685 | } else if (strcasecmp(str, "VISUAL_DEBUG") == 0) { |
1644 | 1686 | $1 = odb::dbGroupType::VISUAL_DEBUG; |
| 1687 | + } else { |
| 1688 | + SWIG_exception(SWIG_ValueError, "Unknown group type"); |
1645 | 1689 | } |
1646 | 1690 | } |
1647 | 1691 | %typemap(typecheck) odb::dbGroupType, dbGroupType { |
|
1690 | 1734 | $1 = odb::dbTechLayerCutSpacingTableDefRule::LOOKUP_STRATEGY::SECOND; |
1691 | 1735 | } else if (strcasecmp(str, "MAX") == 0) { |
1692 | 1736 | $1 = odb::dbTechLayerCutSpacingTableDefRule::LOOKUP_STRATEGY::MAX; |
1693 | | - } else { |
| 1737 | + } else if (strcasecmp(str, "MIN") == 0) { |
1694 | 1738 | $1 = odb::dbTechLayerCutSpacingTableDefRule::LOOKUP_STRATEGY::MIN; |
| 1739 | + } else { |
| 1740 | + SWIG_exception(SWIG_ValueError, "Unknown lookup strategy"); |
1695 | 1741 | } |
1696 | 1742 | } |
1697 | 1743 | %typemap(typecheck) odb::dbTechLayerCutSpacingTableDefRule::LOOKUP_STRATEGY, dbTechLayerCutSpacingTableDefRule_LOOKUP_STRATEGY { |
|
0 commit comments