| 1525 | } |
| 1526 | |
| 1527 | bool |
| 1528 | Type::match(const Type* t, enum eMatchType mt) const |
| 1529 | { |
| 1530 | switch (mt) { |
| 1531 | case eExact: return (this == t); |
| 1532 | case eConvert: return is_convertable(t); |
| 1533 | case eDereference: return is_dereferenced_from(t); |
| 1534 | case eDerefExact: return (t == this || is_dereferenced_from(t)); |
| 1535 | case eFlexible: return is_derivable(t); |
| 1536 | default: break; |
| 1537 | } |
| 1538 | return false; |
| 1539 | } |
| 1540 | |
| 1541 | // --------------------------------------------------------------------- |
| 1542 | /* return true if this type can be derived from the given type |
no outgoing calls
no test coverage detected