<div dir="ltr">It looks like the GraphStatsWalker is missing an invocation of data.addRecord for the array elements that are pushed onto the stack.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 29, 2023 at 5:14 PM Sebastian Zarnekow <<a href="mailto:sebastian.zarnekow@gmail.com">sebastian.zarnekow@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I tried to find a way to submit a bug report but failed to do so. Apparently, issues are not enabled on the GitHub repository - contrary to what is mentioned in the readme.md.</div><div><br></div><div>Maybe this mailing list is the right channel to discuss my observations:</div><div><br></div><div>From my understanding, the results of GraphLayout.totalSize and GraphStats.totalSize should be the same for a given object graph. However, there is some inconsistency. The following test case fails for me. I'm not sure if that's a misunderstanding on my end or a bug in the processing of arrays:</div><div><br></div><div><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="font-size:12px"><span style="white-space:pre-wrap"> </span></span><span style="font-size:12px">@Test</span><br></font></div><div>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span><b>public</b></span> <span><b>void</b></span> statsVsLayout() {</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span style="white-space:pre-wrap"> </span>Object[] <span>objects</span> = <span><b>new</b></span> Object[1];</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span style="white-space:pre-wrap"> </span><span>objects</span>[0] = <span><b>new</b></span> String[0];</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span style="white-space:pre-wrap"> </span>GraphLayout <span>layout</span> = GraphLayout.<i>parseInstance</i>(<span><b>new</b></span><span> Object[] { </span><span>objects</span><span> }</span>);</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span style="white-space:pre-wrap"> </span>GraphStats <span>stats</span> = GraphStats.<i>parseInstance</i>(<span><b>new</b></span><span> Object[] { </span><span>objects</span><span> }</span>);</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span style="white-space:pre-wrap"> </span><i>assertEquals</i>(<span>layout</span>.totalSize(), <span>stats</span>.totalSize());</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span><span style="white-space:pre-wrap"> </span><i>assertEquals</i>(<span>layout</span>.totalCount(), <span>stats</span>.totalCount());</font></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><span style="white-space:pre-wrap"> </span>}</font></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:12px;line-height:normal"><font face="monospace" style="background-color:rgb(255,255,255)" color="#000000"><br></font></p></div><div><br></div><div><br></div><div>Best</div><div>Sebastian</div></div>
</blockquote></div>