On Sun, May 26, 2013 at 8:35 AM,  <[email protected]> wrote:
> Support object types from other parcels without prefix
>
> Resolve types after all classes have been parsed.
>
> This means that caching of C representations has to be postponed. For
> now, the C representations are cached after the types have been
> resolved. This is error-prone and requires some hacks for methods. It
> might be better to move to a scheme where the C strings are not cached
> until they're used for the first time.

> Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
> Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/c33d5cb3
> Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/c33d5cb3
> Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/c33d5cb3

This commit is a very nice step in the right direction.  CFC tries to do too
much during the parse phase.  It's better to perform semantic analysis during
subsequent tree traversals, even though that may mean adding extra code to
lazily-resolved getters and such to ensure that the object is in a valid state
when they are called.

I suspect that if we move to a single registry for both parcels and classes --
or better yet, a single registry for all symbols, including methods, inert
functions, inert vars and member vars -- type resolution would get easier.

Marvin Humphrey

Reply via email to