From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0

---
 QtVsTools.Package/qt5.natvis.xml |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/QtVsTools.Package/qt5.natvis.xml b/QtVsTools.Package/qt5.natvis.xml
index 237fbd9..fc3e557 100644
--- a/QtVsTools.Package/qt5.natvis.xml
+++ b/QtVsTools.Package/qt5.natvis.xml
@@ -224,14 +224,41 @@
     </Type>
 
     <Type Name="##NAMESPACE##::QString">
-        <DisplayString>{((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),sub}</DisplayString>
-        <StringView>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),sub</StringView>
+        <DisplayString>{((reinterpret_cast&lt;unsigned short*&gt;(d)) + d-&gt;offset / 2),sub}</DisplayString>
+        <StringView>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d-&gt;offset / 2),sub</StringView>
         <Expand>
             <Item Name="[size]">d-&gt;size</Item>
             <Item Name="[referenced]">d-&gt;ref.atomic._q_value</Item>
             <ArrayItems>
                 <Size>d-&gt;size</Size>
-                <ValuePointer>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d->offset / 2),c</ValuePointer>
+                <ValuePointer>((reinterpret_cast&lt;unsigned short*&gt;(d)) + d-&gt;offset / 2),c</ValuePointer>
+            </ArrayItems>
+        </Expand>
+    </Type>
+
+    <Type Name="##NAMESPACE##::QStringRef">
+        <Intrinsic Name="offset" Expression="(reinterpret_cast&lt;char16_t*&gt;(m_string-&gt;d))
+            + m_string-&gt;d->offset / 2" />
+        <DisplayString Condition="m_string == nullptr">{m_string,[m_size]} u""</DisplayString>
+        <DisplayString Condition="m_string != nullptr">{offset() + m_position,[m_size]}</DisplayString>
+        <Expand>
+            <Item Name="[position]" ExcludeView="simple">m_position</Item>
+            <Item Name="[size]" ExcludeView="simple">m_size</Item>
+            <ArrayItems Condition="m_string != nullptr">
+                <Size>m_size</Size>
+                <ValuePointer>offset()+m_position</ValuePointer>
+            </ArrayItems>
+        </Expand>
+    </Type>
+
+    <Type Name="##NAMESPACE##::QStringView">
+        <DisplayString>{m_data,[m_size]}</DisplayString>
+        <StringView>m_data,[m_size]</StringView>
+        <Expand>
+            <Item Name="[size]" ExcludeView="simple">m_size</Item>
+            <ArrayItems>
+                <Size>m_size</Size>
+                <ValuePointer>m_data</ValuePointer>
             </ArrayItems>
         </Expand>
     </Type>
@@ -264,8 +291,8 @@
         <Intrinsic Name="query" Expression="*((QString*)(((char*)(d) + memberOffset(5))))" />
         <Intrinsic Name="fragment" Expression="*((QString*)(((char*)(d) + memberOffset(6))))" />
 
-        <DisplayString Condition="!isEmpty(scheme().d->size)">{scheme()}://{host()}{path()}</DisplayString>
-        <DisplayString Condition="isEmpty(scheme().d->size)">{path()}</DisplayString>
+        <DisplayString Condition="!isEmpty(scheme().d-&gt;size)">{scheme()}://{host()}{path()}</DisplayString>
+        <DisplayString Condition="isEmpty(scheme().d-&gt;size)">{path()}</DisplayString>
         <Expand>
             <Item Name="[scheme]">scheme()</Item>
             <Item Name="[username]">username()</Item>
@@ -424,8 +451,8 @@
             <IndexListItems>
                 <Size>d-&gt;end - d-&gt;begin</Size>
                 <ValueNode>*reinterpret_cast&lt;$T1*&gt;((sizeof($T1) &gt; sizeof(void*))
-                    ? reinterpret_cast&lt;Node*&gt;(d->array + d->begin + $i)->v
-                    : reinterpret_cast&lt;$T1*&gt;(d->array + d->begin + $i))
+                    ? reinterpret_cast&lt;Node*&gt;(d-&gt;array + d-&gt;begin + $i)-&gt;v
+                    : reinterpret_cast&lt;$T1*&gt;(d-&gt;array + d-&gt;begin + $i))
                 </ValueNode>
             </IndexListItems>
         </Expand>
@@ -439,8 +466,8 @@
                 <Size>d-&gt;end - d-&gt;begin</Size>
                 <ValueNode>
                     *reinterpret_cast&lt;QString*&gt;((sizeof(QString) &gt; sizeof(void*))
-                    ? reinterpret_cast&lt;Node*&gt;(d->array + d->begin + $i)->v
-                    : reinterpret_cast&lt;QString*&gt;(d->array + d->begin + $i))
+                    ? reinterpret_cast&lt;Node*&gt;(d-&gt;array + d-&gt;begin + $i)-&gt;v
+                    : reinterpret_cast&lt;QString*&gt;(d-&gt;array + d-&gt;begin + $i))
                 </ValueNode>
             </IndexListItems>
         </Expand>
@@ -454,8 +481,8 @@
                 <Size>d-&gt;end - d-&gt;begin</Size>
                 <ValueNode>
                     *reinterpret_cast&lt;QVariant*&gt;((sizeof(QVariant) &gt; sizeof(void*))
-                    ? reinterpret_cast&lt;Node*&gt;(d->array + d->begin + $i)->v
-                    : reinterpret_cast&lt;QVariant*&gt;(d->array + d->begin + $i))
+                    ? reinterpret_cast&lt;Node*&gt;(d-&gt;array + d-&gt;begin + $i)-&gt;v
+                    : reinterpret_cast&lt;QVariant*&gt;(d-&gt;array + d-&gt;begin + $i))
                 </ValueNode>
             </IndexListItems>
         </Expand>
@@ -526,7 +553,7 @@
                     <Exec>node = *(bucket++)</Exec>
                     <Exec>--n</Exec>
                     <Loop>
-                        <Break Condition="!node || !node->next"/>
+                        <Break Condition="!node || !node-&gt;next"/>
                         <Exec>keyValuePair = reinterpret_cast&lt;Node *&gt;(node)</Exec>
                         <Item Name="[{keyValuePair-&gt;key}]">keyValuePair-&gt;value</Item>
                         <Exec>node = node-&gt;next</Exec>

--
Gitblit v1.9.1