capturedParametersInInitializers2.ts(3,20): error TS2373: Parameter 'y' cannot reference identifier 'x' declared after it.
capturedParametersInInitializers2.ts(4,14): error TS2373: Parameter 'y' cannot reference identifier 'x' declared after it.
capturedParametersInInitializers2.ts(6,10): error TS2373: Parameter 'y' cannot reference identifier 'z' declared after it.
capturedParametersInInitializers2.ts(13,27): error TS2373: Parameter 'y' cannot reference identifier 'x' declared after it.


==== capturedParametersInInitializers2.ts (4 errors) ====
    function foo(
        y = class {
            static c = x;
                       ~
!!! error TS2373: Parameter 'y' cannot reference identifier 'x' declared after it.
            get [x]() {return x;}
                 ~
!!! error TS2373: Parameter 'y' cannot reference identifier 'x' declared after it.
            constructor() { x; }
            [z]() { return z; }
             ~
!!! error TS2373: Parameter 'y' cannot reference identifier 'z' declared after it.
        },
        x = 1,
        z = 2
    ) {
        y.c
    }
    function foo2(y = class {[x] = x}, x = 1) {
                              ~
!!! error TS2373: Parameter 'y' cannot reference identifier 'x' declared after it.
    }