| 21 | } |
| 22 | |
| 23 | std::pair<Node*, DataType*> Node::physical_type(SymbolDatabase& database, s32 max_depth) |
| 24 | { |
| 25 | Node* type = this; |
| 26 | DataType* symbol = nullptr; |
| 27 | for(s32 i = 0; i < max_depth && type->descriptor == TYPE_NAME; i++) { |
| 28 | DataType* data_type = database.data_types.symbol_from_handle(type->as<TypeName>().data_type_handle); |
| 29 | if (!data_type || !data_type->type()) { |
| 30 | break; |
| 31 | } |
| 32 | |
| 33 | type = data_type->type(); |
| 34 | symbol = data_type; |
| 35 | } |
| 36 | |
| 37 | return std::pair(type, symbol); |
| 38 | } |
| 39 | |
| 40 | std::pair<const Node*, const DataType*> Node::physical_type(const SymbolDatabase& database, s32 max_depth) const |
| 41 | { |
no test coverage detected