<div dir="auto"><div>Hi Marcel,<div dir="auto"><br></div><div dir="auto">Sure. My commit prevents that you erroneously see the vars of the transparent proxy (!) in the regular Inspector. :-)</div><div dir="auto"><br></div><div dir="auto">So the problem is that because of inlined #class you cannot just ignore the existence of proxies in one place to "focus support" for them in another tool.</div><div dir="auto"><br></div><div dir="auto">Kind regards,</div><div dir="auto">Jakob</div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de">marcel.taeumel@hpi.de</a>> schrieb am Mo., 4. Mai 2020, 11:00:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div id="m_-6310524670222056212__MailbirdStyleContent" style="font-size:10pt;font-family:Arial;color:#000000">
                                        Hi Jakob.<div><br></div><div>Thanks for the pointer. I think it is better to focus the proxy support on BasicInspector. What are your thoughts on this?</div><div><br></div><div>Best,</div><div>Marcel</div><div></div><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-top:20px;margin-left:0px;padding-left:10px">
                        <p style="color:#aaaaaa;margin-top:10px">Am 02.05.2020 00:16:31 schrieb <a href="mailto:commits@source.squeak.org" target="_blank" rel="noreferrer">commits@source.squeak.org</a> <<a href="mailto:commits@source.squeak.org" target="_blank" rel="noreferrer">commits@source.squeak.org</a>>:</p><div style="font-family:Arial,Helvetica,sans-serif">A new version of Tools was added to project The Inbox:<br><a href="http://source.squeak.org/inbox/Tools-jr.966.mcz" target="_blank" rel="noreferrer">http://source.squeak.org/inbox/Tools-jr.966.mcz</a><br><br>==================== Summary ====================<br><br>Name: Tools-jr.966<br>Author: jr<br>Time: 2 May 2020, 12:16:24.578946 am<br>UUID: eceadafb-7b97-1742-84a2-e714d188a3bb<br>Ancestors: Tools-mt.965<br><br>Avoid inlining of #class for proxies/decorators in Inspector.<br><br>The instance variables and indexed variables are accessed by sending a message to the inspected object, which probably passes through any transparent proxies. If the list of variables is just obtained from "object class" (which will not actually send a message to the object), the list will contain the variables of the proxy. Thus, there is a mismatch between the inspector's schema of the object (the fields) and the schema which is queried for values (the schema of the object behind the proxy).<br><br>Also send a message to find out the class, so it is aligned with how the values are retrieved.<br><br>Also mind this when initializing the styler.<br><br>=============== Diff against Tools-mt.965 ===============<br><br>Item was changed:<br>  ----- Method: Inspector>>streamInstanceVariablesOn: (in category 'fields - streaming') -----<br>  streamInstanceVariablesOn: aStream<br>  <br>+    (self object perform: #class "do not inline send of #class, receiver could be a proxy") allInstVarNames doWithIndex: [:name :index |          <br>-     self object class allInstVarNames doWithIndex: [:name :index |          <br>              aStream nextPut: ((self newFieldForType: #instVar key: name)<br>                          shouldStyleName: true;<br>                        valueGetter: [:object | object instVarNamed: name];<br>                   valueSetter: [:object :value | object instVarNamed: name put: value];<br>                         yourself)].!<br><br>Item was changed:<br>  ----- Method: Inspector>>updateStyler:requestor: (in category 'user interface - styling') -----<br>  updateStyler: aStyler requestor: anObject<br>       "Use this method to update our fieldListStyler and all view stylers."<br>       <br>      aStyler<br>               environment: self environment;<br>+               classOrMetaClass: (self doItReceiver perform: #class "do not inline send of #class, receiver could be a proxy");<br>-           classOrMetaClass: self doItReceiver class;<br>            context: self doItContext;<br>            parseAMethod: false.!<br><br><br></div></blockquote>
                                        </div></div><br>
</blockquote></div></div></div>