[squeak-dev] The Trunk: Traits-nice.300.mcz

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sat Nov 2 11:52:07 UTC 2013


Yes, it clearly smells.
The second time I put this in a method, I had the same reflexion.
It's a quick "fix", and I didn't want to delay its application.
But anyway, it's more a workaround than a fix and we'll have to perform
another pass...


2013/11/2 Frank Shearar <frank.shearar at gmail.com>

> On 1 November 2013 23:31,  <commits at source.squeak.org> wrote:
> > Nicolas Cellier uploaded a new version of Traits to project The Trunk:
> > http://source.squeak.org/trunk/Traits-nice.300.mcz
> >
> > ==================== Summary ====================
> >
> > Name: Traits-nice.300
> > Author: nice
> > Time: 2 November 2013, 12:30:54.426 am
> > UUID: fced9294-e4ef-4fb3-b2db-6e8da24a6e82
> > Ancestors: Traits-nice.299
> >
> > Avoid spurious warnings in Trait>>rename: when an Undeclared isn't
> really referenced.
> >
> > This may help some SUnit tests to pass.
> >
> > =============== Diff against Traits-nice.299 ===============
> >
> > Item was changed:
> >   ----- Method: Trait>>rename: (in category 'initialize') -----
> >   rename: aString
> >         "The new name of the receiver is the argument, aString."
> >
> >         | newName |
> >         (newName := aString asSymbol) ~= self name
> >                 ifFalse: [^ self].
> >         (self environment includesKey: newName)
> >                 ifTrue: [^ self error: newName , ' already exists'].
> > +       ((self environment undeclared includesKey: newName)
> > +               and: [(self environment undeclared unreferencedKeys
> includes: newName) not])
> > -       (self environment undeclared includesKey: newName)
> >                 ifTrue: [self inform: 'There are references to, ' ,
> aString printString , '
> >   from Undeclared. Check them after this change.'].
> >         self environment renameClass: self as: newName.
> >         name := newName!
>
> There's a lot of text in this method. I think it would read more
> easily if we added an "undeclared := self environment undeclared" var.
> The + lines above would then be something like
>
> ((undeclared includesKey: newName)
>     and: [(undeclared unreferencedKeys includes: newName) not])
>         ifTrue: []
>
> frank
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20131102/d04f926a/attachment.htm


More information about the Squeak-dev mailing list