//// [usingDeclarationsWithLegacyClassDecorators.2.ts]
System.register([
    "@swc/helpers/_/_class_call_check",
    "@swc/helpers/_/_ts_add_disposable_resource",
    "@swc/helpers/_/_ts_decorate",
    "@swc/helpers/_/_ts_dispose_resources"
], function(_export, _context) {
    "use strict";
    var C, _class_call_check, _ts_add_disposable_resource, _ts_decorate, _ts_dispose_resources, before, env;
    _export("C", void 0);
    return {
        setters: [
            function(_class_call_check_ns) {
                _class_call_check = _class_call_check_ns._;
            },
            function(_ts_add_disposable_resource_ns) {
                _ts_add_disposable_resource = _ts_add_disposable_resource_ns._;
            },
            function(_ts_decorate_ns) {
                _ts_decorate = _ts_decorate_ns._;
            },
            function(_ts_dispose_resources_ns) {
                _ts_dispose_resources = _ts_dispose_resources_ns._;
            }
        ],
        execute: function() {
            env = {
                stack: [],
                error: void 0,
                hasError: false
            };
            try {
                before = _ts_add_disposable_resource(env, null, false);
                C = function C() {
                    "use strict";
                    _class_call_check(this, C);
                }, _export("C", C), C;
                C = _ts_decorate([
                    dec
                ], C), _export("C", C), C;
            } catch (e) {
                env.error = e;
                env.hasError = true;
            } finally{
                _ts_dispose_resources(env);
            }
        }
    };
});
