pulumi/sdk/nodejs
joeduffy 8ce07617c9 Implement recursive closure captures
This change implements recursive closure captures.  This permits
cases like the following

    {
        function f() { g(); }
        function g() { f(); }
    }

and the slightly more useful

    class C {
        this.x = 42;
        this.f = () => x;
    }

To do this requires caching the environment objects and permitting
cycles in the resulting environment graph.  The closure emitter code
already knows how to handle this.

In addition, we must mark captures of `this` as free variables.

This resolves pulumi/pulumi-fabric#333.
2017-09-10 07:40:53 -07:00
..
asset Harden dependent resolutions 2017-09-06 14:29:17 -07:00
bin Move language host into bin/ 2017-09-08 06:13:09 -07:00
cmd Fix a bunch of Linux issues 2017-09-08 15:11:09 -07:00
runtime Implement recursive closure captures 2017-09-10 07:40:53 -07:00
tests Implement recursive closure captures 2017-09-10 07:40:53 -07:00
.gitignore Move language host into bin/ 2017-09-08 06:13:09 -07:00
computed.ts Add typings and tests for mapValues that return computeds 2017-09-06 08:28:11 -07:00
config.ts Add a runtime.Log class 2017-09-04 11:35:21 -07:00
index.ts Prettify properties 2017-09-05 10:55:09 -07:00
Makefile Link the bin/ directory 2017-09-07 12:43:12 -07:00
package.json Upgrade gRPC to 1.6.0; use full addresses 2017-09-09 07:37:10 -07:00
resource.ts Rename PropertyValue<T> to MaybeComputed<T> 2017-09-05 11:14:28 -07:00
tsconfig.json Fix a bunch of Linux issues 2017-09-08 15:11:09 -07:00
tslint.json Lint the test files 2017-09-04 11:35:21 -07:00
yarn.lock Upgrade gRPC to 1.6.0; use full addresses 2017-09-09 07:37:10 -07:00