2016-06-17 16:41 GMT+02:00 Max Leske <maxleske@gmail.com>:
I found at least one problem the NEC: NEC assumes that all global bindings answer a class but that is not true in cases such as Processor and Transcript.

Can you give a code example where this would fail / raise an error . We should add a test case for this.

��

Here���s a fix:

NECVarTypeGuesser>>pushLiteralVariable: anAssociation��
"Push Contents Of anAssociation On Top Of Stack bytecode."
| info |
contextCount > 0 ifTrue:[^self].

info := NECTypeInfo definedByMessageSend: (anAssociation value isBehavior
ifTrue: [ anAssociation value ]
ifFalse: [ anAssociation value class ]).
types add: info


Cheers,
Max


On 05 Jun 2016, at 17:44, Nicolai Hess <nicolaihess@gmail.com> wrote:



2016-06-04 20:41 GMT+02:00 stepharo <stepharo@free.fr>:
Just to report (I did not have the time to check in 60a) but I got red square of death with komitter.

I also got

NECTypedModel>>initializeSelectorsFor: aClass
�� �� |excludedClasses|
�� �� selectors reset.
�� �� excludedClasses := (expanded ifTrue: [#()] ifFalse: [Object withAllSuperclasses]).
�� �� selectors addAll: ((aClass allSelectorsWithout: excludedClasses)

�� �� �� �� �� �� �� �� �� �� �� �� collect: [:each | NECSelectorEntry contents: each type: #selector])



DNU on allSelectorsWithout:


with such code


mostCommonlyUsedSelectors
�� �� "self mostCommonlyUsedSelectors"

�� �� | result |
�� �� result := Bag new.
�� �� environment cla

�� �� �� �� �� �� �� �� �� �� ^ cursor here

�� �� �� �� �� �� �� �� �� �� do: [ :each | result addAll: each selectors].
�� �� ^ result sortedCounts


Stef

Can not reproduce the NEC- bug.
What 5.0 image did you use, the release version?
In what class did you try to add the method mostCommonlyUsedSelectors?

nicolai

��