csyonghe / Spire

Other
174 stars 22 forks source link

Lookup rules #79

Closed tangent-vector closed 7 years ago

tangent-vector commented 7 years ago

The basic idea here is to start to unify how name lookup is performed, so that:

This PR thus includes a few changes to make things be ContainerDecls that weren't before, and then a change to make the Scope type use the ContainerDecl to enumerate members, rather than maintaining its own Dictionary.

Nothing really interesting happens in this change (it shouldn't alter functionality at all), but it should make it possible for subsequent changes to remove the various special-case lookup rules being employed.