Senders "too thorough"

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

Senders "too thorough"

Levente Uzonyi
Hi All,

With the recent changes of literal searching, I've found something
unusual.
If you evaluate the following snippet, there will be some false positives
(e.g. Scanner >> #initialize) on the list.
These methods do not reference the searched literal, but they reference a
class variable (TypeTable), which happens to be an array containing the
searched symbol:

SystemNavigation default browseAllCallsOn: #xLitQuote.

The reason why it appears is that CompiledCode >> #hasLiteral: will try
Object >> #hasLiteral: first, which uses #allLiteralsDo:, which descends
into the value of the binding of the TypeTable class variable and finds the symbol.


Levente

Reply | Threaded
Open this post in threaded view
|

Re: Senders "too thorough"

marcel.taeumel
Hi Levente,

thanks for the pointer. I will take a look at it tomorrow. :-)

Best,
Marcel

Am 20.07.2019 13:36:28 schrieb Levente Uzonyi <[hidden email]>:

Hi All,

With the recent changes of literal searching, I've found something
unusual.
If you evaluate the following snippet, there will be some false positives
(e.g. Scanner >> #initialize) on the list.
These methods do not reference the searched literal, but they reference a
class variable (TypeTable), which happens to be an array containing the
searched symbol:

SystemNavigation default browseAllCallsOn: #xLitQuote.

The reason why it appears is that CompiledCode >> #hasLiteral: will try
Object >> #hasLiteral: first, which uses #allLiteralsDo:, which descends
into the value of the binding of the TypeTable class variable and finds the symbol.


Levente



Reply | Threaded
Open this post in threaded view
|

Re: Senders "too thorough"

marcel.taeumel
Hi Levente,

should be fixed in Trunk in Collections-mt.845.

Best,
Marcel

Am 21.07.2019 17:58:00 schrieb Marcel Taeumel <[hidden email]>:

Hi Levente,

thanks for the pointer. I will take a look at it tomorrow. :-)

Best,
Marcel

Am 20.07.2019 13:36:28 schrieb Levente Uzonyi <[hidden email]>:

Hi All,

With the recent changes of literal searching, I've found something
unusual.
If you evaluate the following snippet, there will be some false positives
(e.g. Scanner >> #initialize) on the list.
These methods do not reference the searched literal, but they reference a
class variable (TypeTable), which happens to be an array containing the
searched symbol:

SystemNavigation default browseAllCallsOn: #xLitQuote.

The reason why it appears is that CompiledCode >> #hasLiteral: will try
Object >> #hasLiteral: first, which uses #allLiteralsDo:, which descends
into the value of the binding of the TypeTable class variable and finds the symbol.


Levente