| 6503 | } |
| 6504 | |
| 6505 | static String WrapWithModifiers(const StringImpl& origName, DbgType* dbgType, DbgLanguage language) |
| 6506 | { |
| 6507 | if (language == DbgLanguage_Unknown) |
| 6508 | language = dbgType->GetLanguage(); |
| 6509 | |
| 6510 | String name = origName; |
| 6511 | while (true) |
| 6512 | { |
| 6513 | if (dbgType->mTypeCode == DbgType_Const) |
| 6514 | { |
| 6515 | if (language == DbgLanguage_Beef) |
| 6516 | name = "readonly " + name; |
| 6517 | else |
| 6518 | name = "const " + name; |
| 6519 | dbgType = dbgType->mTypeParam; |
| 6520 | } |
| 6521 | else if (dbgType->mTypeCode == DbgType_Volatile) |
| 6522 | { |
| 6523 | name = "volatile " + name; |
| 6524 | dbgType = dbgType->mTypeParam; |
| 6525 | } |
| 6526 | else if (dbgType->mTypeCode == DbgType_TypeDef) |
| 6527 | { |
| 6528 | dbgType = dbgType->mTypeParam; |
| 6529 | } |
| 6530 | else if (dbgType->mTypeCode == DbgType_Ref) |
| 6531 | { |
| 6532 | if (language == DbgLanguage_Beef) |
| 6533 | name = "ref " + name; |
| 6534 | else |
| 6535 | name = name + "&"; |
| 6536 | dbgType = dbgType->mTypeParam; |
| 6537 | } |
| 6538 | else if (dbgType->mTypeCode == DbgType_Bitfield) |
| 6539 | { |
| 6540 | return dbgType->ToString(language); |
| 6541 | } |
| 6542 | else |
| 6543 | return name; |
| 6544 | } |
| 6545 | } |
| 6546 | |
| 6547 | DebugVisualizerEntry* WinDebugger::FindVisualizerForType(DbgType* dbgType, Array<String>* wildcardCaptures) |
| 6548 | { |
no test coverage detected