pulumi/pkg
joeduffy 049cc7dbc8 Implement decorated token parsing and binding
Part of the token grammar permits so-called "decorated" types.  These
are tokens that are pointer, array, map, or function types.  For example:

* `*any`: a pointer to anything.
* `[]string`: an array of primitive strings.
* `map[string]number`: a map from strings to numbers.
* `(string,string)bool`: a function with two string parameters and a
      boolean return type.
* `[]aws:s3/Bucket`: an array of objects whose class is `Bucket` from
      the package `aws` and its module `s3`.

This change introduces this notion into the parsing and handling of
type tokens.  In particular, it uses recursive parsing to handle complex
nested structures, and the binder.bindTypeToken routine has been updated
to call out to these as needed, in order to produce the correct symbol.
2017-01-23 14:48:55 -08:00
..
cmdutil Move all cloud switching to mu/x MuPackage 2017-01-20 09:46:59 -08:00
compiler Implement decorated token parsing and binding 2017-01-23 14:48:55 -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 Implement decorated token parsing and binding 2017-01-23 14:48: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