How to find all methods where ## occurs ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

How to find all methods where ## occurs ?

Marten Feldtmann-5
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Mariano Martinez Peck-2
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/CAOUkibHAD3LXY4MYRexJeDhiAgRXJnpVodhoLPZnv%3DdtyMMGgA%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Marten Feldtmann-5
Thanks, that is ok

[hidden email] schrieb am Dienstag, 21. Juli 2020 um 15:39:58 UTC+2:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/7f0cbb9f-4623-4125-9f34-a230021fb99an%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Mariano Martinez Peck-2
In reply to this post by Mariano Martinez Peck-2
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this:

##MonticelloMethodCompilationFailure.

That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been:

##MonticelloMethodCompilationFailure == 'aaa' 

or 

^ ##MonticelloMethodCompilationFailure. 

or anything that the Compiler wouldn't ignore it, it would have been found.

BTW, we changed this behavior for Tonel's #commentedSource



On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <[hidden email]> wrote:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/CAOUkibG31L09zwv31D26%2B9ib0b7UZppXMs%3D%3DZFgPc4dCkcLEBw%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Richard Sargent
Administrator
On Tuesday, July 21, 2020 at 7:20:09 AM UTC-7, Mariano Martinez Peck wrote:
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this:

##MonticelloMethodCompilationFailure.

That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been:

It's long been a complaint of mine that Atoms and Compile-time Constants should still have their source elements in the literals pool for the compiled method.
 

##MonticelloMethodCompilationFailure == 'aaa' 

or 

^ ##MonticelloMethodCompilationFailure. 

or anything that the Compiler wouldn't ignore it, it would have been found.

BTW, we changed this behavior for Tonel's #commentedSource

Also, it is quite easy to look up the implementation of the various methods for finding references and craft a variation that looks for e.g. methods containing an EsAtom or a CTC and them browsing those that do.

I don't have an example handy at the moment.




On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="SiEQoXQMAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mp...@...> wrote:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="SiEQoXQMAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">m.fel...@...> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="SiEQoXQMAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">va-sma...@googlegroups.com.
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium=email&amp;utm_source=footer" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Email: <a href="javascript:" target="_blank" gdf-obfuscated-mailto="SiEQoXQMAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mp...@instantiations.com
Twitter: <a href="https://twitter.com/MartinezPeck" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Email: <a href="javascript:" target="_blank" gdf-obfuscated-mailto="SiEQoXQMAQAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mp...@instantiations.com
Twitter: <a href="https://twitter.com/MartinezPeck" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/b1031ae3-31a5-41f6-aef4-7f52627ac415o%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Marten Feldtmann-5
In this case it would be nice to find all methods, so one can fix them ..

Richard Sargent schrieb am Dienstag, 21. Juli 2020 um 19:17:38 UTC+2:
On Tuesday, July 21, 2020 at 7:20:09 AM UTC-7, Mariano Martinez Peck wrote:
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this:

##MonticelloMethodCompilationFailure.

That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been:

It's long been a complaint of mine that Atoms and Compile-time Constants should still have their source elements in the literals pool for the compiled method.
 

##MonticelloMethodCompilationFailure == 'aaa' 

or 

^ ##MonticelloMethodCompilationFailure. 

or anything that the Compiler wouldn't ignore it, it would have been found.

BTW, we changed this behavior for Tonel's #commentedSource

Also, it is quite easy to look up the implementation of the various methods for finding references and craft a variation that looks for e.g. methods containing an EsAtom or a CTC and them browsing those that do.

I don't have an example handy at the moment.




On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <[hidden email]> wrote:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/ec61f266-f785-4306-b97d-83be4e2f45d2n%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Richard Sargent
Administrator
On Tuesday, July 21, 2020 at 10:21:10 AM UTC-7, Marten Feldtmann wrote:
In this case it would be nice to find all methods, so one can fix them ..

Fix them?



Richard Sargent schrieb am Dienstag, 21. Juli 2020 um 19:17:38 UTC+2:
On Tuesday, July 21, 2020 at 7:20:09 AM UTC-7, Mariano Martinez Peck wrote:
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this:

##MonticelloMethodCompilationFailure.

That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been:

It's long been a complaint of mine that Atoms and Compile-time Constants should still have their source elements in the literals pool for the compiled method.
 

##MonticelloMethodCompilationFailure == 'aaa' 

or 

^ ##MonticelloMethodCompilationFailure. 

or anything that the Compiler wouldn't ignore it, it would have been found.

BTW, we changed this behavior for Tonel's #commentedSource

Also, it is quite easy to look up the implementation of the various methods for finding references and craft a variation that looks for e.g. methods containing an EsAtom or a CTC and them browsing those that do.

I don't have an example handy at the moment.




On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <[hidden email]> wrote:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].

To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium=email&amp;utm_source=footer" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Twitter: <a href="https://twitter.com/MartinezPeck" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Twitter: <a href="https://twitter.com/MartinezPeck" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/034f82eb-fdda-4886-85f9-b29812bb6ec6o%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Marten Feldtmann-4
Am 21.07.20 um 21:31 schrieb Richard Sargent:
On Tuesday, July 21, 2020 at 10:21:10 AM UTC-7, Marten Feldtmann wrote:
In this case it would be nice to find all methods, so one can fix them ..

Fix them?

The MonticelloImporter remarks the original source code out if there is a compile error during import and adds a helper source into that method ... so you visit each method and fixes the errors.

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/7ae54ef8-3162-d0a0-3044-9be240c62176%40feldtmann.online.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Richard Sargent
Administrator
On Tuesday, July 21, 2020 at 12:50:02 PM UTC-7, Marten Feldtmann wrote:
Am 21.07.20 um 21:31 schrieb Richard Sargent:
On Tuesday, July 21, 2020 at 10:21:10 AM UTC-7, Marten Feldtmann wrote:
In this case it would be nice to find all methods, so one can fix them ..

Fix them?

The MonticelloImporter remarks the original source code out if there is a compile error during import and adds a helper source into that method ... so you visit each method and fixes the errors.


Can you elaborate on what's going on? What compile errors? Why? Atoms and Compile-time Constants should compile.

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/d0af9db3-52d7-44e1-adfc-18d68d46882eo%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Richard Sargent
Administrator
In reply to this post by Richard Sargent
Here is an example of browsing all methods with compile-time constants. (These are not Atoms; that's a different condition.)

| methods |
methods := CompiledMethod withAllSubclasses asArray multiAllInstances
                        select: [:each | each hasCTC].
 
((EtTools browser: #methods)
    on: methods
    labeled: 'Methods with Compile-time Constants')
        owningImage: self; 
        open


On Tuesday, July 21, 2020 at 10:17:38 AM UTC-7, Richard Sargent wrote:
On Tuesday, July 21, 2020 at 7:20:09 AM UTC-7, Mariano Martinez Peck wrote:
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this:

##MonticelloMethodCompilationFailure.

That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been:

It's long been a complaint of mine that Atoms and Compile-time Constants should still have their source elements in the literals pool for the compiled method.
 

##MonticelloMethodCompilationFailure == 'aaa' 

or 

^ ##MonticelloMethodCompilationFailure. 

or anything that the Compiler wouldn't ignore it, it would have been found.

BTW, we changed this behavior for Tonel's #commentedSource

Also, it is quite easy to look up the implementation of the various methods for finding references and craft a variation that looks for e.g. methods containing an EsAtom or a CTC and them browsing those that do.

I don't have an example handy at the moment.




On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <[hidden email]> wrote:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium=email&amp;utm_source=footer" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Twitter: <a href="https://twitter.com/MartinezPeck" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Twitter: <a href="https://twitter.com/MartinezPeck" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/ee363302-f888-4a06-93e9-6edfe762a5ebo%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Richard Sargent
Administrator
And this variant shows all methods with Atoms.

| methods |
methods := CompiledMethod withAllSubclasses asArray multiAllInstances
                        select: [:each | each allLiterals anySatisfy: [:every | every isAtom]].
 
((EtTools browser: #methods)
    on: methods
    labeled: 'Methods with Atoms')
        owningImage: self; 
        open


On Wednesday, July 22, 2020 at 1:08:07 AM UTC-7, Richard Sargent wrote:
Here is an example of browsing all methods with compile-time constants. (These are not Atoms; that's a different condition.)

| methods |
methods := CompiledMethod withAllSubclasses asArray multiAllInstances
                        select: [:each | each hasCTC].
 
((EtTools browser: #methods)
    on: methods
    labeled: 'Methods with Compile-time Constants')
        owningImage: self; 
        open


On Tuesday, July 21, 2020 at 10:17:38 AM UTC-7, Richard Sargent wrote:
On Tuesday, July 21, 2020 at 7:20:09 AM UTC-7, Mariano Martinez Peck wrote:
Sorry, I was wrong... there is a way to look for EsAtom in CompiledMethod literals... from the Transcript -> Tools -> Browse References and there, put the atom without the ##. For example, "MonticelloMethodCompilationFailure". However, in this case it won't work because the method that Monticello generates in this case its just a sentence like this:

##MonticelloMethodCompilationFailure.

That is a no-op, it has no effect and hence the Compiler ignores it and that's why that's not even in the bytecode. If the method would have been:

It's long been a complaint of mine that Atoms and Compile-time Constants should still have their source elements in the literals pool for the compiled method.
 

##MonticelloMethodCompilationFailure == 'aaa' 

or 

^ ##MonticelloMethodCompilationFailure. 

or anything that the Compiler wouldn't ignore it, it would have been found.

BTW, we changed this behavior for Tonel's #commentedSource

Also, it is quite easy to look up the implementation of the various methods for finding references and craft a variation that looks for e.g. methods containing an EsAtom or a CTC and them browsing those that do.

I don't have an example handy at the moment.




On Tue, Jul 21, 2020 at 10:39 AM Mariano Martinez Peck <[hidden email]> wrote:
I don't know an easy way (from the menu) to look for references to EsAtom in CompiledMethod literals. So in this case, I usually do a "Options" -> "Browse Methods" -> "Including String...".


On Tue, Jul 21, 2020 at 5:47 AM Marten Feldtmann <[hidden email]> wrote:
e.g.

##MonticelloMethodCompilationFailure.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium=email&amp;utm_source=footer" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com/d/msgid/va-smalltalk/758ee575-c97c-44ea-958c-bbe6a8a1dbc4n%40googlegroups.com.


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Twitter: <a href="https://twitter.com/MartinezPeck" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/


--
Mariano Martinez Peck
Software Engineer, Instantiations Inc.
Twitter: <a href="https://twitter.com/MartinezPeck" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Ftwitter.com%2FMartinezPeck\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFPV-7Bnc-U6phGEh-VZU0iUtY7vw&#39;;return true;">https://twitter.com/MartinezPeck
LinkedIn: <a href="https://www.linkedin.com/in/mariano-mart%C3%ADnez-peck/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fwww.linkedin.com%2Fin%2Fmariano-mart%25C3%25ADnez-peck%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGyJTUAWXPstaw4J3OpFUYRyFAqmw&#39;;return true;">www.linkedin.com/in/mariano-martinez-peck
Blog: <a href="https://marianopeck.wordpress.com/" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fmarianopeck.wordpress.com%2F\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHAOaIsyMIYgmQWdQZRuKRdD6gBfw&#39;;return true;">https://marianopeck.wordpress.com/

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/022ff87c-e4c6-499b-aa31-f35d65c1526eo%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Marten Feldtmann-5
In reply to this post by Richard Sargent
Richard, its all ok.

The way the MonticelloImporter works is totally ok and good. He imports the source code, tries to compile the method and if that fails, he preserves the original code (put them in "") and write a small helper code into that method - parts of this helper code is the "##ewifwoeifjw" (Atom) construction. Even though the compile errors are printed in the Transcript I personally would like to see, that I can query the system for methods where this specific Atom is placed in the source code.

Richard Sargent schrieb am Mittwoch, 22. Juli 2020 um 09:52:39 UTC+2:
On Tuesday, July 21, 2020 at 12:50:02 PM UTC-7, Marten Feldtmann wrote:
Am 21.07.20 um 21:31 schrieb Richard Sargent:
On Tuesday, July 21, 2020 at 10:21:10 AM UTC-7, Marten Feldtmann wrote:
In this case it would be nice to find all methods, so one can fix them ..

Fix them?

The MonticelloImporter remarks the original source code out if there is a compile error during import and adds a helper source into that method ... so you visit each method and fixes the errors.


Can you elaborate on what's going on? What compile errors? Why? Atoms and Compile-time Constants should compile.

Marten

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/87634c40-6456-4df1-8af5-23740b1045dfn%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: How to find all methods where ## occurs ?

Richard Sargent
Administrator
On Wed, Jul 22, 2020, 04:41 Marten Feldtmann <[hidden email]> wrote:
Richard, its all ok.

The way the MonticelloImporter works is totally ok and good. He imports the source code, tries to compile the method and if that fails, he preserves the original code (put them in "") and write a small helper code into that method - parts of this helper code is the "##ewifwoeifjw" (Atom) construction. Even though the compile errors are printed in the Transcript I personally would like to see, that I can query the system for methods where this specific Atom is placed in the source code.

Oh, that makes sense now.

You can use a variant of the Atom example I provided. Instead of testing for #isAtom, you can test for that specific Atom, using #includes: rather than #anySatisfy:.



Richard Sargent schrieb am Mittwoch, 22. Juli 2020 um 09:52:39 UTC+2:
On Tuesday, July 21, 2020 at 12:50:02 PM UTC-7, Marten Feldtmann wrote:
Am 21.07.20 um 21:31 schrieb Richard Sargent:
On Tuesday, July 21, 2020 at 10:21:10 AM UTC-7, Marten Feldtmann wrote:
In this case it would be nice to find all methods, so one can fix them ..

Fix them?

The MonticelloImporter remarks the original source code out if there is a compile error during import and adds a helper source into that method ... so you visit each method and fixes the errors.


Can you elaborate on what's going on? What compile errors? Why? Atoms and Compile-time Constants should compile.

Marten

--
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/C8UUxUDY1Q8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/87634c40-6456-4df1-8af5-23740b1045dfn%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/CAGNapENrNtP9TL4M9_rFYB2AivfmHV8FCRdZf_WQu3LJdU_qEA%40mail.gmail.com.