Hi,
I think there's some problem here:
VariableEnvironment>>includesClass: aClass
(super includesClass: aClass) ifFalse: [^false].
(instanceVariables includesKey: aClass) ifTrue: [^true].
(classVariables includesKey: aClass) ifTrue: [^true].
^((self selectorCacheFor: aClass)
detect: [:each | self includesSelector: each in: aClass]
ifNone: [nil]) notNil
From what I understand instanceVariables and classVariables dictionaries uses the class names as keys (not the class itself). See for example "addClass: aClass classVariable: aSymbol ".
This part:
(instanceVariables includesKey: aClass) ifTrue: [^true].
(classVariables includesKey: aClass) ifTrue: [^true].
never returns true.
Maybe it should be:
(instanceVariables includesKey: aClass name) ifTrue: [^true].
(classVariables includesKey: aClass name) ifTrue: [^true].
?
Regards,
Gabriel
--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/va-smalltalk/-/0mSDKIk6oPoJ.
To post to this group, send email to
[hidden email].
To unsubscribe from this group, send email to
[hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.