Description
The object literal support introduced with #112 avoids changing some of the scope handling infrastructure and instead of modeling lexical scope as a single chain, it introduces direct access to scopes of objects.
Specifically, the MixinBuilder
has not an outer builder and an outer method, it should only have a single outer scope, the rest should be reached through traversal.
Same issue was introduced in the MixinScope
class, there we also got two scope information now.
This could be hiding bugs, and made it hard to implement the contextual nodes in a way that the parser determines correctly the chain of casts needed to get to the outer context.
Currently, the chain is determined at run time, because I had issues to get it correct during inlining.
The parser support worked, but finding the right data to have the chain correct after splitting was an issue.
So, we should fix:
- duplicated scope info/non-uniform scope handling
- construct scope traversal in
ContextualNode
in parser