Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WAUserConfiguration #rootClass - direct class access? #850

Closed
dalehenrich opened this issue Jul 17, 2015 · 6 comments
Closed

WAUserConfiguration #rootClass - direct class access? #850

dalehenrich opened this issue Jul 17, 2015 · 6 comments
Milestone

Comments

@dalehenrich
Copy link
Member

Given a WAUserConfigration for a WAApplication:

(class)@              -> WAUserConfiguration
(oop)@                -> 251026433
(committed)@          -> true
cachedSearchContexts@ -> anIdentityDictionary( )
expressions@          -> aDictionary( #'rootClass'->aWAValueExpression)
parents@              -> anOrderedCollection( aWARenderLoopConfiguration, aWASharedConfiguration)

the #rootClass expression references a WAValueExpression:

(class)@     -> Dictionary
(oop)@       -> 269276673
(committed)@ -> true
1@           -> #'rootClass'->aWAValueExpression

which in turn directly references a class:

(class)@     -> WAValueExpression
(oop)@       -> 269021697
(committed)@ -> true
key@         -> #'rootClass'
value@       -> WACounter

In GemStone, changing the WACounter class will cause a new class version to be created, while the #rootClass expression will return the original class version ....

@dalehenrich
Copy link
Member Author

There seem to be a view places where the value of the WAValueExpression is a SymbolAssociation that is identical to the result of Smalltalk associationAt: which seems consistent with a WAClassBindingAttribute, but not necessarily the same ...

@dalehenrich
Copy link
Member Author

I realized that I needed to include a bit more context for the location of the WAConfiguration instance in the initial bug comment ... it is from the configuration slot of the counter WAApplication:

..             -> 'counter'->aWAApplication
(class)@       -> WAApplication
(oop)@         -> 250405377
(committed)@   -> true
cache@         -> aWABulkReapingCache
configuration@ -> aWAUserConfiguration
filter@        -> aWAValueHolder contents: aWAExceptionFilter
parent@        -> aWADispatcher

@dalehenrich dalehenrich modified the milestone: Seaside 3.2 Jul 18, 2015
@dalehenrich
Copy link
Member Author

related to the fix for Issue #820

@jbrichau
Copy link
Member

Seems like the gemstone branch version of the Seaside-Tools package was still being loaded by the baseline. That, at least, explains the issue with #rootClass.

jbrichau pushed a commit that referenced this issue Aug 28, 2015
@jbrichau
Copy link
Member

jbrichau commented May 5, 2016

My comment above was probably not related to your observation, though I remember that there was an issue at that time when loading the code did not load the correct packages and hence did not include the necessary changes.

More to the point: the SymbolAssociation is indeed the result of Smalltalk associationAt: and, through experiments, always holds on to the latest class version. It does rely on GRPlatform>>bindingOf: to return that association.

I consider this issue closed but if I did not completely grasp the concern, please reopen it!

@jbrichau jbrichau closed this as completed May 5, 2016
@dalehenrich
Copy link
Member Author

No problemo. if the association is the one from the symbol dictionary then we're good to go ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants