SystemNavigation >> #methodsWithUnboundGlobals

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SystemNavigation >> #methodsWithUnboundGlobals

Frank Shearar-3
... is currently broken because of the recent ClassBindings work.

Tests.Release.ReleaseTest.testMethodsWithUnboundGlobals fails because
it takes so long to concatenate the error description listing all
these methods. (Not surprising, given the 37304 entries it has to
munge.)

If we look at the implementation,

methodsWithUnboundGlobals
    ^self allSelect:
        [:m|
        m literals anySatisfy:
            [:l|
            l isVariableBinding
            and: [l key isSymbol "avoid class-side methodClass literals"
            and: [(m methodClass bindingOf: l key)
                    ifNil: [(Undeclared associationAt: l key ifAbsent: []) ~~ l]
                    ifNotNil: [:b| b ~~ l]]]]]

the problem seems to be in that last clause. You end up with (say) b
== #ContextPart=>ContextPart and l == #ContextPart=>ContextPart but b
~~ l.

Obviously I'm using printStrings of the variables. The problem arose
sometime after 2013/03/10. Not hugely helpful: it's already obvious
that the problem's either due to an Environments bug or that this
method needs adjusting to a post-Environments world.

frank

Reply | Threaded
Open this post in threaded view
|

Re: SystemNavigation >> #methodsWithUnboundGlobals

Colin Putney-3
On 2013-04-05, at 7:29 AM, Frank Shearar <[hidden email]> wrote:

> The problem arose
> sometime after 2013/03/10. Not hugely helpful: it's already obvious
> that the problem's either due to an Environments bug or that this
> method needs adjusting to a post-Environments world.

I think this is another manifestation of the bug that was preventing
XMLWriter from getting properly released. Your fix was necessary but
not sufficient. Now that I've cleaned up the binding classes, I'll go
through all the failing tests.