On 9 août 2011, at 12:27, Tudor Girba wrote:
Hi Nicolas,
Thanks for looking into this.
I would prefer to keep the previous separation. In fact, it seems to me that we can
obtain the same results as you have now by simply commenting the reject statement from:
MooseQueryResult>>collectAtScope: aScopeSymbol
| sourceScope |
sourceScope := receiver perform: aScopeSymbol.
^ self newObjectResultWith:
((self primCollectAtScope: aScopeSymbol)
"reject: [ :scope | sourceScope mooseIncludes: scope ]") "exclude self
loops"
This is a tricky change and we should look into it closely. My solution would be to:
- remove the default reject (see above)
- add the receiver to MooseObjectQueryResult
- implement MooseObjectQueryResult>>withoutSelfLoops to use it
Totally agree with this.
Nicolas, if you need to temporarily hack MooseChef, you can just remove the reject:
statement above.
--
Simon Denier