зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1774290 - Add Visual Studio visualizers for Maybe and Result r=mvollmer DONTBUILD
These types aren't handled very helpfully by Visual Studio's default visualizer. Fortunately it's not difficult to write custom visualizers for them. This does not handle most flavors of `ResultImplementation` -- only the one that the present author found most immediately useful. Handling them is not difficult, but merely tedious; they are left to future authors to deal with as needed. Differential Revision: https://phabricator.services.mozilla.com/D149320
This commit is contained in:
Родитель
6799a67305
Коммит
227ef619af
|
@ -3,6 +3,28 @@
|
|||
|
||||
<!-- Mozilla Gecko Visualizers -->
|
||||
|
||||
<Type Name="mozilla::Maybe<*>">
|
||||
<DisplayString Condition="mIsSome == false">Nothing</DisplayString>
|
||||
<DisplayString Condition="mIsSome == true">Some({*($T1 *)&mStorage.val})</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="mIsSome == true">*($T1 *)&mStorage.val</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<Type Name="mozilla::Result<*,*>">
|
||||
<DisplayString>{mImpl}</DisplayString>
|
||||
</Type>
|
||||
|
||||
<Type Name="mozilla::detail::ResultImplementation<*,*,mozilla::detail::PackingStrategy::Variant>">
|
||||
<DisplayString Condition="mStorage.tag == false">ok: {*($T1 *)(mStorage.rawData)}</DisplayString>
|
||||
<DisplayString Condition="mStorage.tag == true">err: {*($T2 *)(mStorage.rawData)}</DisplayString>
|
||||
<DisplayString>%% invalid storage tag in variant %%</DisplayString>
|
||||
<Expand>
|
||||
<ExpandedItem Condition="mStorage.tag == false">*($T1 *)(mStorage.rawData)</ExpandedItem>
|
||||
<ExpandedItem Condition="mStorage.tag == true">*($T2 *)(mStorage.rawData)</ExpandedItem>
|
||||
</Expand>
|
||||
</Type>
|
||||
|
||||
<!-- nsTArray -->
|
||||
<Type Name="nsTArray<*>">
|
||||
<DisplayString Condition="mHdr->mLength == 0 && mHdr->mCapacity == 0">empty</DisplayString>
|
||||
|
|
Загрузка…
Ссылка в новой задаче