pulumi/pkg
joeduffy 5f0a1e970b Refactor binding logic
This changes a few things around binding logic, as part of eliminating
all of the legacy logic and weaving it into the new codebase:

* Give Scopes access to the Context object.  Related, add a TryRegister
  method to Scope that is like RequireRegister, except that instead of
  fail-fast upon encountering a duplicate entry, it will issue an error.

* Move all typecheck visitation functions out of the big honkin' switch
  and into their own member functions.  As this stuff gets more complex,
  having everything in one routine was starting to irk my sensibilities.

* Validate that packages have names.

* Store both the package symbol, plus the canonicalized URL used to
  resolve it, in the package map.  This will help us verify that versions
  match for multiple package references resolving to the same symbol.

* Add nice inquiry methods to the Class symbol (Sealed, Abstract, Record,
  Interface) that simplify accessing the modifiers on the underlying node.
2017-01-23 10:58:45 -08:00
..
cmdutil Move all cloud switching to mu/x MuPackage 2017-01-20 09:46:59 -08:00
compiler Refactor binding logic 2017-01-23 10:58:45 -08:00
config Begin overhauling semantic phases 2017-01-18 12:18:37 -08:00
diag Implement diag.Diagable on MuIL AST nodes 2017-01-17 18:01:11 -08:00
encoding Begin overhauling semantic phases 2017-01-18 12:18:37 -08:00
graph Begin overhauling semantic phases 2017-01-18 12:18:37 -08:00
pack Clean up package URL logic 2017-01-20 11:46:36 -08:00
resource/providers/aws Move all cloud switching to mu/x MuPackage 2017-01-20 09:46:59 -08:00
tokens Properly enforce accessibility 2017-01-22 10:09:55 -08:00
util Begin overhauling semantic phases 2017-01-18 12:18:37 -08:00
workspace Clean up package URL logic 2017-01-20 11:46:36 -08:00