diff --git a/src/compiler/transformers/esDecorators.ts b/src/compiler/transformers/esDecorators.ts index a356421c191..e1646653792 100644 --- a/src/compiler/transformers/esDecorators.ts +++ b/src/compiler/transformers/esDecorators.ts @@ -82,6 +82,7 @@ import { isClassThisAssignmentBlock, isCompoundAssignment, isComputedPropertyName, + isConstructorDeclaration, isDestructuringAssignment, isElementAccessExpression, isExportModifier, @@ -98,7 +99,6 @@ import { isMethodDeclaration, isMethodOrAccessor, isModifier, - isNamedClassElement, isNamedEvaluation, isObjectBindingOrAssignmentElement, isObjectLiteralElementLike, @@ -137,6 +137,7 @@ import { Node, NodeArray, NodeFlags, + nodeIsDecorated, nodeOrChildIsDecorated, ObjectLiteralElement, OmittedExpression, @@ -212,30 +213,38 @@ import { // 8. Non-static field (excl. auto-accessor) element decorators are applied // 9. Class decorators are applied // 10. Class binding is initialized -// 11. Static extra initializers are evaluated -// 12. Static fields are initialized and static blocks are evaluated +// 11. Static method extra initializers are evaluated +// 12. Static fields are initialized (incl. extra initializers) and static blocks are evaluated // 13. Class extra initializers are evaluated +// +// Class constructor evaluation order, as it pertains to this transformer: +// +// 1. Instance method extra initializers are evaluated +// 2. For each instance field/auto-accessor: +// a. The field is initialized and defined on the instance. +// b. Extra initializers for the field are evaluated. interface MemberInfo { - memberDecoratorsName: Identifier; // used in step 4.a - memberInitializersName?: Identifier; // used in step 12 and construction + memberDecoratorsName: Identifier; // used in class definition step 4.a + memberInitializersName?: Identifier; // used in class definition step 12 and constructor evaluation step 2.a + memberExtraInitializersName?: Identifier; // used in class definition step 12 and constructor evaluation step 2.b memberDescriptorName?: Identifier; } interface ClassInfo { class: ClassLikeDeclaration; - classDecoratorsName?: Identifier; // used in step 2 - classDescriptorName?: Identifier; // used in step 10 - classExtraInitializersName?: Identifier; // used in step 13 + classDecoratorsName?: Identifier; // used in class definition step 2 + classDescriptorName?: Identifier; // used in class definition step 10 + classExtraInitializersName?: Identifier; // used in class definition step 13 classThis?: Identifier; // `_classThis`, if needed. classSuper?: Identifier; // `_classSuper`, if needed. metadataReference: Identifier; - memberInfos?: Map; // used in step 4.a, 12, and construction + memberInfos?: Map; // used in class definition step 4.a, 12, and constructor evaluation - instanceExtraInitializersName: Identifier | undefined; // used in construction - staticExtraInitializersName: Identifier | undefined; // used in step 11 + instanceMethodExtraInitializersName?: Identifier | undefined; // used in constructor evaluation step 1 + staticMethodExtraInitializersName?: Identifier | undefined; // used in class definition step 11 staticNonFieldDecorationStatements?: Statement[]; nonStaticNonFieldDecorationStatements?: Statement[]; @@ -244,8 +253,10 @@ interface ClassInfo { hasStaticInitializers: boolean; hasNonAmbientInstanceFields: boolean; - hasInjectedInstanceInitializers?: boolean; hasStaticPrivateClassElements: boolean; + + pendingStaticInitializers?: Expression[]; + pendingInstanceInitializers?: Expression[]; } interface ClassLexicalEnvironmentStackEntry { @@ -566,22 +577,50 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc function createClassInfo(node: ClassLikeDeclaration): ClassInfo { const metadataReference = factory.createUniqueName("_metadata", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); - let instanceExtraInitializersName: Identifier | undefined; - let staticExtraInitializersName: Identifier | undefined; + let instanceMethodExtraInitializersName: Identifier | undefined; + let staticMethodExtraInitializersName: Identifier | undefined; let hasStaticInitializers = false; let hasNonAmbientInstanceFields = false; let hasStaticPrivateClassElements = false; + let classThis: Identifier | undefined; + let pendingStaticInitializers: Expression[] | undefined; + let pendingInstanceInitializers: Expression[] | undefined; // Before visiting we perform a first pass to collect information we'll need // as we descend. + if (nodeIsDecorated(/*useLegacyDecorators*/ false, node)) { + // We do not mark _classThis as FileLevel if it may be reused by class private fields, which requires the + // ability access the captured `_classThis` of outer scopes. + const needsUniqueClassThis = some(node.members, member => (isPrivateIdentifierClassElementDeclaration(member) || isAutoAccessorPropertyDeclaration(member)) && hasStaticModifier(member)); + classThis = factory.createUniqueName( + "_classThis", + needsUniqueClassThis ? + GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.ReservedInNestedScopes : + GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel, + ); + } + for (const member of node.members) { - if (isNamedClassElement(member) && nodeOrChildIsDecorated(/*useLegacyDecorators*/ false, member, node)) { + if (isMethodOrAccessor(member) && nodeOrChildIsDecorated(/*useLegacyDecorators*/ false, member, node)) { if (hasStaticModifier(member)) { - staticExtraInitializersName ??= factory.createUniqueName("_staticExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); + if (!staticMethodExtraInitializersName) { + staticMethodExtraInitializersName = factory.createUniqueName("_staticExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); + const initializer = emitHelpers().createRunInitializersHelper(classThis ?? factory.createThis(), staticMethodExtraInitializersName); + setSourceMapRange(initializer, node.name ?? moveRangePastDecorators(node)); + pendingStaticInitializers ??= []; + pendingStaticInitializers.push(initializer); + } } else { - instanceExtraInitializersName ??= factory.createUniqueName("_instanceExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); + if (!instanceMethodExtraInitializersName) { + instanceMethodExtraInitializersName = factory.createUniqueName("_instanceExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); + const initializer = emitHelpers().createRunInitializersHelper(factory.createThis(), instanceMethodExtraInitializersName); + setSourceMapRange(initializer, node.name ?? moveRangePastDecorators(node)); + pendingInstanceInitializers ??= []; + pendingInstanceInitializers.push(initializer); + } + instanceMethodExtraInitializersName ??= factory.createUniqueName("_instanceExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); } } if (isClassStaticBlockDeclaration(member)) { @@ -604,8 +643,8 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc // exit early if possible if ( - staticExtraInitializersName && - instanceExtraInitializersName && + staticMethodExtraInitializersName && + instanceMethodExtraInitializersName && hasStaticInitializers && hasNonAmbientInstanceFields && hasStaticPrivateClassElements @@ -616,12 +655,15 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc return { class: node, + classThis, metadataReference, - instanceExtraInitializersName, - staticExtraInitializersName, + instanceMethodExtraInitializersName, + staticMethodExtraInitializersName, hasStaticInitializers, hasNonAmbientInstanceFields, hasStaticPrivateClassElements, + pendingStaticInitializers, + pendingInstanceInitializers, }; } @@ -655,15 +697,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc classInfo.classDecoratorsName = factory.createUniqueName("_classDecorators", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); classInfo.classDescriptorName = factory.createUniqueName("_classDescriptor", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); classInfo.classExtraInitializersName = factory.createUniqueName("_classExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); - // We do not mark _classThis as FileLevel if it may be reused by class private fields, which requires the - // ability access the captured `_classThis` of outer scopes. - const needsUniqueClassThis = some(node.members, member => (isPrivateIdentifierClassElementDeclaration(member) || isAutoAccessorPropertyDeclaration(member)) && hasStaticModifier(member)); - classInfo.classThis = factory.createUniqueName( - "_classThis", - needsUniqueClassThis ? - GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.ReservedInNestedScopes : - GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel, - ); + Debug.assertIsDefined(classInfo.classThis); classDefinitionStatements.push( createLet(classInfo.classDecoratorsName, factory.createArrayLiteralExpression(classDecorators)), createLet(classInfo.classDescriptorName), @@ -718,7 +752,11 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc leadingBlockStatements = append(leadingBlockStatements, createMetadata(classInfo.metadataReference, classInfo.classSuper)); - let members = visitNodes(node.members, classElementVisitor, isClassElement); + // Since the constructor can appear anywhere in the class body and its transform depends on other class elements, + // we must first visit all non-constructor members, then visit the constructor, all while maintaining document order. + let members = node.members; + members = visitNodes(members, node => isConstructorDeclaration(node) ? node : classElementVisitor(node), isClassElement); + members = visitNodes(members, node => isConstructorDeclaration(node) ? classElementVisitor(node) : node, isClassElement); if (pendingExpressions) { let outerThis: Identifier | undefined; for (let expression of pendingExpressions) { @@ -751,7 +789,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc } exitClass(); - if (classInfo.instanceExtraInitializersName && !getFirstConstructorWithBody(node)) { + if (some(classInfo.pendingInstanceInitializers) && !getFirstConstructorWithBody(node)) { const initializerStatements = prepareConstructor(node, classInfo); if (initializerStatements) { const extendsClauseElement = getEffectiveBaseTypeNode(node); @@ -770,21 +808,21 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc } } - // Used in steps 5, 7, and 11 - if (classInfo.staticExtraInitializersName) { + // Used in class definition steps 5, 7, and 11 + if (classInfo.staticMethodExtraInitializersName) { classDefinitionStatements.push( - createLet(classInfo.staticExtraInitializersName, factory.createArrayLiteralExpression()), + createLet(classInfo.staticMethodExtraInitializersName, factory.createArrayLiteralExpression()), ); } - // Used in steps 6, 8, and during construction - if (classInfo.instanceExtraInitializersName) { + // Used in class definition steps 6, 8, and during construction + if (classInfo.instanceMethodExtraInitializersName) { classDefinitionStatements.push( - createLet(classInfo.instanceExtraInitializersName, factory.createArrayLiteralExpression()), + createLet(classInfo.instanceMethodExtraInitializersName, factory.createArrayLiteralExpression()), ); } - // Used in steps 7, 8, 12, and construction + // Used in class definition steps 7, 8, 12, and construction if (classInfo.memberInfos) { forEachEntry(classInfo.memberInfos, (memberInfo, member) => { if (isStatic(member)) { @@ -792,6 +830,9 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc if (memberInfo.memberInitializersName) { classDefinitionStatements.push(createLet(memberInfo.memberInitializersName, factory.createArrayLiteralExpression())); } + if (memberInfo.memberExtraInitializersName) { + classDefinitionStatements.push(createLet(memberInfo.memberExtraInitializersName, factory.createArrayLiteralExpression())); + } if (memberInfo.memberDescriptorName) { classDefinitionStatements.push(createLet(memberInfo.memberDescriptorName)); } @@ -799,7 +840,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc }); } - // Used in steps 7, 8, 12, and construction + // Used in class definition steps 7, 8, 12, and construction if (classInfo.memberInfos) { forEachEntry(classInfo.memberInfos, (memberInfo, member) => { if (!isStatic(member)) { @@ -807,6 +848,9 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc if (memberInfo.memberInitializersName) { classDefinitionStatements.push(createLet(memberInfo.memberInitializersName, factory.createArrayLiteralExpression())); } + if (memberInfo.memberExtraInitializersName) { + classDefinitionStatements.push(createLet(memberInfo.memberExtraInitializersName, factory.createArrayLiteralExpression())); + } if (memberInfo.memberDescriptorName) { classDefinitionStatements.push(createLet(memberInfo.memberDescriptorName)); } @@ -857,19 +901,21 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc leadingBlockStatements.push(factory.createExpressionStatement(classReferenceAssignment)); } - // if (metadata) Object.defineProperty(C, Symbol.metadata, { configurable: true, writable: true, value: metadata }); + // produces: + // if (metadata) Object.defineProperty(C, Symbol.metadata, { configurable: true, writable: true, value: metadata }); leadingBlockStatements.push(createSymbolMetadata(renamedClassThis, classInfo.metadataReference)); // 11. Static extra initializers are evaluated - if (classInfo.staticExtraInitializersName) { - const runStaticInitializersHelper = emitHelpers().createRunInitializersHelper(renamedClassThis, classInfo.staticExtraInitializersName); - const runStaticInitializersStatement = factory.createExpressionStatement(runStaticInitializersHelper); - setSourceMapRange(runStaticInitializersStatement, node.name ?? moveRangePastDecorators(node)); - leadingBlockStatements = append(leadingBlockStatements, runStaticInitializersStatement); + // 12. Static fields are initialized (incl. extra initializers) and static blocks are evaluated + if (some(classInfo.pendingStaticInitializers)) { + for (const initializer of classInfo.pendingStaticInitializers) { + const initializerStatement = factory.createExpressionStatement(initializer); + setSourceMapRange(initializerStatement, getSourceMapRange(initializer)); + trailingBlockStatements = append(trailingBlockStatements, initializerStatement); + } + classInfo.pendingStaticInitializers = undefined; } - // 12. Static fields are initialized and static blocks are evaluated - // 13. Class extra initializers are evaluated if (classInfo.classExtraInitializersName) { const runClassInitializersHelper = emitHelpers().createRunInitializersHelper(renamedClassThis, classInfo.classExtraInitializersName); @@ -1097,20 +1143,18 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc // fields, we'll inject the `__runInitializers()` call for these extra initializers into the initializer of // the first class member that will be initialized. However, if the class does not contain any fields that // we can piggyback on, we need to synthesize a `__runInitializers()` call in the constructor instead. - if (classInfo.instanceExtraInitializersName && !classInfo.hasNonAmbientInstanceFields) { + if (some(classInfo.pendingInstanceInitializers)) { // If there are instance extra initializers we need to add them to the body along with any // field initializers const statements: Statement[] = []; statements.push( factory.createExpressionStatement( - emitHelpers().createRunInitializersHelper( - factory.createThis(), - classInfo.instanceExtraInitializersName, - ), + factory.inlineExpressions(classInfo.pendingInstanceInitializers), ), ); + classInfo.pendingInstanceInitializers = undefined; return statements; } } @@ -1199,6 +1243,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc let referencedName: Expression | undefined; let name: PropertyName | undefined; let initializersName: Identifier | undefined; + let extraInitializersName: Identifier | undefined; let thisArg: Identifier | undefined; let descriptorName: Identifier | undefined; if (!classInfo) { @@ -1281,24 +1326,25 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc metadata: classInfo.metadataReference, }; - const extraInitializers = isStatic(member) ? - classInfo.staticExtraInitializersName ??= factory.createUniqueName("_staticExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel) : - classInfo.instanceExtraInitializersName ??= factory.createUniqueName("_instanceExtraInitializers", GeneratedIdentifierFlags.Optimistic | GeneratedIdentifierFlags.FileLevel); - if (isMethodOrAccessor(member)) { - // __esDecorate(this, null, _static_member_decorators, { kind: "method", name: "...", static: true, private: false, access: { ... } }, _staticExtraInitializers); - // __esDecorate(this, null, _member_decorators, { kind: "method", name: "...", static: false, private: false, access: { ... } }, _instanceExtraInitializers); - // __esDecorate(this, null, _static_member_decorators, { kind: "getter", name: "...", static: true, private: false, access: { ... } }, _staticExtraInitializers); - // __esDecorate(this, null, _member_decorators, { kind: "getter", name: "...", static: false, private: false, access: { ... } }, _instanceExtraInitializers); - // __esDecorate(this, null, _static_member_decorators, { kind: "setter", name: "...", static: true, private: false, access: { ... } }, _staticExtraInitializers); - // __esDecorate(this, null, _member_decorators, { kind: "setter", name: "...", static: false, private: false, access: { ... } }, _instanceExtraInitializers); + // produces (public elements): + // __esDecorate(this, null, _static_member_decorators, { kind: "method", name: "...", static: true, private: false, access: { ... } }, _staticExtraInitializers); + // __esDecorate(this, null, _member_decorators, { kind: "method", name: "...", static: false, private: false, access: { ... } }, _instanceExtraInitializers); + // __esDecorate(this, null, _static_member_decorators, { kind: "getter", name: "...", static: true, private: false, access: { ... } }, _staticExtraInitializers); + // __esDecorate(this, null, _member_decorators, { kind: "getter", name: "...", static: false, private: false, access: { ... } }, _instanceExtraInitializers); + // __esDecorate(this, null, _static_member_decorators, { kind: "setter", name: "...", static: true, private: false, access: { ... } }, _staticExtraInitializers); + // __esDecorate(this, null, _member_decorators, { kind: "setter", name: "...", static: false, private: false, access: { ... } }, _instanceExtraInitializers); - // __esDecorate(this, _static_member_descriptor = { value() { ... } }, _static_member_decorators, { kind: "method", name: "...", static: true, private: true, access: { ... } }, _staticExtraInitializers); - // __esDecorate(this, _member_descriptor = { value() { ... } }, _member_decorators, { kind: "method", name: "...", static: false, private: true, access: { ... } }, _instanceExtraInitializers); - // __esDecorate(this, _static_member_descriptor = { get() { ... } }, _static_member_decorators, { kind: "getter", name: "...", static: true, private: true, access: { ... } }, _staticExtraInitializers); - // __esDecorate(this, _member_descriptor = { get() { ... } }, _member_decorators, { kind: "getter", name: "...", static: false, private: true, access: { ... } }, _instanceExtraInitializers); - // __esDecorate(this, _static_member_descriptor = { set() { ... } }, _static_member_decorators, { kind: "setter", name: "...", static: true, private: true, access: { ... } }, _staticExtraInitializers); - // __esDecorate(this, _member_descriptor = { set() { ... } }, _member_decorators, { kind: "setter", name: "...", static: false, private: true, access: { ... } }, _instanceExtraInitializers); + // produces (private elements): + // __esDecorate(this, _static_member_descriptor = { value() { ... } }, _static_member_decorators, { kind: "method", name: "...", static: true, private: true, access: { ... } }, _staticExtraInitializers); + // __esDecorate(this, _member_descriptor = { value() { ... } }, _member_decorators, { kind: "method", name: "...", static: false, private: true, access: { ... } }, _instanceExtraInitializers); + // __esDecorate(this, _static_member_descriptor = { get() { ... } }, _static_member_decorators, { kind: "getter", name: "...", static: true, private: true, access: { ... } }, _staticExtraInitializers); + // __esDecorate(this, _member_descriptor = { get() { ... } }, _member_decorators, { kind: "getter", name: "...", static: false, private: true, access: { ... } }, _instanceExtraInitializers); + // __esDecorate(this, _static_member_descriptor = { set() { ... } }, _static_member_decorators, { kind: "setter", name: "...", static: true, private: true, access: { ... } }, _staticExtraInitializers); + // __esDecorate(this, _member_descriptor = { set() { ... } }, _member_decorators, { kind: "setter", name: "...", static: false, private: true, access: { ... } }, _instanceExtraInitializers); + + const methodExtraInitializersName = isStatic(member) ? classInfo.staticMethodExtraInitializersName : classInfo.instanceMethodExtraInitializersName; + Debug.assertIsDefined(methodExtraInitializersName); let descriptor: Expression | undefined; if (isPrivateIdentifierClassElementDeclaration(member) && createDescriptor) { @@ -1307,13 +1353,14 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc descriptor = factory.createAssignment(descriptorName, descriptor); } - const esDecorateExpression = emitHelpers().createESDecorateHelper(factory.createThis(), descriptor ?? factory.createNull(), memberDecoratorsName, context, factory.createNull(), extraInitializers); + const esDecorateExpression = emitHelpers().createESDecorateHelper(factory.createThis(), descriptor ?? factory.createNull(), memberDecoratorsName, context, factory.createNull(), methodExtraInitializersName); const esDecorateStatement = factory.createExpressionStatement(esDecorateExpression); setSourceMapRange(esDecorateStatement, moveRangePastDecorators(member)); statements.push(esDecorateStatement); } else if (isPropertyDeclaration(member)) { initializersName = memberInfo.memberInitializersName ??= createHelperVariable(member, "initializers"); + extraInitializersName = memberInfo.memberExtraInitializersName ??= createHelperVariable(member, "extraInitializers"); if (isStatic(member)) { thisArg = classInfo.classThis; @@ -1326,8 +1373,9 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc descriptor = factory.createAssignment(descriptorName, descriptor); } - // _static_field_initializers = __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "...", static: true, private: ..., access: { ... } }, _staticExtraInitializers); - // _field_initializers = __esDecorate(null, null, _member_decorators, { kind: "field", name: "...", static: false, private: ..., access: { ... } }, _instanceExtraInitializers); + // produces: + // _static_field_initializers = __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "...", static: true, private: ..., access: { ... } }, _staticExtraInitializers); + // _field_initializers = __esDecorate(null, null, _member_decorators, { kind: "field", name: "...", static: false, private: ..., access: { ... } }, _instanceExtraInitializers); const esDecorateExpression = emitHelpers().createESDecorateHelper( isAutoAccessorPropertyDeclaration(member) ? factory.createThis() : @@ -1336,7 +1384,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc memberDecoratorsName, context, initializersName, - extraInitializers, + extraInitializersName, ); const esDecorateStatement = factory.createExpressionStatement(esDecorateExpression); setSourceMapRange(esDecorateStatement, moveRangePastDecorators(member)); @@ -1356,7 +1404,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc setEmitFlags(name, EmitFlags.NoLeadingComments); } - return { modifiers, referencedName, name, initializersName, descriptorName, thisArg }; + return { modifiers, referencedName, name, initializersName, extraInitializersName, descriptorName, thisArg }; } function visitMethodDeclaration(node: MethodDeclaration) { @@ -1404,10 +1452,10 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc } } - function visitClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration) { + function visitClassStaticBlockDeclaration(node: ClassStaticBlockDeclaration): VisitResult { enterClassElement(node); - let result: ClassStaticBlockDeclaration; + let result: VisitResult; if (isClassNamedEvaluationHelperBlock(node)) { result = visitEachChild(node, visitor, context); } @@ -1418,8 +1466,26 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc classThis = savedClassThis; } else { - if (classInfo) classInfo.hasStaticInitializers = true; - result = visitEachChild(node, visitor, context); + node = visitEachChild(node, visitor, context); + result = node; + if (classInfo) { + classInfo.hasStaticInitializers = true; + if (some(classInfo.pendingStaticInitializers)) { + // If we tried to inject the pending initializers into the current block, we might run into + // variable name collisions due to sharing this blocks scope. To avoid this, we inject a new + // static block that contains the pending initializers that precedes this block. + const statements: Statement[] = []; + for (const initializer of classInfo.pendingStaticInitializers) { + const initializerStatement = factory.createExpressionStatement(initializer); + setSourceMapRange(initializerStatement, getSourceMapRange(initializer)); + statements.push(initializerStatement); + } + const body = factory.createBlock(statements, /*multiLine*/ true); + const staticBlock = factory.createClassStaticBlockDeclaration(body); + result = [staticBlock, result]; + classInfo.pendingStaticInitializers = undefined; + } + } } exitClassElement(); @@ -1445,7 +1511,7 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc // a. Let _value_ be ? NamedEvaluation of |Initializer| with argument _functionObject_.[[ClassFieldInitializerName]]. // ... - const { modifiers, name, initializersName, descriptorName, thisArg } = partialTransformClassElement(node, classInfo, hasAccessorModifier(node) ? createAccessorPropertyDescriptorObject : undefined); + const { modifiers, name, initializersName, extraInitializersName, descriptorName, thisArg } = partialTransformClassElement(node, classInfo, hasAccessorModifier(node) ? createAccessorPropertyDescriptorObject : undefined); startLexicalEnvironment(); @@ -1458,19 +1524,6 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc ); } - if (!isStatic(node) && classInfo?.instanceExtraInitializersName && !classInfo?.hasInjectedInstanceInitializers) { - // for the first non-static field initializer, inject a call to `__runInitializers`. - classInfo.hasInjectedInstanceInitializers = true; - initializer ??= factory.createVoidZero(); - initializer = factory.createParenthesizedExpression(factory.createComma( - emitHelpers().createRunInitializersHelper( - factory.createThis(), - classInfo.instanceExtraInitializersName, - ), - initializer, - )); - } - if (isStatic(node) && classInfo && initializer) { classInfo.hasStaticInitializers = true; } @@ -1483,6 +1536,33 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc ]); } + if (classInfo) { + if (isStatic(node)) { + initializer = injectPendingInitializers(classInfo, /*isStatic*/ true, initializer); + if (extraInitializersName) { + classInfo.pendingStaticInitializers ??= []; + classInfo.pendingStaticInitializers.push( + emitHelpers().createRunInitializersHelper( + classInfo.classThis ?? factory.createThis(), + extraInitializersName, + ), + ); + } + } + else { + initializer = injectPendingInitializers(classInfo, /*isStatic*/ false, initializer); + if (extraInitializersName) { + classInfo.pendingInstanceInitializers ??= []; + classInfo.pendingInstanceInitializers.push( + emitHelpers().createRunInitializersHelper( + factory.createThis(), + extraInitializersName, + ), + ); + } + } + } + exitClassElement(); if (hasAccessorModifier(node) && descriptorName) { @@ -2116,21 +2196,47 @@ export function transformESDecorators(context: TransformationContext): (x: Sourc return factory.updatePartiallyEmittedExpression(node, expression); } - function injectPendingExpressions(expression: Expression) { + function injectPendingExpressionsCommon(pendingExpressions: Expression[] | undefined, expression: Expression | undefined) { if (some(pendingExpressions)) { - if (isParenthesizedExpression(expression)) { - pendingExpressions.push(expression.expression); - expression = factory.updateParenthesizedExpression(expression, factory.inlineExpressions(pendingExpressions)); + if (expression) { + if (isParenthesizedExpression(expression)) { + pendingExpressions.push(expression.expression); + expression = factory.updateParenthesizedExpression(expression, factory.inlineExpressions(pendingExpressions)); + } + else { + pendingExpressions.push(expression); + expression = factory.inlineExpressions(pendingExpressions); + } } else { - pendingExpressions.push(expression); expression = factory.inlineExpressions(pendingExpressions); } - pendingExpressions = undefined; } return expression; } + function injectPendingExpressions(expression: Expression) { + const result = injectPendingExpressionsCommon(pendingExpressions, expression); + Debug.assertIsDefined(result); + if (result !== expression) { + pendingExpressions = undefined; + } + return result; + } + + function injectPendingInitializers(classInfo: ClassInfo, isStatic: boolean, expression: Expression | undefined) { + const result = injectPendingExpressionsCommon(isStatic ? classInfo.pendingStaticInitializers : classInfo.pendingInstanceInitializers, expression); + if (result !== expression) { + if (isStatic) { + classInfo.pendingStaticInitializers = undefined; + } + else { + classInfo.pendingInstanceInitializers = undefined; + } + } + return result; + } + /** * Transforms all of the decorators for a declaration into an array of expressions. * diff --git a/src/testRunner/unittests/evaluation/esDecorators.ts b/src/testRunner/unittests/evaluation/esDecorators.ts index a4c12a2d7da..7dcf1e1f33a 100644 --- a/src/testRunner/unittests/evaluation/esDecorators.ts +++ b/src/testRunner/unittests/evaluation/esDecorators.ts @@ -2183,14 +2183,6 @@ describe("unittests:: evaluation:: esDecorators", () => { "static method extra initializer evaluation 2b", "static method extra initializer evaluation 1a", "static method extra initializer evaluation 1b", - "static auto-accessor extra initializer evaluation 2a", - "static auto-accessor extra initializer evaluation 2b", - "static auto-accessor extra initializer evaluation 1a", - "static auto-accessor extra initializer evaluation 1b", - "static field extra initializer evaluation 2a", - "static field extra initializer evaluation 2b", - "static field extra initializer evaluation 1a", - "static field extra initializer evaluation 1b", // next, static initializers (i.e., fields, auto-accessors, and static blocks) are evaluated in document // order and applied to the replacement class: @@ -2198,9 +2190,18 @@ describe("unittests:: evaluation:: esDecorators", () => { "static field initializer evaluation", "static field injected initializer evaluation 1", "static field injected initializer evaluation 2", + "static field extra initializer evaluation 2a", + "static field extra initializer evaluation 2b", + "static field extra initializer evaluation 1a", + "static field extra initializer evaluation 1b", + "static auto-accessor initializer evaluation", "static auto-accessor injected initializer evaluation 1", "static auto-accessor injected initializer evaluation 2", + "static auto-accessor extra initializer evaluation 2a", + "static auto-accessor extra initializer evaluation 2b", + "static auto-accessor extra initializer evaluation 1a", + "static auto-accessor extra initializer evaluation 1b", // NOTE: at this point, static private fields will be installed (TODO: on the replacement class) // finally, class extra initializers are applied in the order they were added (i.e., methods before fields, @@ -2230,23 +2231,23 @@ describe("unittests:: evaluation:: esDecorators", () => { "instance method extra initializer evaluation 2b", "instance method extra initializer evaluation 1a", "instance method extra initializer evaluation 1b", - "instance auto-accessor extra initializer evaluation 2a", - "instance auto-accessor extra initializer evaluation 2b", - "instance auto-accessor extra initializer evaluation 1a", - "instance auto-accessor extra initializer evaluation 1b", - "instance field extra initializer evaluation 2a", - "instance field extra initializer evaluation 2b", - "instance field extra initializer evaluation 1a", - "instance field extra initializer evaluation 1b", // next, instance initializers (i.e., fields, auto-accessors, and static blocks) are evaluated in document // order: "instance field initializer evaluation", "instance field injected initializer evaluation 1", "instance field injected initializer evaluation 2", + "instance field extra initializer evaluation 2a", + "instance field extra initializer evaluation 2b", + "instance field extra initializer evaluation 1a", + "instance field extra initializer evaluation 1b", "instance auto-accessor initializer evaluation", "instance auto-accessor injected initializer evaluation 1", "instance auto-accessor injected initializer evaluation 2", + "instance auto-accessor extra initializer evaluation 2a", + "instance auto-accessor extra initializer evaluation 2b", + "instance auto-accessor extra initializer evaluation 1a", + "instance auto-accessor extra initializer evaluation 1b", // NOTE: at this point, instance private fields will be installed. // finally, statements in the constructor after the call to `super()` are evaluated: diff --git a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2015).js index 28403fa0f27..6e098787886 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2015).js @@ -137,22 +137,21 @@ let C = (() => { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = _classThis = class { - constructor() { - /*13*/ - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - _C_z_1_accessor_storage.set(this, __runInitializers(this, _z_initializers, 1)); - } /*4*/ method() { } /*7*/ @@ -162,6 +161,12 @@ let C = (() => { /*16*/ get z() { return __classPrivateFieldGet(this, _C_z_1_accessor_storage, "f"); } set z(value) { __classPrivateFieldSet(this, _C_z_1_accessor_storage, value, "f"); } + constructor() { + /*13*/ + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); + _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); + __runInitializers(this, _z_extraInitializers); + } }; _C_z_1_accessor_storage = new WeakMap(); _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }; @@ -185,22 +190,22 @@ let C = (() => { __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(); /*28*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; (() => { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(); return C = _classThis; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js index c878d18ab1a..d187a927e23 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=commonjs,target=es2022).js @@ -137,16 +137,20 @@ let C = (() => { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = class { static { _classThis = this; } static { __setFunctionName(this, "C"); } @@ -166,17 +170,16 @@ let C = (() => { __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); } /*4*/ method() { } @@ -186,18 +189,22 @@ let C = (() => { set x(value) { } /*13*/ y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = __runInitializers(this, _z_initializers, 1); + #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); /*16*/ get z() { return this.#z_accessor_storage; } set z(value) { this.#z_accessor_storage = value; } static { /*28*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; } static { - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; + } + constructor() { + __runInitializers(this, _z_extraInitializers); } static { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); } }; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2015).js index 43ab4e8de8c..625b665888e 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2015).js @@ -137,22 +137,21 @@ let C = (() => { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = _classThis = class { - constructor() { - /*13*/ - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - _C_z_1_accessor_storage.set(this, __runInitializers(this, _z_initializers, 1)); - } /*4*/ method() { } /*7*/ @@ -162,6 +161,12 @@ let C = (() => { /*16*/ get z() { return __classPrivateFieldGet(this, _C_z_1_accessor_storage, "f"); } set z(value) { __classPrivateFieldSet(this, _C_z_1_accessor_storage, value, "f"); } + constructor() { + /*13*/ + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); + _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); + __runInitializers(this, _z_extraInitializers); + } }; _C_z_1_accessor_storage = new WeakMap(); _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }; @@ -185,22 +190,22 @@ let C = (() => { __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(); /*28*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; (() => { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(); return C = _classThis; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js index f9fa21082e5..cbb7239daf2 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-commentPreservation(module=esnext,target=es2022).js @@ -137,16 +137,20 @@ let C = (() => { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = class { static { _classThis = this; } static { __setFunctionName(this, "C"); } @@ -166,17 +170,16 @@ let C = (() => { __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); } /*4*/ method() { } @@ -186,18 +189,22 @@ let C = (() => { set x(value) { } /*13*/ y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = __runInitializers(this, _z_initializers, 1); + #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); /*16*/ get z() { return this.#z_accessor_storage; } set z(value) { this.#z_accessor_storage = value; } static { /*28*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; } static { - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; + } + constructor() { + __runInitializers(this, _z_extraInitializers); } static { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); } }; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=false).js index 2bfad8c2f4f..9a30f48f2cf 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=false).js @@ -17,18 +17,21 @@ const field3 = "field3"; let C = (() => { var _a; var _b; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return _a = class C { constructor() { - this.field1 = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)); - this["field2"] = __runInitializers(this, _member_initializers, 2); - this[_b] = __runInitializers(this, _member_initializers_1, 3); + this.field1 = __runInitializers(this, _field1_initializers, 1); + this["field2"] = (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)); + this[_b] = (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)); + __runInitializers(this, _member_extraInitializers_1); } }, _field1_decorators = [dec(1)], @@ -37,9 +40,9 @@ let C = (() => { _b = __propKey(field3), (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=true).js index 5f74a53f3e2..eb5a305ea63 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2015,usedefineforclassfields=true).js @@ -17,33 +17,36 @@ const field3 = "field3"; let C = (() => { var _a; var _b; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return _a = class C { constructor() { Object.defineProperty(this, "field1", { enumerable: true, configurable: true, writable: true, - value: (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)) + value: __runInitializers(this, _field1_initializers, 1) }); Object.defineProperty(this, "field2", { enumerable: true, configurable: true, writable: true, - value: __runInitializers(this, _member_initializers, 2) + value: (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)) }); Object.defineProperty(this, _b, { enumerable: true, configurable: true, writable: true, - value: __runInitializers(this, _member_initializers_1, 3) + value: (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)) }); + __runInitializers(this, _member_extraInitializers_1); } }, _field1_decorators = [dec(1)], @@ -52,9 +55,9 @@ let C = (() => { _b = __propKey(field3), (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=false).js index fc43f823337..bed8a4f89cf 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=false).js @@ -16,26 +16,29 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return class C { - constructor() { - this.field1 = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)); - this["field2"] = __runInitializers(this, _member_initializers, 2); - this[_a] = __runInitializers(this, _member_initializers_1, 3); - } static { _field1_decorators = [dec(1)], _member_decorators = [dec(2)], _member_decorators_1 = [dec(3)], _a = __propKey(field3); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } + constructor() { + this.field1 = __runInitializers(this, _field1_initializers, 1); + this["field2"] = (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)); + this[_a] = (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)); + __runInitializers(this, _member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=true).js index 347a71550f9..ca57211bbb7 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es2022,usedefineforclassfields=true).js @@ -16,23 +16,28 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - field1 = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)); - ["field2"] = __runInitializers(this, _member_initializers, 2); - [(_field1_decorators = [dec(1)], _member_decorators = [dec(2)], _member_decorators_1 = [dec(3)], _a = __propKey(field3))] = __runInitializers(this, _member_initializers_1, 3); + field1 = __runInitializers(this, _field1_initializers, 1); + ["field2"] = (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)); + [(_field1_decorators = [dec(1)], _member_decorators = [dec(2)], _member_decorators_1 = [dec(3)], _a = __propKey(field3))] = (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)); + constructor() { + __runInitializers(this, _member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=false).js index 1e75741eea5..fe2c28eb129 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=false).js @@ -17,18 +17,21 @@ var field3 = "field3"; var C = function () { var _a; var _b; - var _instanceExtraInitializers = []; var _field1_decorators; var _field1_initializers = []; + var _field1_extraInitializers = []; var _member_decorators; var _member_initializers = []; + var _member_extraInitializers = []; var _member_decorators_1; var _member_initializers_1 = []; + var _member_extraInitializers_1 = []; return _a = /** @class */ (function () { function C() { - this.field1 = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)); - this["field2"] = __runInitializers(this, _member_initializers, 2); - this[_b] = __runInitializers(this, _member_initializers_1, 3); + this.field1 = __runInitializers(this, _field1_initializers, 1); + this["field2"] = (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)); + this[_b] = (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)); + __runInitializers(this, _member_extraInitializers_1); } return C; }()), @@ -38,9 +41,9 @@ var C = function () { _b = __propKey(field3), (function () { var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=true).js index 24d2e5bd006..6c8c7701bdf 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=es5,usedefineforclassfields=true).js @@ -17,33 +17,36 @@ var field3 = "field3"; var C = function () { var _a; var _b; - var _instanceExtraInitializers = []; var _field1_decorators; var _field1_initializers = []; + var _field1_extraInitializers = []; var _member_decorators; var _member_initializers = []; + var _member_extraInitializers = []; var _member_decorators_1; var _member_initializers_1 = []; + var _member_extraInitializers_1 = []; return _a = /** @class */ (function () { function C() { Object.defineProperty(this, "field1", { enumerable: true, configurable: true, writable: true, - value: (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)) + value: __runInitializers(this, _field1_initializers, 1) }); Object.defineProperty(this, "field2", { enumerable: true, configurable: true, writable: true, - value: __runInitializers(this, _member_initializers, 2) + value: (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)) }); Object.defineProperty(this, _b, { enumerable: true, configurable: true, writable: true, - value: __runInitializers(this, _member_initializers_1, 3) + value: (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)) }); + __runInitializers(this, _member_extraInitializers_1); } return C; }()), @@ -53,9 +56,9 @@ var C = function () { _b = __propKey(field3), (function () { var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _b, static: false, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=esnext,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=esnext,usedefineforclassfields=false).js index fc43f823337..bed8a4f89cf 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=esnext,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStatic(target=esnext,usedefineforclassfields=false).js @@ -16,26 +16,29 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return class C { - constructor() { - this.field1 = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)); - this["field2"] = __runInitializers(this, _member_initializers, 2); - this[_a] = __runInitializers(this, _member_initializers_1, 3); - } static { _field1_decorators = [dec(1)], _member_decorators = [dec(2)], _member_decorators_1 = [dec(3)], _a = __propKey(field3); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(null, null, _field1_decorators, { kind: "field", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(null, null, _member_decorators, { kind: "field", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(null, null, _member_decorators_1, { kind: "field", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } + constructor() { + this.field1 = __runInitializers(this, _field1_initializers, 1); + this["field2"] = (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)); + this[_a] = (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)); + __runInitializers(this, _member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2015).js index e4121674c10..f8ca6d07bfc 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2015).js @@ -17,31 +17,34 @@ const field3 = "field3"; let C = (() => { var _a, _C_field1_accessor_storage, _C__a_accessor_storage, _C__b_accessor_storage; var _b; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return _a = class C { - constructor() { - _C_field1_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1))); - _C__a_accessor_storage.set(this, __runInitializers(this, _member_initializers, 2)); - _C__b_accessor_storage.set(this, __runInitializers(this, _member_initializers_1, 3)); - } get field1() { return __classPrivateFieldGet(this, _C_field1_accessor_storage, "f"); } set field1(value) { __classPrivateFieldSet(this, _C_field1_accessor_storage, value, "f"); } get [(_C_field1_accessor_storage = new WeakMap(), _C__a_accessor_storage = new WeakMap(), _C__b_accessor_storage = new WeakMap(), "field2")]() { return __classPrivateFieldGet(this, _C__a_accessor_storage, "f"); } set ["field2"](value) { __classPrivateFieldSet(this, _C__a_accessor_storage, value, "f"); } get [(_field1_decorators = [dec(1)], _member_decorators = [dec(2)], _member_decorators_1 = [dec(3)], _b = __propKey(field3))]() { return __classPrivateFieldGet(this, _C__b_accessor_storage, "f"); } set [_b](value) { __classPrivateFieldSet(this, _C__b_accessor_storage, value, "f"); } + constructor() { + _C_field1_accessor_storage.set(this, __runInitializers(this, _field1_initializers, 1)); + _C__a_accessor_storage.set(this, (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2))); + _C__b_accessor_storage.set(this, (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3))); + __runInitializers(this, _member_extraInitializers_1); + } }, (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(_a, null, _field1_decorators, { kind: "accessor", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(_a, null, _member_decorators, { kind: "accessor", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(_a, null, _member_decorators_1, { kind: "accessor", name: _b, static: false, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(_a, null, _field1_decorators, { kind: "accessor", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(_a, null, _member_decorators, { kind: "accessor", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(_a, null, _member_decorators_1, { kind: "accessor", name: _b, static: false, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2022).js index ea4e28865b2..26fd995bcfd 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticAccessor(target=es2022).js @@ -16,29 +16,34 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _instanceExtraInitializers = []; let _field1_decorators; let _field1_initializers = []; + let _field1_extraInitializers = []; let _member_decorators; let _member_initializers = []; + let _member_extraInitializers = []; let _member_decorators_1; let _member_initializers_1 = []; + let _member_extraInitializers_1 = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(this, null, _field1_decorators, { kind: "accessor", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _instanceExtraInitializers); - __esDecorate(this, null, _member_decorators, { kind: "accessor", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _instanceExtraInitializers); - __esDecorate(this, null, _member_decorators_1, { kind: "accessor", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _instanceExtraInitializers); + __esDecorate(this, null, _field1_decorators, { kind: "accessor", name: "field1", static: false, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _field1_initializers, _field1_extraInitializers); + __esDecorate(this, null, _member_decorators, { kind: "accessor", name: "field2", static: false, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _member_initializers, _member_extraInitializers); + __esDecorate(this, null, _member_decorators_1, { kind: "accessor", name: _a, static: false, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _member_initializers_1, _member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - #field1_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _field1_initializers, 1)); + #field1_accessor_storage = __runInitializers(this, _field1_initializers, 1); get field1() { return this.#field1_accessor_storage; } set field1(value) { this.#field1_accessor_storage = value; } - #_a_accessor_storage = __runInitializers(this, _member_initializers, 2); + #_a_accessor_storage = (__runInitializers(this, _field1_extraInitializers), __runInitializers(this, _member_initializers, 2)); get ["field2"]() { return this.#_a_accessor_storage; } set ["field2"](value) { this.#_a_accessor_storage = value; } - #_b_accessor_storage = __runInitializers(this, _member_initializers_1, 3); + #_b_accessor_storage = (__runInitializers(this, _member_extraInitializers), __runInitializers(this, _member_initializers_1, 3)); get [(_field1_decorators = [dec(1)], _member_decorators = [dec(2)], _member_decorators_1 = [dec(3)], _a = __propKey(field3))]() { return this.#_b_accessor_storage; } set [_a](value) { this.#_b_accessor_storage = value; } + constructor() { + __runInitializers(this, _member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2015).js index 37ab7eb44f8..c01012fa9bf 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2015).js @@ -11,19 +11,20 @@ class C { //// [esDecorators-classDeclaration-fields-nonStaticPrivate.js] let C = (() => { var _a, _C_field1; - let _instanceExtraInitializers = []; let _private_field1_decorators; let _private_field1_initializers = []; + let _private_field1_extraInitializers = []; return _a = class C { constructor() { - _C_field1.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _private_field1_initializers, 0))); + _C_field1.set(this, __runInitializers(this, _private_field1_initializers, 0)); + __runInitializers(this, _private_field1_extraInitializers); } }, _C_field1 = new WeakMap(), (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _private_field1_decorators = [dec]; - __esDecorate(null, null, _private_field1_decorators, { kind: "field", name: "#field1", static: false, private: true, access: { has: obj => __classPrivateFieldIn(_C_field1, obj), get: obj => __classPrivateFieldGet(obj, _C_field1, "f"), set: (obj, value) => { __classPrivateFieldSet(obj, _C_field1, value, "f"); } }, metadata: _metadata }, _private_field1_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _private_field1_decorators, { kind: "field", name: "#field1", static: false, private: true, access: { has: obj => __classPrivateFieldIn(_C_field1, obj), get: obj => __classPrivateFieldGet(obj, _C_field1, "f"), set: (obj, value) => { __classPrivateFieldSet(obj, _C_field1, value, "f"); } }, metadata: _metadata }, _private_field1_initializers, _private_field1_extraInitializers); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2022).js index 5be9b65bd6c..c5ee185a428 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivate(target=es2022).js @@ -10,16 +10,19 @@ class C { //// [esDecorators-classDeclaration-fields-nonStaticPrivate.js] let C = (() => { - let _instanceExtraInitializers = []; let _private_field1_decorators; let _private_field1_initializers = []; + let _private_field1_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _private_field1_decorators = [dec]; - __esDecorate(null, null, _private_field1_decorators, { kind: "field", name: "#field1", static: false, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _private_field1_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _private_field1_decorators, { kind: "field", name: "#field1", static: false, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _private_field1_initializers, _private_field1_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - #field1 = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _private_field1_initializers, 0)); + #field1 = __runInitializers(this, _private_field1_initializers, 0); + constructor() { + __runInitializers(this, _private_field1_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2015).js index cb37ef49f90..3f1025856e9 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2015).js @@ -11,14 +11,15 @@ class C { //// [esDecorators-classDeclaration-fields-nonStaticPrivateAccessor.js] let C = (() => { var _C_instances, _a, _C_field1_accessor_storage, _C_field1_get, _C_field1_set; - let _instanceExtraInitializers = []; let _private_field1_decorators; let _private_field1_initializers = []; + let _private_field1_extraInitializers = []; let _private_field1_descriptor; return _a = class C { constructor() { _C_instances.add(this); - _C_field1_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _private_field1_initializers, 0))); + _C_field1_accessor_storage.set(this, __runInitializers(this, _private_field1_initializers, 0)); + __runInitializers(this, _private_field1_extraInitializers); } }, _C_field1_accessor_storage = new WeakMap(), @@ -28,7 +29,7 @@ let C = (() => { (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _private_field1_decorators = [dec]; - __esDecorate(_a, _private_field1_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _C_field1_accessor_storage, "f"); }, "#field1", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _C_field1_accessor_storage, value, "f"); }, "#field1", "set") }, _private_field1_decorators, { kind: "accessor", name: "#field1", static: false, private: true, access: { has: obj => __classPrivateFieldIn(_C_instances, obj), get: obj => __classPrivateFieldGet(obj, _C_instances, "a", _C_field1_get), set: (obj, value) => { __classPrivateFieldSet(obj, _C_instances, value, "a", _C_field1_set); } }, metadata: _metadata }, _private_field1_initializers, _instanceExtraInitializers); + __esDecorate(_a, _private_field1_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _C_field1_accessor_storage, "f"); }, "#field1", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _C_field1_accessor_storage, value, "f"); }, "#field1", "set") }, _private_field1_decorators, { kind: "accessor", name: "#field1", static: false, private: true, access: { has: obj => __classPrivateFieldIn(_C_instances, obj), get: obj => __classPrivateFieldGet(obj, _C_instances, "a", _C_field1_get), set: (obj, value) => { __classPrivateFieldSet(obj, _C_instances, value, "a", _C_field1_set); } }, metadata: _metadata }, _private_field1_initializers, _private_field1_extraInitializers); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); })(), _a; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2022).js index cd4fde08189..c658a261dd4 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-nonStaticPrivateAccessor(target=es2022).js @@ -10,19 +10,22 @@ class C { //// [esDecorators-classDeclaration-fields-nonStaticPrivateAccessor.js] let C = (() => { - let _instanceExtraInitializers = []; let _private_field1_decorators; let _private_field1_initializers = []; + let _private_field1_extraInitializers = []; let _private_field1_descriptor; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _private_field1_decorators = [dec]; - __esDecorate(this, _private_field1_descriptor = { get: __setFunctionName(function () { return this.#field1_accessor_storage; }, "#field1", "get"), set: __setFunctionName(function (value) { this.#field1_accessor_storage = value; }, "#field1", "set") }, _private_field1_decorators, { kind: "accessor", name: "#field1", static: false, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _private_field1_initializers, _instanceExtraInitializers); + __esDecorate(this, _private_field1_descriptor = { get: __setFunctionName(function () { return this.#field1_accessor_storage; }, "#field1", "get"), set: __setFunctionName(function (value) { this.#field1_accessor_storage = value; }, "#field1", "set") }, _private_field1_decorators, { kind: "accessor", name: "#field1", static: false, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _private_field1_initializers, _private_field1_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - #field1_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _private_field1_initializers, 0)); + #field1_accessor_storage = __runInitializers(this, _private_field1_initializers, 0); get #field1() { return _private_field1_descriptor.get.call(this); } set #field1(value) { return _private_field1_descriptor.set.call(this, value); } + constructor() { + __runInitializers(this, _private_field1_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=false).js index aace6373fbf..fbb1c1e8da6 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=false).js @@ -17,13 +17,15 @@ const field3 = "field3"; let C = (() => { var _a; var _b; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return _a = class C { }, _static_field1_decorators = [dec(1)], @@ -32,14 +34,16 @@ let C = (() => { _b = __propKey(field3), (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), _a.field1 = __runInitializers(_a, _static_field1_initializers, 1), - _a["field2"] = __runInitializers(_a, _static_member_initializers, 2), - _a[_b] = __runInitializers(_a, _static_member_initializers_1, 3), + _a["field2"] = (__runInitializers(_a, _static_field1_extraInitializers), __runInitializers(_a, _static_member_initializers, 2)), + _a[_b] = (__runInitializers(_a, _static_member_extraInitializers), __runInitializers(_a, _static_member_initializers_1, 3)), + (() => { + __runInitializers(_a, _static_member_extraInitializers_1); + })(), _a; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=true).js index c1b41b7fe36..f09ee49d39a 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2015,usedefineforclassfields=true).js @@ -17,13 +17,15 @@ const field3 = "field3"; let C = (() => { var _a; var _b; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return _a = class C { }, _static_field1_decorators = [dec(1)], @@ -32,11 +34,10 @@ let C = (() => { _b = __propKey(field3), (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), Object.defineProperty(_a, "field1", { enumerable: true, @@ -48,13 +49,16 @@ let C = (() => { enumerable: true, configurable: true, writable: true, - value: __runInitializers(_a, _static_member_initializers, 2) + value: (__runInitializers(_a, _static_field1_extraInitializers), __runInitializers(_a, _static_member_initializers, 2)) }), Object.defineProperty(_a, _b, { enumerable: true, configurable: true, writable: true, - value: __runInitializers(_a, _static_member_initializers_1, 3) + value: (__runInitializers(_a, _static_member_extraInitializers), __runInitializers(_a, _static_member_initializers_1, 3)) }), + (() => { + __runInitializers(_a, _static_member_extraInitializers_1); + })(), _a; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=false).js index 3a2c6e94536..f57f2476872 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=false).js @@ -16,25 +16,29 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return class C { static { _static_field1_decorators = [dec(1)], _static_member_decorators = [dec(2)], _static_member_decorators_1 = [dec(3)], _a = __propKey(field3); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static { this.field1 = __runInitializers(this, _static_field1_initializers, 1); } - static { this["field2"] = __runInitializers(this, _static_member_initializers, 2); } - static { this[_a] = __runInitializers(this, _static_member_initializers_1, 3); } + static { this["field2"] = (__runInitializers(this, _static_field1_extraInitializers), __runInitializers(this, _static_member_initializers, 2)); } + static { this[_a] = (__runInitializers(this, _static_member_extraInitializers), __runInitializers(this, _static_member_initializers_1, 3)); } + static { + __runInitializers(this, _static_member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=true).js index 51c678a8ff5..f44410851e4 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es2022,usedefineforclassfields=true).js @@ -16,24 +16,28 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static field1 = __runInitializers(this, _static_field1_initializers, 1); - static ["field2"] = __runInitializers(this, _static_member_initializers, 2); - static [(_static_field1_decorators = [dec(1)], _static_member_decorators = [dec(2)], _static_member_decorators_1 = [dec(3)], _a = __propKey(field3))] = __runInitializers(this, _static_member_initializers_1, 3); + static ["field2"] = (__runInitializers(this, _static_field1_extraInitializers), __runInitializers(this, _static_member_initializers, 2)); + static [(_static_field1_decorators = [dec(1)], _static_member_decorators = [dec(2)], _static_member_decorators_1 = [dec(3)], _a = __propKey(field3))] = (__runInitializers(this, _static_member_extraInitializers), __runInitializers(this, _static_member_initializers_1, 3)); + static { + __runInitializers(this, _static_member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=false).js index 834de06b274..d040c944fa3 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=false).js @@ -18,13 +18,15 @@ var field3 = "field3"; var C = function () { var _a; var _b; - var _staticExtraInitializers = []; var _static_field1_decorators; var _static_field1_initializers = []; + var _static_field1_extraInitializers = []; var _static_member_decorators; var _static_member_initializers = []; + var _static_member_extraInitializers = []; var _static_member_decorators_1; var _static_member_initializers_1 = []; + var _static_member_extraInitializers_1 = []; return _a = /** @class */ (function () { function C() { } @@ -36,14 +38,16 @@ var C = function () { _b = __propKey(field3), (function () { var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), _a.field1 = __runInitializers(_a, _static_field1_initializers, 1), - _a["field2"] = __runInitializers(_a, _static_member_initializers, 2), - _a[_b] = __runInitializers(_a, _static_member_initializers_1, 3), + _a["field2"] = (__runInitializers(_a, _static_field1_extraInitializers), __runInitializers(_a, _static_member_initializers, 2)), + _a[_b] = (__runInitializers(_a, _static_member_extraInitializers), __runInitializers(_a, _static_member_initializers_1, 3)), + (function () { + __runInitializers(_a, _static_member_extraInitializers_1); + })(), _a; }(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=true).js index b2765d6b570..dba3f2851a1 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=es5,usedefineforclassfields=true).js @@ -18,13 +18,15 @@ var field3 = "field3"; var C = function () { var _a; var _b; - var _staticExtraInitializers = []; var _static_field1_decorators; var _static_field1_initializers = []; + var _static_field1_extraInitializers = []; var _static_member_decorators; var _static_member_initializers = []; + var _static_member_extraInitializers = []; var _static_member_decorators_1; var _static_member_initializers_1 = []; + var _static_member_extraInitializers_1 = []; return _a = /** @class */ (function () { function C() { } @@ -36,11 +38,10 @@ var C = function () { _b = __propKey(field3), (function () { var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: function (obj) { return "field1" in obj; }, get: function (obj) { return obj.field1; }, set: function (obj, value) { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: function (obj) { return "field2" in obj; }, get: function (obj) { return obj["field2"]; }, set: function (obj, value) { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _b, static: true, private: false, access: { has: function (obj) { return _b in obj; }, get: function (obj) { return obj[_b]; }, set: function (obj, value) { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), Object.defineProperty(_a, "field1", { enumerable: true, @@ -52,13 +53,16 @@ var C = function () { enumerable: true, configurable: true, writable: true, - value: __runInitializers(_a, _static_member_initializers, 2) + value: (__runInitializers(_a, _static_field1_extraInitializers), __runInitializers(_a, _static_member_initializers, 2)) }), Object.defineProperty(_a, _b, { enumerable: true, configurable: true, writable: true, - value: __runInitializers(_a, _static_member_initializers_1, 3) + value: (__runInitializers(_a, _static_member_extraInitializers), __runInitializers(_a, _static_member_initializers_1, 3)) }), + (function () { + __runInitializers(_a, _static_member_extraInitializers_1); + })(), _a; }(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=esnext,usedefineforclassfields=false).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=esnext,usedefineforclassfields=false).js index 3a2c6e94536..f57f2476872 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=esnext,usedefineforclassfields=false).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-static(target=esnext,usedefineforclassfields=false).js @@ -16,25 +16,29 @@ class C { const field3 = "field3"; let C = (() => { var _a; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return class C { static { _static_field1_decorators = [dec(1)], _static_member_decorators = [dec(2)], _static_member_decorators_1 = [dec(3)], _a = __propKey(field3); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(null, null, _static_field1_decorators, { kind: "field", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(null, null, _static_member_decorators, { kind: "field", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(null, null, _static_member_decorators_1, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static { this.field1 = __runInitializers(this, _static_field1_initializers, 1); } - static { this["field2"] = __runInitializers(this, _static_member_initializers, 2); } - static { this[_a] = __runInitializers(this, _static_member_initializers_1, 3); } + static { this["field2"] = (__runInitializers(this, _static_field1_extraInitializers), __runInitializers(this, _static_member_initializers, 2)); } + static { this[_a] = (__runInitializers(this, _static_member_extraInitializers), __runInitializers(this, _static_member_initializers_1, 3)); } + static { + __runInitializers(this, _static_member_extraInitializers_1); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2015).js index d2713fbf59f..5af39781a98 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2015).js @@ -25,13 +25,15 @@ const field3 = "field3"; let C = (() => { var _a, _C_field1_accessor_storage, _C__a_accessor_storage, _C__b_accessor_storage; var _b; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return _a = class C { static get field1() { return __classPrivateFieldGet(_a, _a, "f", _C_field1_accessor_storage); } static set field1(value) { __classPrivateFieldSet(_a, _a, value, "f", _C_field1_accessor_storage); } @@ -42,15 +44,17 @@ let C = (() => { }, (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(_a, null, _static_field1_decorators, { kind: "accessor", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(_a, null, _static_member_decorators, { kind: "accessor", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(_a, null, _static_member_decorators_1, { kind: "accessor", name: _b, static: true, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(_a, null, _static_field1_decorators, { kind: "accessor", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(_a, null, _static_member_decorators, { kind: "accessor", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(_a, null, _static_member_decorators_1, { kind: "accessor", name: _b, static: true, private: false, access: { has: obj => _b in obj, get: obj => obj[_b], set: (obj, value) => { obj[_b] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), _C_field1_accessor_storage = { value: __runInitializers(_a, _static_field1_initializers, 1) }, - _C__a_accessor_storage = { value: __runInitializers(_a, _static_member_initializers, 2) }, - _C__b_accessor_storage = { value: __runInitializers(_a, _static_member_initializers_1, 3) }, + _C__a_accessor_storage = { value: (__runInitializers(_a, _static_field1_extraInitializers), __runInitializers(_a, _static_member_initializers, 2)) }, + _C__b_accessor_storage = { value: (__runInitializers(_a, _static_member_extraInitializers), __runInitializers(_a, _static_member_initializers_1, 3)) }, + (() => { + __runInitializers(_a, _static_member_extraInitializers_1); + })(), _a; })(); let D = (() => { diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2022).js index 12a84fd0163..7c2a8f23f0a 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticAccessor(target=es2022).js @@ -24,31 +24,35 @@ class D { const field3 = "field3"; let C = (() => { var _a; - let _staticExtraInitializers = []; let _static_field1_decorators; let _static_field1_initializers = []; + let _static_field1_extraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; let _static_member_decorators_1; let _static_member_initializers_1 = []; + let _static_member_extraInitializers_1 = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(this, null, _static_field1_decorators, { kind: "accessor", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _staticExtraInitializers); - __esDecorate(this, null, _static_member_decorators, { kind: "accessor", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); - __esDecorate(this, null, _static_member_decorators_1, { kind: "accessor", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _staticExtraInitializers); + __esDecorate(this, null, _static_field1_decorators, { kind: "accessor", name: "field1", static: true, private: false, access: { has: obj => "field1" in obj, get: obj => obj.field1, set: (obj, value) => { obj.field1 = value; } }, metadata: _metadata }, _static_field1_initializers, _static_field1_extraInitializers); + __esDecorate(this, null, _static_member_decorators, { kind: "accessor", name: "field2", static: true, private: false, access: { has: obj => "field2" in obj, get: obj => obj["field2"], set: (obj, value) => { obj["field2"] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); + __esDecorate(this, null, _static_member_decorators_1, { kind: "accessor", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers_1, _static_member_extraInitializers_1); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static #field1_accessor_storage = __runInitializers(this, _static_field1_initializers, 1); static get field1() { return C.#field1_accessor_storage; } static set field1(value) { C.#field1_accessor_storage = value; } - static #_a_accessor_storage = __runInitializers(this, _static_member_initializers, 2); + static #_a_accessor_storage = (__runInitializers(this, _static_field1_extraInitializers), __runInitializers(this, _static_member_initializers, 2)); static get ["field2"]() { return C.#_a_accessor_storage; } static set ["field2"](value) { C.#_a_accessor_storage = value; } - static #_b_accessor_storage = __runInitializers(this, _static_member_initializers_1, 3); + static #_b_accessor_storage = (__runInitializers(this, _static_member_extraInitializers), __runInitializers(this, _static_member_initializers_1, 3)); static get [(_static_field1_decorators = [dec(1)], _static_member_decorators = [dec(2)], _static_member_decorators_1 = [dec(3)], _a = __propKey(field3))]() { return C.#_b_accessor_storage; } static set [_a](value) { C.#_b_accessor_storage = value; } + static { + __runInitializers(this, _static_member_extraInitializers_1); + } }; })(); let D = (() => { diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2015).js index ef4c8e15a37..3d0ade65e6c 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2015).js @@ -20,19 +20,21 @@ class D { //// [esDecorators-classDeclaration-fields-staticPrivate.js] let C = (() => { var _a, _C_field1; - let _staticExtraInitializers = []; let _static_private_field1_decorators; let _static_private_field1_initializers = []; + let _static_private_field1_extraInitializers = []; return _a = class C { }, (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_private_field1_decorators = [dec]; - __esDecorate(null, null, _static_private_field1_decorators, { kind: "field", name: "#field1", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_a, obj), get: obj => __classPrivateFieldGet(obj, _a, "f", _C_field1), set: (obj, value) => { __classPrivateFieldSet(obj, _a, value, "f", _C_field1); } }, metadata: _metadata }, _static_private_field1_initializers, _staticExtraInitializers); + __esDecorate(null, null, _static_private_field1_decorators, { kind: "field", name: "#field1", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_a, obj), get: obj => __classPrivateFieldGet(obj, _a, "f", _C_field1), set: (obj, value) => { __classPrivateFieldSet(obj, _a, value, "f", _C_field1); } }, metadata: _metadata }, _static_private_field1_initializers, _static_private_field1_extraInitializers); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), _C_field1 = { value: __runInitializers(_a, _static_private_field1_initializers, 0) }, + (() => { + __runInitializers(_a, _static_private_field1_extraInitializers); + })(), _a; })(); let D = (() => { diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2022).js index a16685c6c60..0c970446b57 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivate(target=es2022).js @@ -19,18 +19,20 @@ class D { //// [esDecorators-classDeclaration-fields-staticPrivate.js] let C = (() => { - let _staticExtraInitializers = []; let _static_private_field1_decorators; let _static_private_field1_initializers = []; + let _static_private_field1_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_private_field1_decorators = [dec]; - __esDecorate(null, null, _static_private_field1_decorators, { kind: "field", name: "#field1", static: true, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _static_private_field1_initializers, _staticExtraInitializers); + __esDecorate(null, null, _static_private_field1_decorators, { kind: "field", name: "#field1", static: true, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _static_private_field1_initializers, _static_private_field1_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static #field1 = __runInitializers(this, _static_private_field1_initializers, 0); + static { + __runInitializers(this, _static_private_field1_extraInitializers); + } }; })(); let D = (() => { diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2015).js index da8fde6263e..6ef8dd57ac4 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2015).js @@ -20,9 +20,9 @@ class D { //// [esDecorators-classDeclaration-fields-staticPrivateAccessor.js] let C = (() => { var _a, _C_field1_accessor_storage, _C_field1_get, _C_field1_set; - let _staticExtraInitializers = []; let _static_private_field1_decorators; let _static_private_field1_initializers = []; + let _static_private_field1_extraInitializers = []; let _static_private_field1_descriptor; return _a = class C { }, @@ -31,11 +31,13 @@ let C = (() => { (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_private_field1_decorators = [dec]; - __esDecorate(_a, _static_private_field1_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_a, _a, "f", _C_field1_accessor_storage); }, "#field1", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C_field1_accessor_storage); }, "#field1", "set") }, _static_private_field1_decorators, { kind: "accessor", name: "#field1", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_a, obj), get: obj => __classPrivateFieldGet(obj, _a, "a", _C_field1_get), set: (obj, value) => { __classPrivateFieldSet(obj, _a, value, "a", _C_field1_set); } }, metadata: _metadata }, _static_private_field1_initializers, _staticExtraInitializers); + __esDecorate(_a, _static_private_field1_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_a, _a, "f", _C_field1_accessor_storage); }, "#field1", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_a, _a, value, "f", _C_field1_accessor_storage); }, "#field1", "set") }, _static_private_field1_decorators, { kind: "accessor", name: "#field1", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_a, obj), get: obj => __classPrivateFieldGet(obj, _a, "a", _C_field1_get), set: (obj, value) => { __classPrivateFieldSet(obj, _a, value, "a", _C_field1_set); } }, metadata: _metadata }, _static_private_field1_initializers, _static_private_field1_extraInitializers); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), _C_field1_accessor_storage = { value: __runInitializers(_a, _static_private_field1_initializers, 0) }, + (() => { + __runInitializers(_a, _static_private_field1_extraInitializers); + })(), _a; })(); let D = (() => { diff --git a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2022).js index 10b10964e11..87534a6392b 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-fields-staticPrivateAccessor(target=es2022).js @@ -19,21 +19,23 @@ class D { //// [esDecorators-classDeclaration-fields-staticPrivateAccessor.js] let C = (() => { - let _staticExtraInitializers = []; let _static_private_field1_decorators; let _static_private_field1_initializers = []; + let _static_private_field1_extraInitializers = []; let _static_private_field1_descriptor; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_private_field1_decorators = [dec]; - __esDecorate(this, _static_private_field1_descriptor = { get: __setFunctionName(function () { return this.#field1_accessor_storage; }, "#field1", "get"), set: __setFunctionName(function (value) { this.#field1_accessor_storage = value; }, "#field1", "set") }, _static_private_field1_decorators, { kind: "accessor", name: "#field1", static: true, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _static_private_field1_initializers, _staticExtraInitializers); + __esDecorate(this, _static_private_field1_descriptor = { get: __setFunctionName(function () { return this.#field1_accessor_storage; }, "#field1", "get"), set: __setFunctionName(function (value) { this.#field1_accessor_storage = value; }, "#field1", "set") }, _static_private_field1_decorators, { kind: "accessor", name: "#field1", static: true, private: true, access: { has: obj => #field1 in obj, get: obj => obj.#field1, set: (obj, value) => { obj.#field1 = value; } }, metadata: _metadata }, _static_private_field1_initializers, _static_private_field1_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static #field1_accessor_storage = __runInitializers(this, _static_private_field1_initializers, 0); static get #field1() { return _static_private_field1_descriptor.get.call(this); } static set #field1(value) { return _static_private_field1_descriptor.set.call(this, value); } + static { + __runInitializers(this, _static_private_field1_extraInitializers); + } }; })(); let D = (() => { diff --git a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateAutoAccessor.js b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateAutoAccessor.js index 06a8bd7717d..6264553c0a1 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateAutoAccessor.js +++ b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateAutoAccessor.js @@ -20,19 +20,22 @@ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); // needs: __esDecorate, __runInitializers, __setFunctionName let C = (() => { - let _instanceExtraInitializers = []; let _private_x_decorators; let _private_x_initializers = []; + let _private_x_extraInitializers = []; let _private_x_descriptor; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _private_x_decorators = [dec]; - tslib_1.__esDecorate(this, _private_x_descriptor = { get: tslib_1.__setFunctionName(function () { return this.#x_accessor_storage; }, "#x", "get"), set: tslib_1.__setFunctionName(function (value) { this.#x_accessor_storage = value; }, "#x", "set") }, _private_x_decorators, { kind: "accessor", name: "#x", static: false, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _private_x_initializers, _instanceExtraInitializers); + tslib_1.__esDecorate(this, _private_x_descriptor = { get: tslib_1.__setFunctionName(function () { return this.#x_accessor_storage; }, "#x", "get"), set: tslib_1.__setFunctionName(function (value) { this.#x_accessor_storage = value; }, "#x", "set") }, _private_x_decorators, { kind: "accessor", name: "#x", static: false, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _private_x_initializers, _private_x_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - #x_accessor_storage = (tslib_1.__runInitializers(this, _instanceExtraInitializers), tslib_1.__runInitializers(this, _private_x_initializers, void 0)); + #x_accessor_storage = tslib_1.__runInitializers(this, _private_x_initializers, void 0); get #x() { return _private_x_descriptor.get.call(this); } set #x(value) { return _private_x_descriptor.set.call(this, value); } + constructor() { + tslib_1.__runInitializers(this, _private_x_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateField.js b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateField.js index 5563ce1d5d5..21922ff1f58 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateField.js +++ b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-nonStaticPrivateField.js @@ -20,16 +20,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); // needs: __esDecorate, __runInitializers let C = (() => { - let _instanceExtraInitializers = []; let _private_x_decorators; let _private_x_initializers = []; + let _private_x_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _private_x_decorators = [dec]; - tslib_1.__esDecorate(null, null, _private_x_decorators, { kind: "field", name: "#x", static: false, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _private_x_initializers, _instanceExtraInitializers); + tslib_1.__esDecorate(null, null, _private_x_decorators, { kind: "field", name: "#x", static: false, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _private_x_initializers, _private_x_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - #x = (tslib_1.__runInitializers(this, _instanceExtraInitializers), tslib_1.__runInitializers(this, _private_x_initializers, void 0)); + #x = tslib_1.__runInitializers(this, _private_x_initializers, void 0); + constructor() { + tslib_1.__runInitializers(this, _private_x_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedAutoAccessor.js b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedAutoAccessor.js index 5178ab9627a..3412f0c6460 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedAutoAccessor.js +++ b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedAutoAccessor.js @@ -22,18 +22,20 @@ const tslib_1 = require("tslib"); // needs: __esDecorate, __runInitializers, __propKey let C = (() => { var _a; - let _staticExtraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - tslib_1.__esDecorate(this, null, _static_member_decorators, { kind: "accessor", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); + tslib_1.__esDecorate(this, null, _static_member_decorators, { kind: "accessor", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - tslib_1.__runInitializers(this, _staticExtraInitializers); } static #_a_accessor_storage = tslib_1.__runInitializers(this, _static_member_initializers, void 0); static get [(_static_member_decorators = [dec], _a = tslib_1.__propKey(x))]() { return C.#_a_accessor_storage; } static set [_a](value) { C.#_a_accessor_storage = value; } + static { + tslib_1.__runInitializers(this, _static_member_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedField.js b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedField.js index 4bbc49981ef..e9f9b96f733 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedField.js +++ b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticComputedField.js @@ -22,16 +22,18 @@ const tslib_1 = require("tslib"); // needs: __esDecorate, __runInitializers, __propKey let C = (() => { var _a; - let _staticExtraInitializers = []; let _static_member_decorators; let _static_member_initializers = []; + let _static_member_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - tslib_1.__esDecorate(null, null, _static_member_decorators, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers, _staticExtraInitializers); + tslib_1.__esDecorate(null, null, _static_member_decorators, { kind: "field", name: _a, static: true, private: false, access: { has: obj => _a in obj, get: obj => obj[_a], set: (obj, value) => { obj[_a] = value; } }, metadata: _metadata }, _static_member_initializers, _static_member_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - tslib_1.__runInitializers(this, _staticExtraInitializers); } static [(_static_member_decorators = [dec], _a = tslib_1.__propKey(x))] = tslib_1.__runInitializers(this, _static_member_initializers, void 0); + static { + tslib_1.__runInitializers(this, _static_member_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateAutoAccessor.js b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateAutoAccessor.js index defb6b21926..502c188c1cf 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateAutoAccessor.js +++ b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateAutoAccessor.js @@ -20,20 +20,22 @@ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); // needs: __esDecorate, __runInitializers, __setFunctionName let C = (() => { - let _staticExtraInitializers = []; let _static_private_x_decorators; let _static_private_x_initializers = []; + let _static_private_x_extraInitializers = []; let _static_private_x_descriptor; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_private_x_decorators = [dec]; - tslib_1.__esDecorate(this, _static_private_x_descriptor = { get: tslib_1.__setFunctionName(function () { return this.#x_accessor_storage; }, "#x", "get"), set: tslib_1.__setFunctionName(function (value) { this.#x_accessor_storage = value; }, "#x", "set") }, _static_private_x_decorators, { kind: "accessor", name: "#x", static: true, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _static_private_x_initializers, _staticExtraInitializers); + tslib_1.__esDecorate(this, _static_private_x_descriptor = { get: tslib_1.__setFunctionName(function () { return this.#x_accessor_storage; }, "#x", "get"), set: tslib_1.__setFunctionName(function (value) { this.#x_accessor_storage = value; }, "#x", "set") }, _static_private_x_decorators, { kind: "accessor", name: "#x", static: true, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _static_private_x_initializers, _static_private_x_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - tslib_1.__runInitializers(this, _staticExtraInitializers); } static #x_accessor_storage = tslib_1.__runInitializers(this, _static_private_x_initializers, void 0); static get #x() { return _static_private_x_descriptor.get.call(this); } static set #x(value) { return _static_private_x_descriptor.set.call(this, value); } + static { + tslib_1.__runInitializers(this, _static_private_x_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateField.js b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateField.js index 7a88c47383c..e4f24c5cb9c 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateField.js +++ b/tests/baselines/reference/esDecorators-classDeclaration-missingEmitHelpers-staticPrivateField.js @@ -20,17 +20,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); // needs: __esDecorate, __runInitializers let C = (() => { - let _staticExtraInitializers = []; let _static_private_x_decorators; let _static_private_x_initializers = []; + let _static_private_x_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_private_x_decorators = [dec]; - tslib_1.__esDecorate(null, null, _static_private_x_decorators, { kind: "field", name: "#x", static: true, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _static_private_x_initializers, _staticExtraInitializers); + tslib_1.__esDecorate(null, null, _static_private_x_decorators, { kind: "field", name: "#x", static: true, private: true, access: { has: obj => #x in obj, get: obj => obj.#x, set: (obj, value) => { obj.#x = value; } }, metadata: _metadata }, _static_private_x_initializers, _static_private_x_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - tslib_1.__runInitializers(this, _staticExtraInitializers); } static #x = tslib_1.__runInitializers(this, _static_private_x_initializers, void 0); + static { + tslib_1.__runInitializers(this, _static_private_x_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2015).js index 87c16a27a43..8e411fe4bfe 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2015).js @@ -45,19 +45,20 @@ let A = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var A = _classThis = class { constructor() { - this.b = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _b_initializers, 2)); + this.b = __runInitializers(this, _b_initializers, 2); + __runInitializers(this, _b_extraInitializers); } }; __setFunctionName(_classThis, "A"); (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _b_decorators = [dec(_outerThis)]; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); A = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); @@ -73,16 +74,16 @@ let B = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var B = _classThis = class { constructor() { // @ts-ignore - this[_a] = (__runInitializers(this, _instanceExtraInitializers), 1); + this[_a] = 1; this.b = __runInitializers(this, _b_initializers, 2); // @ts-ignore - this[_b] = 3; + this[_b] = (__runInitializers(this, _b_extraInitializers), 3); } }; _a = f(this); @@ -90,7 +91,7 @@ let B = (() => { __setFunctionName(_classThis, "B"); (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); B = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); @@ -107,13 +108,14 @@ let C = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var C = _classThis = class { constructor() { - _C_a.set(this, (__runInitializers(this, _instanceExtraInitializers), 1)); + _C_a.set(this, 1); this.b = __runInitializers(this, _b_initializers, 2); + __runInitializers(this, _b_extraInitializers); } }; _C_a = new WeakMap(); @@ -121,7 +123,7 @@ let C = (() => { (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _b_decorators = [dec(_outerThis_1, (x) => __classPrivateFieldGet(x, _C_a, "f"))]; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2021).js b/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2021).js index 87c16a27a43..8e411fe4bfe 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2021).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2021).js @@ -45,19 +45,20 @@ let A = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var A = _classThis = class { constructor() { - this.b = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _b_initializers, 2)); + this.b = __runInitializers(this, _b_initializers, 2); + __runInitializers(this, _b_extraInitializers); } }; __setFunctionName(_classThis, "A"); (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _b_decorators = [dec(_outerThis)]; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); A = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); @@ -73,16 +74,16 @@ let B = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var B = _classThis = class { constructor() { // @ts-ignore - this[_a] = (__runInitializers(this, _instanceExtraInitializers), 1); + this[_a] = 1; this.b = __runInitializers(this, _b_initializers, 2); // @ts-ignore - this[_b] = 3; + this[_b] = (__runInitializers(this, _b_extraInitializers), 3); } }; _a = f(this); @@ -90,7 +91,7 @@ let B = (() => { __setFunctionName(_classThis, "B"); (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); B = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); @@ -107,13 +108,14 @@ let C = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var C = _classThis = class { constructor() { - _C_a.set(this, (__runInitializers(this, _instanceExtraInitializers), 1)); + _C_a.set(this, 1); this.b = __runInitializers(this, _b_initializers, 2); + __runInitializers(this, _b_extraInitializers); } }; _C_a = new WeakMap(); @@ -121,7 +123,7 @@ let C = (() => { (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _b_decorators = [dec(_outerThis_1, (x) => __classPrivateFieldGet(x, _C_a, "f"))]; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2022).js index 764b7d3afcd..d1ce061b8ad 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-outerThisReference(target=es2022).js @@ -45,21 +45,24 @@ let A = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var A = class { static { _classThis = this; } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _b_decorators = [dec(_outerThis)]; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); A = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); __runInitializers(_classThis, _classExtraInitializers); } - b = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _b_initializers, 2)); + b = __runInitializers(this, _b_initializers, 2); + constructor() { + __runInitializers(this, _b_extraInitializers); + } }; return A = _classThis; })(); @@ -70,24 +73,24 @@ let B = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var B = class { static { _classThis = this; } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); B = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); __runInitializers(_classThis, _classExtraInitializers); } // @ts-ignore - [f(this)] = (__runInitializers(this, _instanceExtraInitializers), 1); + [f(this)] = 1; b = __runInitializers(this, _b_initializers, 2); // @ts-ignore - [(_b_decorators = [dec(this)], f(this))] = 3; + [(_b_decorators = [dec(this)], f(this))] = (__runInitializers(this, _b_extraInitializers), 3); }; return B = _classThis; })(); @@ -99,22 +102,25 @@ let C = (() => { let _classDescriptor; let _classExtraInitializers = []; let _classThis; - let _instanceExtraInitializers = []; let _b_decorators; let _b_initializers = []; + let _b_extraInitializers = []; var C = class { static { _classThis = this; } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _b_decorators = [dec(_outerThis_1, (x) => x.#a)]; - __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _b_decorators, { kind: "field", name: "b", static: false, private: false, access: { has: obj => "b" in obj, get: obj => obj.b, set: (obj, value) => { obj.b = value; } }, metadata: _metadata }, _b_initializers, _b_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); __runInitializers(_classThis, _classExtraInitializers); } - #a = (__runInitializers(this, _instanceExtraInitializers), 1); + #a = 1; b = __runInitializers(this, _b_initializers, 2); + constructor() { + __runInitializers(this, _b_extraInitializers); + } }; return C = _classThis; })(); diff --git a/tests/baselines/reference/esDecorators-classDeclaration-parameterProperties(target=es2022,usedefineforclassfields=true).js b/tests/baselines/reference/esDecorators-classDeclaration-parameterProperties(target=es2022,usedefineforclassfields=true).js index 17d39a63a01..00424b7929e 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-parameterProperties(target=es2022,usedefineforclassfields=true).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-parameterProperties(target=es2022,usedefineforclassfields=true).js @@ -22,7 +22,7 @@ let C = (() => { __esDecorate(this, null, _speak_decorators, { kind: "method", name: "speak", static: false, private: false, access: { has: obj => "speak" in obj, get: obj => obj.speak }, metadata: _metadata }, null, _instanceExtraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - message = (__runInitializers(this, _instanceExtraInitializers), void 0); + message = __runInitializers(this, _instanceExtraInitializers); constructor(message) { this.message = message; } diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js index e5fbe0ee1a2..c5df07be4f1 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js @@ -49,6 +49,13 @@ class C { //// [esDecorators-classDeclaration-sourceMap.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -76,13 +83,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); @@ -118,26 +118,31 @@ let C = (() => { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = _classThis = class { - constructor() { - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - _C_z_1_accessor_storage.set(this, __runInitializers(this, _z_initializers, 1)); - } method() { } get x() { return 1; } set x(value) { } get z() { return __classPrivateFieldGet(this, _C_z_1_accessor_storage, "f"); } set z(value) { __classPrivateFieldSet(this, _C_z_1_accessor_storage, value, "f"); } + constructor() { + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); + _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); + __runInitializers(this, _z_extraInitializers); + } }; _C_z_1_accessor_storage = new WeakMap(); _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }; @@ -161,21 +166,21 @@ let C = (() => { __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(); - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; (() => { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(); return C = _classThis; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js.map b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js.map index 7b84bdd3a4b..2d62dd58cc0 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js.map +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).js.map @@ -1,6 +1,6 @@ //// [esDecorators-classDeclaration-sourceMap.js.map] -{"version":3,"file":"esDecorators-classDeclaration-sourceMap.js","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,CAAC;;4BAFN,GAAG,EACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;YAgBA,MAAC,kGAAG,CAAC,GAAC;YAIG,2EAAI,CAAC,GAAC;QAqBnB,CAAC;QArCG,MAAM,KAAI,CAAC;QAIX,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;QAIrB,IAAI,CAAC,CAAC,KAAa,IAAI,CAAC;QAQxB,IAAS,CAAC,yEAAK;QAAf,IAAS,CAAC,8EAAK;;;;;;;;;;;8BAlBd,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;yBAGH,GAAG,EACH,GAAG;yBAGH,GAAG,EACH,GAAG;6CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;wCAGH,GAAG,EACH,GAAG;wCAGH,GAAG,EACH,GAAG;QAfJ,+DAAA,yBAAA,cAAkB,CAAC,YAAA,uSAAA;QAInB,8DAAA,uBAAA,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAA,4RAAA;QAI7B,8DAAA,uBAAA,UAAc,KAAa,IAAI,CAAC,cAAA,iTAAA;QAQhC,0DAAA,uBAAA,kGAAuB,cAAA,EAAvB,uBAAA,uGAAuB,cAAA,6YAAA;QApCvB,2KAAA,MAAM,6DAAK;QAIX,gKAAI,CAAC,6DAAgB;QAIrB,2KAAI,CAAC,wEAAmB;QAQxB,8JAAS,CAAC,6BAAD,CAAC,mFAAK;QAgBf,uZAAc;QApBd,qJAAA,CAAC,6BAAD,CAAC,mFAAK;QAfV,6KAwCC;;;QAxCK,wDAAC;;IAmCI,8EAAK,CAAC,GAAJ,CAAK;IAIE,+FAAK,CAAC,GAAJ,CAAK;;QAvCrB,uDAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fZXNEZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19lc0RlY29yYXRlKSB8fCBmdW5jdGlvbiAoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHsNCiAgICBmdW5jdGlvbiBhY2NlcHQoZikgeyBpZiAoZiAhPT0gdm9pZCAwICYmIHR5cGVvZiBmICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpOyByZXR1cm4gZjsgfQ0KICAgIHZhciBraW5kID0gY29udGV4dEluLmtpbmQsIGtleSA9IGtpbmQgPT09ICJnZXR0ZXIiID8gImdldCIgOiBraW5kID09PSAic2V0dGVyIiA/ICJzZXQiIDogInZhbHVlIjsNCiAgICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluWyJzdGF0aWMiXSA/IGN0b3IgOiBjdG9yLnByb3RvdHlwZSA6IG51bGw7DQogICAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7DQogICAgdmFyIF8sIGRvbmUgPSBmYWxzZTsNCiAgICBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgew0KICAgICAgICB2YXIgY29udGV4dCA9IHt9Ow0KICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbikgY29udGV4dFtwXSA9IHAgPT09ICJhY2Nlc3MiID8ge30gOiBjb250ZXh0SW5bcF07DQogICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdOw0KICAgICAgICBjb250ZXh0LmFkZEluaXRpYWxpemVyID0gZnVuY3Rpb24gKGYpIHsgaWYgKGRvbmUpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTsNCiAgICAgICAgdmFyIHJlc3VsdCA9ICgwLCBkZWNvcmF0b3JzW2ldKShraW5kID09PSAiYWNjZXNzb3IiID8geyBnZXQ6IGRlc2NyaXB0b3IuZ2V0LCBzZXQ6IGRlc2NyaXB0b3Iuc2V0IH0gOiBkZXNjcmlwdG9yW2tleV0sIGNvbnRleHQpOw0KICAgICAgICBpZiAoa2luZCA9PT0gImFjY2Vzc29yIikgew0KICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdm9pZCAwKSBjb250aW51ZTsNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gIm9iamVjdCIpIHRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOw0KICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmdldCkpIGRlc2NyaXB0b3IuZ2V0ID0gXzsNCiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87DQogICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuaW5pdCkpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pOw0KICAgICAgICB9DQogICAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkgew0KICAgICAgICAgICAgaWYgKGtpbmQgPT09ICJmaWVsZCIpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pOw0KICAgICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTsNCiAgICBkb25lID0gdHJ1ZTsNCn07DQp2YXIgX19ydW5Jbml0aWFsaXplcnMgPSAodGhpcyAmJiB0aGlzLl9fcnVuSW5pdGlhbGl6ZXJzKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkgew0KICAgIHZhciB1c2VWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyOw0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTsNCiAgICB9DQogICAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7DQp9Ow0KdmFyIF9fc2V0RnVuY3Rpb25OYW1lID0gKHRoaXMgJiYgdGhpcy5fX3NldEZ1bmN0aW9uTmFtZSkgfHwgZnVuY3Rpb24gKGYsIG5hbWUsIHByZWZpeCkgew0KICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gInN5bWJvbCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gIlsiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCAiXSIpIDogIiI7DQogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibmFtZSIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gIiIuY29uY2F0KHByZWZpeCwgIiAiLCBuYW1lKSA6IG5hbWUgfSk7DQp9Ow0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRHZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRHZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHsNCiAgICBpZiAoa2luZCA9PT0gImEiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXIiKTsNCiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiBraW5kID09PSAibSIgPyBmIDoga2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTsNCn07DQp2YXIgX19jbGFzc1ByaXZhdGVGaWVsZFNldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZFNldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHsNCiAgICBpZiAoa2luZCA9PT0gIm0iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTsNCiAgICBpZiAoa2luZCA9PT0gImEiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTsNCiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7DQogICAgcmV0dXJuIChraW5kID09PSAiYSIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlOw0KfTsNCnZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4gPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRJbikgfHwgZnVuY3Rpb24oc3RhdGUsIHJlY2VpdmVyKSB7DQogICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09ICJvYmplY3QiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gImZ1bmN0aW9uIikpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7DQogICAgcmV0dXJuIHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyID09PSBzdGF0ZSA6IHN0YXRlLmhhcyhyZWNlaXZlcik7DQp9Ow0KbGV0IEMgPSAoKCkgPT4gew0KICAgIHZhciBfQ19tZXRob2RfZ2V0LCBfQ194X2dldCwgX0NfeF9zZXQsIF9DX3ksIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSwgX0Nfel9nZXQsIF9DX3pfc2V0LCBfQ196XzFfYWNjZXNzb3Jfc3RvcmFnZTsNCiAgICBsZXQgX2NsYXNzRGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgbGV0IF9jbGFzc0Rlc2NyaXB0b3I7DQogICAgbGV0IF9jbGFzc0V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9jbGFzc1RoaXM7DQogICAgbGV0IF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvcjsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9nZXRfeF9kZXNjcmlwdG9yOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3NldF94X2Rlc2NyaXB0b3I7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9kZWNvcmF0b3JzOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3pfZGVzY3JpcHRvcjsNCiAgICBsZXQgX21ldGhvZF9kZWNvcmF0b3JzOw0KICAgIGxldCBfZ2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3NldF94X2RlY29yYXRvcnM7DQogICAgbGV0IF95X2RlY29yYXRvcnM7DQogICAgbGV0IF95X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfel9kZWNvcmF0b3JzOw0KICAgIGxldCBfel9pbml0aWFsaXplcnMgPSBbXTsNCiAgICB2YXIgQyA9IF9jbGFzc1RoaXMgPSBjbGFzcyB7DQogICAgICAgIGNvbnN0cnVjdG9yKCkgew0KICAgICAgICAgICAgdGhpcy55ID0gKF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfaW5pdGlhbGl6ZXJzLCAxKSk7DQogICAgICAgICAgICBfQ196XzFfYWNjZXNzb3Jfc3RvcmFnZS5zZXQodGhpcywgX19ydW5Jbml0aWFsaXplcnModGhpcywgX3pfaW5pdGlhbGl6ZXJzLCAxKSk7DQogICAgICAgIH0NCiAgICAgICAgbWV0aG9kKCkgeyB9DQogICAgICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQ0KICAgICAgICBzZXQgeCh2YWx1ZSkgeyB9DQogICAgICAgIGdldCB6KCkgeyByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfQ196XzFfYWNjZXNzb3Jfc3RvcmFnZSwgImYiKTsgfQ0KICAgICAgICBzZXQgeih2YWx1ZSkgeyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9DX3pfMV9hY2Nlc3Nvcl9zdG9yYWdlLCB2YWx1ZSwgImYiKTsgfQ0KICAgIH07DQogICAgX0Nfel8xX2FjY2Vzc29yX3N0b3JhZ2UgPSBuZXcgV2Vha01hcCgpOw0KICAgIF9DX21ldGhvZF9nZXQgPSBmdW5jdGlvbiBfQ19tZXRob2RfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yLnZhbHVlOyB9Ow0KICAgIF9DX3hfZ2V0ID0gZnVuY3Rpb24gX0NfeF9nZXQoKSB7IHJldHVybiBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVzY3JpcHRvci5nZXQuY2FsbCh0aGlzKTsgfTsNCiAgICBfQ194X3NldCA9IGZ1bmN0aW9uIF9DX3hfc2V0KHZhbHVlKSB7IHJldHVybiBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVzY3JpcHRvci5zZXQuY2FsbCh0aGlzLCB2YWx1ZSk7IH07DQogICAgX0Nfel9nZXQgPSBmdW5jdGlvbiBfQ196X2dldCgpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH07DQogICAgX0Nfel9zZXQgPSBmdW5jdGlvbiBfQ196X3NldCh2YWx1ZSkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX3pfZGVzY3JpcHRvci5zZXQuY2FsbCh0aGlzLCB2YWx1ZSk7IH07DQogICAgX19zZXRGdW5jdGlvbk5hbWUoX2NsYXNzVGhpcywgIkMiKTsNCiAgICAoKCkgPT4gew0KICAgICAgICBjb25zdCBfbWV0YWRhdGEgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5tZXRhZGF0YSA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB2b2lkIDA7DQogICAgICAgIF9tZXRob2RfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9nZXRfeF9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgX3NldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICBfeV9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgX3pfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9nZXRfeF9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgX3N0YXRpY19wcml2YXRlX3NldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgX3N0YXRpY19wcml2YXRlX3pfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2Rlc2NyaXB0b3IgPSB7IHZhbHVlOiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IH0sICIjbWV0aG9kIikgfSwgX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJtZXRob2QiLCBuYW1lOiAiI21ldGhvZCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ19tZXRob2RfZ2V0KSB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVzY3JpcHRvciA9IHsgZ2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9LCAiI3giLCAiZ2V0IikgfSwgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnMsIHsga2luZDogImdldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ194X2dldCkgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3NldF94X2Rlc2NyaXB0b3IgPSB7IHNldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKHZhbHVlKSB7IH0sICIjeCIsICJzZXQiKSB9LCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAic2V0dGVyIiwgbmFtZTogIiN4Iiwgc3RhdGljOiB0cnVlLCBwcml2YXRlOiB0cnVlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEluKF9jbGFzc1RoaXMsIG9iaiksIHNldDogKG9iaiwgdmFsdWUpID0+IHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldChvYmosIF9jbGFzc1RoaXMsIHZhbHVlLCAiYSIsIF9DX3hfc2V0KTsgfSB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBfc3RhdGljX3ByaXZhdGVfel9kZXNjcmlwdG9yID0geyBnZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICgpIHsgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQoX2NsYXNzVGhpcywgX2NsYXNzVGhpcywgImYiLCBfQ196X2FjY2Vzc29yX3N0b3JhZ2UpOyB9LCAiI3oiLCAiZ2V0IiksIHNldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKHZhbHVlKSB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQoX2NsYXNzVGhpcywgX2NsYXNzVGhpcywgdmFsdWUsICJmIiwgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlKTsgfSwgIiN6IiwgInNldCIpIH0sIF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnMsIHsga2luZDogImFjY2Vzc29yIiwgbmFtZTogIiN6Iiwgc3RhdGljOiB0cnVlLCBwcml2YXRlOiB0cnVlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEluKF9jbGFzc1RoaXMsIG9iaiksIGdldDogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRHZXQob2JqLCBfY2xhc3NUaGlzLCAiYSIsIF9DX3pfZ2V0KSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KG9iaiwgX2NsYXNzVGhpcywgdmFsdWUsICJhIiwgX0Nfel9zZXQpOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3N0YXRpY19wcml2YXRlX3pfaW5pdGlhbGl6ZXJzLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgbnVsbCwgX21ldGhvZF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJtZXRob2QiLCBuYW1lOiAibWV0aG9kIiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAibWV0aG9kIiBpbiBvYmosIGdldDogb2JqID0+IG9iai5tZXRob2QgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBudWxsLCBfZ2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAiZ2V0dGVyIiwgbmFtZTogIngiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ4IiBpbiBvYmosIGdldDogb2JqID0+IG9iai54IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgbnVsbCwgX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICJ4Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieCIgaW4gb2JqLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai54ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBudWxsLCBfel9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJhY2Nlc3NvciIsIG5hbWU6ICJ6Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieiIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueiwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueiA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3pfaW5pdGlhbGl6ZXJzLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICIjeSIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImYiLCBfQ195KSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KG9iaiwgX2NsYXNzVGhpcywgdmFsdWUsICJmIiwgX0NfeSk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfeV9pbml0aWFsaXplcnMsIF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICJ5Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieSIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueSA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3lfaW5pdGlhbGl6ZXJzLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBfY2xhc3NEZXNjcmlwdG9yID0geyB2YWx1ZTogX2NsYXNzVGhpcyB9LCBfY2xhc3NEZWNvcmF0b3JzLCB7IGtpbmQ6ICJjbGFzcyIsIG5hbWU6IF9jbGFzc1RoaXMubmFtZSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfY2xhc3NFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIEMgPSBfY2xhc3NUaGlzID0gX2NsYXNzRGVzY3JpcHRvci52YWx1ZTsNCiAgICAgICAgaWYgKF9tZXRhZGF0YSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KF9jbGFzc1RoaXMsIFN5bWJvbC5tZXRhZGF0YSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogX21ldGFkYXRhIH0pOw0KICAgICAgICBfX3J1bkluaXRpYWxpemVycyhfY2xhc3NUaGlzLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgIH0pKCk7DQogICAgX0NfeSA9IHsgdmFsdWU6IF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2luaXRpYWxpemVycywgMSkgfTsNCiAgICBfQ196X2FjY2Vzc29yX3N0b3JhZ2UgPSB7IHZhbHVlOiBfX3J1bkluaXRpYWxpemVycyhfY2xhc3NUaGlzLCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMsIDEpIH07DQogICAgKCgpID0+IHsNCiAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgIH0pKCk7DQogICAgcmV0dXJuIEMgPSBfY2xhc3NUaGlzOw0KfSkoKTsNCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzRGVjb3JhdG9ycy1jbGFzc0RlY2xhcmF0aW9uLXNvdXJjZU1hcC5qcy5tYXA=,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSU0sQ0FBQzs7NEJBRk4sR0FBRyxFQUNILEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBZ0JBLE1BQUMsa0dBQUcsQ0FBQyxHQUFDO1lBSUcsMkVBQUksQ0FBQyxHQUFDO1FBcUJuQixDQUFDO1FBckNHLE1BQU0sS0FBSSxDQUFDO1FBSVgsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBSXJCLElBQUksQ0FBQyxDQUFDLEtBQWEsSUFBSSxDQUFDO1FBUXhCLElBQVMsQ0FBQyx5RUFBSztRQUFmLElBQVMsQ0FBQyw4RUFBSzs7Ozs7Ozs7Ozs7OEJBbEJkLEdBQUcsRUFDSCxHQUFHOzZCQUdILEdBQUcsRUFDSCxHQUFHOzZCQUdILEdBQUcsRUFDSCxHQUFHO3lCQUdILEdBQUcsRUFDSCxHQUFHO3lCQUdILEdBQUcsRUFDSCxHQUFHOzZDQUdILEdBQUcsRUFDSCxHQUFHOzRDQUdILEdBQUcsRUFDSCxHQUFHOzRDQUdILEdBQUcsRUFDSCxHQUFHO3dDQUdILEdBQUcsRUFDSCxHQUFHO3dDQUdILEdBQUcsRUFDSCxHQUFHO1FBZkosK0RBQUEseUJBQUEsY0FBa0IsQ0FBQyxZQUFBLHVTQUFBO1FBSW5CLDhEQUFBLHVCQUFBLGNBQWtCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFBLDRSQUFBO1FBSTdCLDhEQUFBLHVCQUFBLFVBQWMsS0FBYSxJQUFJLENBQUMsY0FBQSxpVEFBQTtRQVFoQywwREFBQSx1QkFBQSxrR0FBdUIsY0FBQSxFQUF2Qix1QkFBQSx1R0FBdUIsY0FBQSw2WUFBQTtRQXBDdkIsMktBQUEsTUFBTSw2REFBSztRQUlYLGdLQUFJLENBQUMsNkRBQWdCO1FBSXJCLDJLQUFJLENBQUMsd0VBQW1CO1FBUXhCLDhKQUFTLENBQUMsNkJBQUQsQ0FBQyxtRkFBSztRQWdCZix1WkFBYztRQXBCZCxxSkFBQSxDQUFDLDZCQUFELENBQUMsbUZBQUs7UUFmViw2S0F3Q0M7OztRQXhDSyx3REFBQzs7SUFtQ0ksOEVBQUssQ0FBQyxHQUFKLENBQUs7SUFJRSwrRkFBSyxDQUFDLEdBQUosQ0FBSzs7UUF2Q3JCLHVEQUFDIn0=,ZGVjbGFyZSB2YXIgZGVjOiBhbnk7CgpAZGVjCkBkZWMKY2xhc3MgQyB7CiAgICBAZGVjCiAgICBAZGVjCiAgICBtZXRob2QoKSB7fQoKICAgIEBkZWMKICAgIEBkZWMKICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHNldCB4KHZhbHVlOiBudW1iZXIpIHsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHkgPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIGFjY2Vzc29yIHogPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyAjbWV0aG9kKCkge30KCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgZ2V0ICN4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyBzZXQgI3godmFsdWU6IG51bWJlcikgeyB9CgogICAgQGRlYwogICAgQGRlYwogICAgc3RhdGljICN5ID0gMTsKCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgYWNjZXNzb3IgI3ogPSAxOwp9Cg== +{"version":3,"file":"esDecorators-classDeclaration-sourceMap.js","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,CAAC;;4BAFN,GAAG,EACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAIA,MAAM,KAAI,CAAC;QAIX,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;QAIrB,IAAI,CAAC,CAAC,KAAa,IAAI,CAAC;QAQxB,IAAS,CAAC,yEAAK;QAAf,IAAS,CAAC,8EAAK;;YAJf,MAAC,IAfC,mDAAC,2CAeC,CAAC,GAAC;YAIG,2HAAI,CAAC,IAAC;;;;;;;;;;;;;8BAlBd,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;yBAGH,GAAG,EACH,GAAG;yBAGH,GAAG,EACH,GAAG;6CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;wCAGH,GAAG,EACH,GAAG;wCAGH,GAAG,EACH,GAAG;QAfJ,+DAAA,yBAAA,cAAkB,CAAC,YAAA,uSAAA;QAInB,8DAAA,uBAAA,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAA,4RAAA;QAI7B,8DAAA,uBAAA,UAAc,KAAa,IAAI,CAAC,cAAA,iTAAA;QAQhC,0DAAA,uBAAA,kGAAuB,cAAA,EAAvB,uBAAA,uGAAuB,cAAA,wZAAA;QApCvB,2KAAA,MAAM,6DAAK;QAIX,gKAAI,CAAC,6DAAgB;QAIrB,2KAAI,CAAC,wEAAmB;QAQxB,8JAAS,CAAC,6BAAD,CAAC,6EAAK;QAgBf,kaAAc;QApBd,qJAAA,CAAC,6BAAD,CAAC,6EAAK;QAfV,6KAwCC;;;;IALU,iBAnCL,uDAAC,gEAmCS,CAAC,IAAJ,CAAK;IAIE,oKAAK,CAAC,IAAJ,CAAK;;;QAvCrB,uDAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fcnVuSW5pdGlhbGl6ZXJzID0gKHRoaXMgJiYgdGhpcy5fX3J1bkluaXRpYWxpemVycykgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHsNCiAgICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjsNCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykgew0KICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7DQogICAgfQ0KICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwOw0KfTsNCnZhciBfX2VzRGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZXNEZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7DQogICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTsgcmV0dXJuIGY7IH0NCiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSAiZ2V0dGVyIiA/ICJnZXQiIDoga2luZCA9PT0gInNldHRlciIgPyAic2V0IiA6ICJ2YWx1ZSI7DQogICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJblsic3RhdGljIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsOw0KICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvckluIHx8ICh0YXJnZXQgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgY29udGV4dEluLm5hbWUpIDoge30pOw0KICAgIHZhciBfLCBkb25lID0gZmFsc2U7DQogICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsNCiAgICAgICAgdmFyIGNvbnRleHQgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSAiYWNjZXNzIiA/IHt9IDogY29udGV4dEluW3BdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTsNCiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07DQogICAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gImFjY2Vzc29yIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTsNCiAgICAgICAgaWYgKGtpbmQgPT09ICJhY2Nlc3NvciIpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7DQogICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09ICJvYmplY3QiKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsNCiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87DQogICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuc2V0KSkgZGVzY3JpcHRvci5zZXQgPSBfOw0KICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChfID0gYWNjZXB0KHJlc3VsdCkpIHsNCiAgICAgICAgICAgIGlmIChraW5kID09PSAiZmllbGQiKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7DQogICAgZG9uZSA9IHRydWU7DQp9Ow0KdmFyIF9fc2V0RnVuY3Rpb25OYW1lID0gKHRoaXMgJiYgdGhpcy5fX3NldEZ1bmN0aW9uTmFtZSkgfHwgZnVuY3Rpb24gKGYsIG5hbWUsIHByZWZpeCkgew0KICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gInN5bWJvbCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gIlsiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCAiXSIpIDogIiI7DQogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibmFtZSIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gIiIuY29uY2F0KHByZWZpeCwgIiAiLCBuYW1lKSA6IG5hbWUgfSk7DQp9Ow0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRHZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRHZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHsNCiAgICBpZiAoa2luZCA9PT0gImEiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXIiKTsNCiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdCIpOw0KICAgIHJldHVybiBraW5kID09PSAibSIgPyBmIDoga2luZCA9PT0gImEiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTsNCn07DQp2YXIgX19jbGFzc1ByaXZhdGVGaWVsZFNldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZFNldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHsNCiAgICBpZiAoa2luZCA9PT0gIm0iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTsNCiAgICBpZiAoa2luZCA9PT0gImEiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTsNCiAgICBpZiAodHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7DQogICAgcmV0dXJuIChraW5kID09PSAiYSIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlOw0KfTsNCnZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4gPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRJbikgfHwgZnVuY3Rpb24oc3RhdGUsIHJlY2VpdmVyKSB7DQogICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09ICJvYmplY3QiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gImZ1bmN0aW9uIikpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7DQogICAgcmV0dXJuIHR5cGVvZiBzdGF0ZSA9PT0gImZ1bmN0aW9uIiA/IHJlY2VpdmVyID09PSBzdGF0ZSA6IHN0YXRlLmhhcyhyZWNlaXZlcik7DQp9Ow0KbGV0IEMgPSAoKCkgPT4gew0KICAgIHZhciBfQ19tZXRob2RfZ2V0LCBfQ194X2dldCwgX0NfeF9zZXQsIF9DX3ksIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSwgX0Nfel9nZXQsIF9DX3pfc2V0LCBfQ196XzFfYWNjZXNzb3Jfc3RvcmFnZTsNCiAgICBsZXQgX2NsYXNzRGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgbGV0IF9jbGFzc0Rlc2NyaXB0b3I7DQogICAgbGV0IF9jbGFzc0V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9jbGFzc1RoaXM7DQogICAgbGV0IF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvcjsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9nZXRfeF9kZXNjcmlwdG9yOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3NldF94X2Rlc2NyaXB0b3I7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfeV9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9kZWNvcmF0b3JzOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3pfZXh0cmFJbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3pfZGVzY3JpcHRvcjsNCiAgICBsZXQgX21ldGhvZF9kZWNvcmF0b3JzOw0KICAgIGxldCBfZ2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3NldF94X2RlY29yYXRvcnM7DQogICAgbGV0IF95X2RlY29yYXRvcnM7DQogICAgbGV0IF95X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfeV9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfel9kZWNvcmF0b3JzOw0KICAgIGxldCBfel9pbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX3pfZXh0cmFJbml0aWFsaXplcnMgPSBbXTsNCiAgICB2YXIgQyA9IF9jbGFzc1RoaXMgPSBjbGFzcyB7DQogICAgICAgIG1ldGhvZCgpIHsgfQ0KICAgICAgICBnZXQgeCgpIHsgcmV0dXJuIDE7IH0NCiAgICAgICAgc2V0IHgodmFsdWUpIHsgfQ0KICAgICAgICBnZXQgeigpIHsgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Nfel8xX2FjY2Vzc29yX3N0b3JhZ2UsICJmIik7IH0NCiAgICAgICAgc2V0IHoodmFsdWUpIHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfQ196XzFfYWNjZXNzb3Jfc3RvcmFnZSwgdmFsdWUsICJmIik7IH0NCiAgICAgICAgY29uc3RydWN0b3IoKSB7DQogICAgICAgICAgICB0aGlzLnkgPSAoX19ydW5Jbml0aWFsaXplcnModGhpcywgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpLCBfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfeV9pbml0aWFsaXplcnMsIDEpKTsNCiAgICAgICAgICAgIF9DX3pfMV9hY2Nlc3Nvcl9zdG9yYWdlLnNldCh0aGlzLCAoX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfZXh0cmFJbml0aWFsaXplcnMpLCBfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfel9pbml0aWFsaXplcnMsIDEpKSk7DQogICAgICAgICAgICBfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfel9leHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIH0NCiAgICB9Ow0KICAgIF9DX3pfMV9hY2Nlc3Nvcl9zdG9yYWdlID0gbmV3IFdlYWtNYXAoKTsNCiAgICBfQ19tZXRob2RfZ2V0ID0gZnVuY3Rpb24gX0NfbWV0aG9kX2dldCgpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvci52YWx1ZTsgfTsNCiAgICBfQ194X2dldCA9IGZ1bmN0aW9uIF9DX3hfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH07DQogICAgX0NfeF9zZXQgPSBmdW5jdGlvbiBfQ194X3NldCh2YWx1ZSkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX3NldF94X2Rlc2NyaXB0b3Iuc2V0LmNhbGwodGhpcywgdmFsdWUpOyB9Ow0KICAgIF9DX3pfZ2V0ID0gZnVuY3Rpb24gX0Nfel9nZXQoKSB7IHJldHVybiBfc3RhdGljX3ByaXZhdGVfel9kZXNjcmlwdG9yLmdldC5jYWxsKHRoaXMpOyB9Ow0KICAgIF9DX3pfc2V0ID0gZnVuY3Rpb24gX0Nfel9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3Iuc2V0LmNhbGwodGhpcywgdmFsdWUpOyB9Ow0KICAgIF9fc2V0RnVuY3Rpb25OYW1lKF9jbGFzc1RoaXMsICJDIik7DQogICAgKCgpID0+IHsNCiAgICAgICAgY29uc3QgX21ldGFkYXRhID0gdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiBTeW1ib2wubWV0YWRhdGEgPyBPYmplY3QuY3JlYXRlKG51bGwpIDogdm9pZCAwOw0KICAgICAgICBfbWV0aG9kX2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICBfZ2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9zZXRfeF9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgX3lfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF96X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgX3N0YXRpY19wcml2YXRlX3lfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgIF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yID0geyB2YWx1ZTogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKCkgeyB9LCAiI21ldGhvZCIpIH0sIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9ycywgeyBraW5kOiAibWV0aG9kIiwgbmFtZTogIiNtZXRob2QiLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJhIiwgX0NfbWV0aG9kX2dldCkgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3IgPSB7IGdldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfSwgIiN4IiwgImdldCIpIH0sIF9zdGF0aWNfcHJpdmF0ZV9nZXRfeF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJnZXR0ZXIiLCBuYW1lOiAiI3giLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJhIiwgX0NfeF9nZXQpIH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgX19lc0RlY29yYXRlKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yID0geyBzZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICh2YWx1ZSkgeyB9LCAiI3giLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ194X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfZGVzY3JpcHRvciA9IHsgZ2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KF9jbGFzc1RoaXMsIF9jbGFzc1RoaXMsICJmIiwgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlKTsgfSwgIiN6IiwgImdldCIpLCBzZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICh2YWx1ZSkgeyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KF9jbGFzc1RoaXMsIF9jbGFzc1RoaXMsIHZhbHVlLCAiZiIsIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSk7IH0sICIjeiIsICJzZXQiKSB9LCBfc3RhdGljX3ByaXZhdGVfel9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJhY2Nlc3NvciIsIG5hbWU6ICIjeiIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ196X2dldCksIHNldDogKG9iaiwgdmFsdWUpID0+IHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldChvYmosIF9jbGFzc1RoaXMsIHZhbHVlLCAiYSIsIF9DX3pfc2V0KTsgfSB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIF9zdGF0aWNfcHJpdmF0ZV96X2luaXRpYWxpemVycywgX3N0YXRpY19wcml2YXRlX3pfZXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgbnVsbCwgX21ldGhvZF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJtZXRob2QiLCBuYW1lOiAibWV0aG9kIiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAibWV0aG9kIiBpbiBvYmosIGdldDogb2JqID0+IG9iai5tZXRob2QgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBudWxsLCBfZ2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAiZ2V0dGVyIiwgbmFtZTogIngiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ4IiBpbiBvYmosIGdldDogb2JqID0+IG9iai54IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICBfX2VzRGVjb3JhdGUoX2NsYXNzVGhpcywgbnVsbCwgX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICJ4Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieCIgaW4gb2JqLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai54ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShfY2xhc3NUaGlzLCBudWxsLCBfel9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJhY2Nlc3NvciIsIG5hbWU6ICJ6Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieiIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueiwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueiA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3pfaW5pdGlhbGl6ZXJzLCBfel9leHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICIjeSIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImYiLCBfQ195KSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KG9iaiwgX2NsYXNzVGhpcywgdmFsdWUsICJmIiwgX0NfeSk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfeV9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgX19lc0RlY29yYXRlKG51bGwsIG51bGwsIF95X2RlY29yYXRvcnMsIHsga2luZDogImZpZWxkIiwgbmFtZTogInkiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ5IiBpbiBvYmosIGdldDogb2JqID0+IG9iai55LCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai55ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfeV9pbml0aWFsaXplcnMsIF95X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgX19lc0RlY29yYXRlKG51bGwsIF9jbGFzc0Rlc2NyaXB0b3IgPSB7IHZhbHVlOiBfY2xhc3NUaGlzIH0sIF9jbGFzc0RlY29yYXRvcnMsIHsga2luZDogImNsYXNzIiwgbmFtZTogX2NsYXNzVGhpcy5uYW1lLCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9jbGFzc0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgQyA9IF9jbGFzc1RoaXMgPSBfY2xhc3NEZXNjcmlwdG9yLnZhbHVlOw0KICAgICAgICBpZiAoX21ldGFkYXRhKSBPYmplY3QuZGVmaW5lUHJvcGVydHkoX2NsYXNzVGhpcywgU3ltYm9sLm1ldGFkYXRhLCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBfbWV0YWRhdGEgfSk7DQogICAgfSkoKTsNCiAgICBfQ195ID0geyB2YWx1ZTogKF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyksIF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2luaXRpYWxpemVycywgMSkpIH07DQogICAgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlID0geyB2YWx1ZTogKF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAoKCkgPT4gew0KICAgICAgICBfX3J1bkluaXRpYWxpemVycyhfY2xhc3NUaGlzLCBfc3RhdGljX3ByaXZhdGVfel9leHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9jbGFzc0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICB9KSgpOw0KICAgIHJldHVybiBDID0gX2NsYXNzVGhpczsNCn0pKCk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1lc0RlY29yYXRvcnMtY2xhc3NEZWNsYXJhdGlvbi1zb3VyY2VNYXAuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSU0sQ0FBQzs7NEJBRk4sR0FBRyxFQUNILEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBSUEsTUFBTSxLQUFJLENBQUM7UUFJWCxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFJckIsSUFBSSxDQUFDLENBQUMsS0FBYSxJQUFJLENBQUM7UUFReEIsSUFBUyxDQUFDLHlFQUFLO1FBQWYsSUFBUyxDQUFDLDhFQUFLOztZQUpmLE1BQUMsSUFmQyxtREFBQywyQ0FlQyxDQUFDLEdBQUM7WUFJRywySEFBSSxDQUFDLElBQUM7Ozs7Ozs7Ozs7Ozs7OEJBbEJkLEdBQUcsRUFDSCxHQUFHOzZCQUdILEdBQUcsRUFDSCxHQUFHOzZCQUdILEdBQUcsRUFDSCxHQUFHO3lCQUdILEdBQUcsRUFDSCxHQUFHO3lCQUdILEdBQUcsRUFDSCxHQUFHOzZDQUdILEdBQUcsRUFDSCxHQUFHOzRDQUdILEdBQUcsRUFDSCxHQUFHOzRDQUdILEdBQUcsRUFDSCxHQUFHO3dDQUdILEdBQUcsRUFDSCxHQUFHO3dDQUdILEdBQUcsRUFDSCxHQUFHO1FBZkosK0RBQUEseUJBQUEsY0FBa0IsQ0FBQyxZQUFBLHVTQUFBO1FBSW5CLDhEQUFBLHVCQUFBLGNBQWtCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFBLDRSQUFBO1FBSTdCLDhEQUFBLHVCQUFBLFVBQWMsS0FBYSxJQUFJLENBQUMsY0FBQSxpVEFBQTtRQVFoQywwREFBQSx1QkFBQSxrR0FBdUIsY0FBQSxFQUF2Qix1QkFBQSx1R0FBdUIsY0FBQSx3WkFBQTtRQXBDdkIsMktBQUEsTUFBTSw2REFBSztRQUlYLGdLQUFJLENBQUMsNkRBQWdCO1FBSXJCLDJLQUFJLENBQUMsd0VBQW1CO1FBUXhCLDhKQUFTLENBQUMsNkJBQUQsQ0FBQyw2RUFBSztRQWdCZixrYUFBYztRQXBCZCxxSkFBQSxDQUFDLDZCQUFELENBQUMsNkVBQUs7UUFmViw2S0F3Q0M7Ozs7SUFMVSxpQkFuQ0wsdURBQUMsZ0VBbUNTLENBQUMsSUFBSixDQUFLO0lBSUUsb0tBQUssQ0FBQyxJQUFKLENBQUs7OztRQXZDckIsdURBQUMifQ==,ZGVjbGFyZSB2YXIgZGVjOiBhbnk7CgpAZGVjCkBkZWMKY2xhc3MgQyB7CiAgICBAZGVjCiAgICBAZGVjCiAgICBtZXRob2QoKSB7fQoKICAgIEBkZWMKICAgIEBkZWMKICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHNldCB4KHZhbHVlOiBudW1iZXIpIHsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHkgPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIGFjY2Vzc29yIHogPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyAjbWV0aG9kKCkge30KCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgZ2V0ICN4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyBzZXQgI3godmFsdWU6IG51bWJlcikgeyB9CgogICAgQGRlYwogICAgQGRlYwogICAgc3RhdGljICN5ID0gMTsKCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgYWNjZXNzb3IgI3ogPSAxOwp9Cg== //// [esDecorators-classDeclaration-sourceMap.d.ts.map] {"version":3,"file":"esDecorators-classDeclaration-sourceMap.d.ts","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC;AAErB,cAEM,CAAC;;IAGH,MAAM;IAEN,IAEI,CAAC,IAIQ,MAAM,CAJE;IAErB,IAEI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAK;IAIxB,CAAC,SAAK;IAIN,QAAQ,CAAC,CAAC,SAAK;CAqBlB"} diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).sourcemap.txt b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).sourcemap.txt index 67d46048203..51ceedca9e4 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).sourcemap.txt +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2015).sourcemap.txt @@ -8,6 +8,13 @@ sources: esDecorators-classDeclaration-sourceMap.ts emittedFile:esDecorators-classDeclaration-sourceMap.js sourceFile:esDecorators-classDeclaration-sourceMap.ts ------------------------------------------------------------------- +>>>var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { +>>> var useValue = arguments.length > 2; +>>> for (var i = 0; i < initializers.length; i++) { +>>> value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); +>>> } +>>> return useValue ? value : void 0; +>>>}; >>>var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { >>> function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } >>> var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -35,13 +42,6 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts >>> if (target) Object.defineProperty(target, contextIn.name, descriptor); >>> done = true; >>>}; ->>>var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { ->>> var useValue = arguments.length > 2; ->>> for (var i = 0; i < initializers.length; i++) { ->>> value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); ->>> } ->>> return useValue ? value : void 0; ->>>}; >>>var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { >>> if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; >>> return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); @@ -103,110 +103,36 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts >>> let _static_private_set_x_descriptor; >>> let _static_private_y_decorators; >>> let _static_private_y_initializers = []; +>>> let _static_private_y_extraInitializers = []; >>> let _static_private_z_decorators; >>> let _static_private_z_initializers = []; +>>> let _static_private_z_extraInitializers = []; >>> let _static_private_z_descriptor; >>> let _method_decorators; >>> let _get_x_decorators; >>> let _set_x_decorators; >>> let _y_decorators; >>> let _y_initializers = []; +>>> let _y_extraInitializers = []; >>> let _z_decorators; >>> let _z_initializers = []; +>>> let _z_extraInitializers = []; >>> var C = _classThis = class { ->>> constructor() { ->>> this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); -1 >^^^^^^^^^^^^ -2 > ^^^^^^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -4 > ^ -5 > ^^^ -1 > - >class C { - > @dec - > @dec - > method() {} - > - > @dec - > @dec - > get x() { return 1; } - > - > @dec - > @dec - > set x(value: number) { } - > - > @dec - > @dec - > -2 > y -3 > = -4 > 1 -5 > ; -1 >Emitted(82, 13) Source(20, 5) + SourceIndex(0) -2 >Emitted(82, 19) Source(20, 6) + SourceIndex(0) -3 >Emitted(82, 117) Source(20, 9) + SourceIndex(0) -4 >Emitted(82, 118) Source(20, 10) + SourceIndex(0) -5 >Emitted(82, 121) Source(20, 11) + SourceIndex(0) ---- ->>> _C_z_1_accessor_storage.set(this, __runInitializers(this, _z_initializers, 1)); -1 >^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^ -1 > - > - > @dec - > @dec - > accessor -2 > z = -3 > 1 -4 > ; -1 >Emitted(83, 13) Source(24, 14) + SourceIndex(0) -2 >Emitted(83, 88) Source(24, 18) + SourceIndex(0) -3 >Emitted(83, 89) Source(24, 19) + SourceIndex(0) -4 >Emitted(83, 92) Source(24, 20) + SourceIndex(0) ---- ->>> } -1 >^^^^^^^^ -2 > ^ -3 > ^^^^^^^^^^^^-> -1 > - > - > @dec - > @dec - > static #method() {} - > - > @dec - > @dec - > static get #x() { return 1; } - > - > @dec - > @dec - > static set #x(value: number) { } - > - > @dec - > @dec - > static #y = 1; - > - > @dec - > @dec - > static accessor #z = 1; - > -2 > } -1 >Emitted(84, 9) Source(45, 1) + SourceIndex(0) -2 >Emitted(84, 10) Source(45, 2) + SourceIndex(0) ---- >>> method() { } -1->^^^^^^^^ +1 >^^^^^^^^ 2 > ^^^^^^ 3 > ^^^^^ 4 > ^ 5 > ^^^^^^^^^^-> -1-> +1 > + >class C { + > @dec + > @dec + > 2 > method 3 > () { 4 > } -1->Emitted(85, 9) Source(8, 5) + SourceIndex(0) +1 >Emitted(85, 9) Source(8, 5) + SourceIndex(0) 2 >Emitted(85, 15) Source(8, 11) + SourceIndex(0) 3 >Emitted(85, 20) Source(8, 15) + SourceIndex(0) 4 >Emitted(85, 21) Source(8, 16) + SourceIndex(0) @@ -309,6 +235,66 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 >Emitted(89, 14) Source(24, 15) + SourceIndex(0) 4 >Emitted(89, 92) Source(24, 20) + SourceIndex(0) --- +>>> constructor() { +>>> this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); +1 >^^^^^^^^^^^^ +2 > ^^^^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^ +8 > ^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 > y +3 > +4 > C +5 > { + > @dec + > @dec + > method() {} + > + > @dec + > @dec + > get x() { return 1; } + > + > @dec + > @dec + > set x(value: number) { } + > + > @dec + > @dec + > y = +6 > 1 +7 > ; +1 >Emitted(91, 13) Source(20, 5) + SourceIndex(0) +2 >Emitted(91, 19) Source(20, 6) + SourceIndex(0) +3 >Emitted(91, 23) Source(5, 7) + SourceIndex(0) +4 >Emitted(91, 74) Source(5, 8) + SourceIndex(0) +5 >Emitted(91, 117) Source(20, 9) + SourceIndex(0) +6 >Emitted(91, 118) Source(20, 10) + SourceIndex(0) +7 >Emitted(91, 121) Source(20, 11) + SourceIndex(0) +--- +>>> _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); +1->^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^ +1-> + > + > @dec + > @dec + > accessor +2 > z = +3 > 1 +4 > ; +1->Emitted(92, 13) Source(24, 14) + SourceIndex(0) +2 >Emitted(92, 136) Source(24, 18) + SourceIndex(0) +3 >Emitted(92, 137) Source(24, 19) + SourceIndex(0) +4 >Emitted(92, 141) Source(24, 20) + SourceIndex(0) +--- +>>> __runInitializers(this, _z_extraInitializers); +>>> } >>> }; >>> _C_z_1_accessor_storage = new WeakMap(); >>> _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }; @@ -330,10 +316,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1 >Emitted(100, 31) Source(6, 6) + SourceIndex(0) -2 >Emitted(100, 34) Source(6, 9) + SourceIndex(0) -3 >Emitted(100, 36) Source(7, 6) + SourceIndex(0) -4 >Emitted(100, 39) Source(7, 9) + SourceIndex(0) +1 >Emitted(105, 31) Source(6, 6) + SourceIndex(0) +2 >Emitted(105, 34) Source(6, 9) + SourceIndex(0) +3 >Emitted(105, 36) Source(7, 6) + SourceIndex(0) +4 >Emitted(105, 39) Source(7, 9) + SourceIndex(0) --- >>> _get_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -349,10 +335,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(101, 30) Source(10, 6) + SourceIndex(0) -2 >Emitted(101, 33) Source(10, 9) + SourceIndex(0) -3 >Emitted(101, 35) Source(11, 6) + SourceIndex(0) -4 >Emitted(101, 38) Source(11, 9) + SourceIndex(0) +1->Emitted(106, 30) Source(10, 6) + SourceIndex(0) +2 >Emitted(106, 33) Source(10, 9) + SourceIndex(0) +3 >Emitted(106, 35) Source(11, 6) + SourceIndex(0) +4 >Emitted(106, 38) Source(11, 9) + SourceIndex(0) --- >>> _set_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -367,10 +353,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(102, 30) Source(14, 6) + SourceIndex(0) -2 >Emitted(102, 33) Source(14, 9) + SourceIndex(0) -3 >Emitted(102, 35) Source(15, 6) + SourceIndex(0) -4 >Emitted(102, 38) Source(15, 9) + SourceIndex(0) +1->Emitted(107, 30) Source(14, 6) + SourceIndex(0) +2 >Emitted(107, 33) Source(14, 9) + SourceIndex(0) +3 >Emitted(107, 35) Source(15, 6) + SourceIndex(0) +4 >Emitted(107, 38) Source(15, 9) + SourceIndex(0) --- >>> _y_decorators = [dec, dec]; 1 >^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -386,10 +372,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1 >Emitted(103, 26) Source(18, 6) + SourceIndex(0) -2 >Emitted(103, 29) Source(18, 9) + SourceIndex(0) -3 >Emitted(103, 31) Source(19, 6) + SourceIndex(0) -4 >Emitted(103, 34) Source(19, 9) + SourceIndex(0) +1 >Emitted(108, 26) Source(18, 6) + SourceIndex(0) +2 >Emitted(108, 29) Source(18, 9) + SourceIndex(0) +3 >Emitted(108, 31) Source(19, 6) + SourceIndex(0) +4 >Emitted(108, 34) Source(19, 9) + SourceIndex(0) --- >>> _z_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -405,10 +391,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(104, 26) Source(22, 6) + SourceIndex(0) -2 >Emitted(104, 29) Source(22, 9) + SourceIndex(0) -3 >Emitted(104, 31) Source(23, 6) + SourceIndex(0) -4 >Emitted(104, 34) Source(23, 9) + SourceIndex(0) +1->Emitted(109, 26) Source(22, 6) + SourceIndex(0) +2 >Emitted(109, 29) Source(22, 9) + SourceIndex(0) +3 >Emitted(109, 31) Source(23, 6) + SourceIndex(0) +4 >Emitted(109, 34) Source(23, 9) + SourceIndex(0) --- >>> _static_private_method_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -424,10 +410,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(105, 46) Source(26, 6) + SourceIndex(0) -2 >Emitted(105, 49) Source(26, 9) + SourceIndex(0) -3 >Emitted(105, 51) Source(27, 6) + SourceIndex(0) -4 >Emitted(105, 54) Source(27, 9) + SourceIndex(0) +1->Emitted(110, 46) Source(26, 6) + SourceIndex(0) +2 >Emitted(110, 49) Source(26, 9) + SourceIndex(0) +3 >Emitted(110, 51) Source(27, 6) + SourceIndex(0) +4 >Emitted(110, 54) Source(27, 9) + SourceIndex(0) --- >>> _static_private_get_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -443,10 +429,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(106, 45) Source(30, 6) + SourceIndex(0) -2 >Emitted(106, 48) Source(30, 9) + SourceIndex(0) -3 >Emitted(106, 50) Source(31, 6) + SourceIndex(0) -4 >Emitted(106, 53) Source(31, 9) + SourceIndex(0) +1->Emitted(111, 45) Source(30, 6) + SourceIndex(0) +2 >Emitted(111, 48) Source(30, 9) + SourceIndex(0) +3 >Emitted(111, 50) Source(31, 6) + SourceIndex(0) +4 >Emitted(111, 53) Source(31, 9) + SourceIndex(0) --- >>> _static_private_set_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -461,10 +447,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(107, 45) Source(34, 6) + SourceIndex(0) -2 >Emitted(107, 48) Source(34, 9) + SourceIndex(0) -3 >Emitted(107, 50) Source(35, 6) + SourceIndex(0) -4 >Emitted(107, 53) Source(35, 9) + SourceIndex(0) +1->Emitted(112, 45) Source(34, 6) + SourceIndex(0) +2 >Emitted(112, 48) Source(34, 9) + SourceIndex(0) +3 >Emitted(112, 50) Source(35, 6) + SourceIndex(0) +4 >Emitted(112, 53) Source(35, 9) + SourceIndex(0) --- >>> _static_private_y_decorators = [dec, dec]; 1 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -480,10 +466,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1 >Emitted(108, 41) Source(38, 6) + SourceIndex(0) -2 >Emitted(108, 44) Source(38, 9) + SourceIndex(0) -3 >Emitted(108, 46) Source(39, 6) + SourceIndex(0) -4 >Emitted(108, 49) Source(39, 9) + SourceIndex(0) +1 >Emitted(113, 41) Source(38, 6) + SourceIndex(0) +2 >Emitted(113, 44) Source(38, 9) + SourceIndex(0) +3 >Emitted(113, 46) Source(39, 6) + SourceIndex(0) +4 >Emitted(113, 49) Source(39, 9) + SourceIndex(0) --- >>> _static_private_z_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -499,10 +485,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(109, 41) Source(42, 6) + SourceIndex(0) -2 >Emitted(109, 44) Source(42, 9) + SourceIndex(0) -3 >Emitted(109, 46) Source(43, 6) + SourceIndex(0) -4 >Emitted(109, 49) Source(43, 9) + SourceIndex(0) +1->Emitted(114, 41) Source(42, 6) + SourceIndex(0) +2 >Emitted(114, 44) Source(42, 9) + SourceIndex(0) +3 >Emitted(114, 46) Source(43, 6) + SourceIndex(0) +4 >Emitted(114, 49) Source(43, 9) + SourceIndex(0) --- >>> __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); 1->^^^^^^^^ @@ -519,13 +505,13 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 5 > } 6 > 7 > -1->Emitted(110, 9) Source(28, 5) + SourceIndex(0) -2 >Emitted(110, 72) Source(28, 5) + SourceIndex(0) -3 >Emitted(110, 97) Source(28, 5) + SourceIndex(0) -4 >Emitted(110, 111) Source(28, 23) + SourceIndex(0) -5 >Emitted(110, 112) Source(28, 24) + SourceIndex(0) -6 >Emitted(110, 124) Source(28, 24) + SourceIndex(0) -7 >Emitted(110, 419) Source(28, 24) + SourceIndex(0) +1->Emitted(115, 9) Source(28, 5) + SourceIndex(0) +2 >Emitted(115, 72) Source(28, 5) + SourceIndex(0) +3 >Emitted(115, 97) Source(28, 5) + SourceIndex(0) +4 >Emitted(115, 111) Source(28, 23) + SourceIndex(0) +5 >Emitted(115, 112) Source(28, 24) + SourceIndex(0) +6 >Emitted(115, 124) Source(28, 24) + SourceIndex(0) +7 >Emitted(115, 419) Source(28, 24) + SourceIndex(0) --- >>> __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); 1 >^^^^^^^^ @@ -555,17 +541,17 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 9 > } 10> 11> -1 >Emitted(111, 9) Source(32, 5) + SourceIndex(0) -2 >Emitted(111, 71) Source(32, 5) + SourceIndex(0) -3 >Emitted(111, 94) Source(32, 5) + SourceIndex(0) -4 >Emitted(111, 108) Source(32, 23) + SourceIndex(0) -5 >Emitted(111, 115) Source(32, 30) + SourceIndex(0) -6 >Emitted(111, 116) Source(32, 31) + SourceIndex(0) -7 >Emitted(111, 117) Source(32, 32) + SourceIndex(0) -8 >Emitted(111, 118) Source(32, 33) + SourceIndex(0) -9 >Emitted(111, 119) Source(32, 34) + SourceIndex(0) -10>Emitted(111, 133) Source(32, 34) + SourceIndex(0) -11>Emitted(111, 417) Source(32, 34) + SourceIndex(0) +1 >Emitted(116, 9) Source(32, 5) + SourceIndex(0) +2 >Emitted(116, 71) Source(32, 5) + SourceIndex(0) +3 >Emitted(116, 94) Source(32, 5) + SourceIndex(0) +4 >Emitted(116, 108) Source(32, 23) + SourceIndex(0) +5 >Emitted(116, 115) Source(32, 30) + SourceIndex(0) +6 >Emitted(116, 116) Source(32, 31) + SourceIndex(0) +7 >Emitted(116, 117) Source(32, 32) + SourceIndex(0) +8 >Emitted(116, 118) Source(32, 33) + SourceIndex(0) +9 >Emitted(116, 119) Source(32, 34) + SourceIndex(0) +10>Emitted(116, 133) Source(32, 34) + SourceIndex(0) +11>Emitted(116, 417) Source(32, 34) + SourceIndex(0) --- >>> __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); 1->^^^^^^^^ @@ -577,7 +563,7 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > ^ 8 > ^^^^^^^^^^^^^^ 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -591,17 +577,17 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > } 8 > 9 > -1->Emitted(112, 9) Source(36, 5) + SourceIndex(0) -2 >Emitted(112, 71) Source(36, 5) + SourceIndex(0) -3 >Emitted(112, 94) Source(36, 5) + SourceIndex(0) -4 >Emitted(112, 104) Source(36, 19) + SourceIndex(0) -5 >Emitted(112, 109) Source(36, 32) + SourceIndex(0) -6 >Emitted(112, 113) Source(36, 36) + SourceIndex(0) -7 >Emitted(112, 114) Source(36, 37) + SourceIndex(0) -8 >Emitted(112, 128) Source(36, 37) + SourceIndex(0) -9 >Emitted(112, 433) Source(36, 37) + SourceIndex(0) +1->Emitted(117, 9) Source(36, 5) + SourceIndex(0) +2 >Emitted(117, 71) Source(36, 5) + SourceIndex(0) +3 >Emitted(117, 94) Source(36, 5) + SourceIndex(0) +4 >Emitted(117, 104) Source(36, 19) + SourceIndex(0) +5 >Emitted(117, 109) Source(36, 32) + SourceIndex(0) +6 >Emitted(117, 113) Source(36, 36) + SourceIndex(0) +7 >Emitted(117, 114) Source(36, 37) + SourceIndex(0) +8 >Emitted(117, 128) Source(36, 37) + SourceIndex(0) +9 >Emitted(117, 433) Source(36, 37) + SourceIndex(0) --- ->>> __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); +>>> __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); 1->^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^^^^^^^^^^^ @@ -611,7 +597,7 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > ^^^^^^^^^^^^^^^^^^^^^^^ 8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 9 > ^^^^^^^^^^^^^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > > @dec @@ -630,16 +616,16 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 8 > static accessor #z = 1; 9 > 10> -1->Emitted(113, 9) Source(44, 5) + SourceIndex(0) -2 >Emitted(113, 67) Source(44, 5) + SourceIndex(0) -3 >Emitted(113, 90) Source(44, 5) + SourceIndex(0) -4 >Emitted(113, 188) Source(44, 28) + SourceIndex(0) -5 >Emitted(113, 202) Source(44, 28) + SourceIndex(0) -6 >Emitted(113, 204) Source(44, 5) + SourceIndex(0) -7 >Emitted(113, 227) Source(44, 5) + SourceIndex(0) -8 >Emitted(113, 330) Source(44, 28) + SourceIndex(0) -9 >Emitted(113, 344) Source(44, 28) + SourceIndex(0) -10>Emitted(113, 741) Source(44, 28) + SourceIndex(0) +1->Emitted(118, 9) Source(44, 5) + SourceIndex(0) +2 >Emitted(118, 67) Source(44, 5) + SourceIndex(0) +3 >Emitted(118, 90) Source(44, 5) + SourceIndex(0) +4 >Emitted(118, 188) Source(44, 28) + SourceIndex(0) +5 >Emitted(118, 202) Source(44, 28) + SourceIndex(0) +6 >Emitted(118, 204) Source(44, 5) + SourceIndex(0) +7 >Emitted(118, 227) Source(44, 5) + SourceIndex(0) +8 >Emitted(118, 330) Source(44, 28) + SourceIndex(0) +9 >Emitted(118, 344) Source(44, 28) + SourceIndex(0) +10>Emitted(118, 752) Source(44, 28) + SourceIndex(0) --- >>> __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); 1 >^^^^^^^^ @@ -650,10 +636,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > 3 > method 4 > () {} -1 >Emitted(114, 9) Source(8, 5) + SourceIndex(0) -2 >Emitted(114, 180) Source(8, 5) + SourceIndex(0) -3 >Emitted(114, 186) Source(8, 11) + SourceIndex(0) -4 >Emitted(114, 247) Source(8, 16) + SourceIndex(0) +1 >Emitted(119, 9) Source(8, 5) + SourceIndex(0) +2 >Emitted(119, 180) Source(8, 5) + SourceIndex(0) +3 >Emitted(119, 186) Source(8, 11) + SourceIndex(0) +4 >Emitted(119, 247) Source(8, 16) + SourceIndex(0) --- >>> __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); 1 >^^^^^^^^ @@ -669,17 +655,17 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > get 3 > x 4 > () { return 1; } -1 >Emitted(115, 9) Source(12, 5) + SourceIndex(0) -2 >Emitted(115, 169) Source(12, 9) + SourceIndex(0) -3 >Emitted(115, 170) Source(12, 10) + SourceIndex(0) -4 >Emitted(115, 231) Source(12, 26) + SourceIndex(0) +1 >Emitted(120, 9) Source(12, 5) + SourceIndex(0) +2 >Emitted(120, 169) Source(12, 9) + SourceIndex(0) +3 >Emitted(120, 170) Source(12, 10) + SourceIndex(0) +4 >Emitted(120, 231) Source(12, 26) + SourceIndex(0) --- >>> __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); 1->^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -688,19 +674,19 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > set 3 > x 4 > (value: number) { } -1->Emitted(116, 9) Source(16, 5) + SourceIndex(0) -2 >Emitted(116, 180) Source(16, 9) + SourceIndex(0) -3 >Emitted(116, 181) Source(16, 10) + SourceIndex(0) -4 >Emitted(116, 253) Source(16, 29) + SourceIndex(0) +1->Emitted(121, 9) Source(16, 5) + SourceIndex(0) +2 >Emitted(121, 180) Source(16, 9) + SourceIndex(0) +3 >Emitted(121, 181) Source(16, 10) + SourceIndex(0) +4 >Emitted(121, 253) Source(16, 29) + SourceIndex(0) --- ->>> __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); +>>> __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); 1->^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -715,16 +701,16 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 4 > 5 > z 6 > = 1; -1->Emitted(117, 9) Source(24, 5) + SourceIndex(0) -2 >Emitted(117, 167) Source(24, 14) + SourceIndex(0) -3 >Emitted(117, 168) Source(24, 15) + SourceIndex(0) -4 >Emitted(117, 197) Source(24, 14) + SourceIndex(0) -5 >Emitted(117, 198) Source(24, 15) + SourceIndex(0) -6 >Emitted(117, 281) Source(24, 20) + SourceIndex(0) +1->Emitted(122, 9) Source(24, 5) + SourceIndex(0) +2 >Emitted(122, 167) Source(24, 14) + SourceIndex(0) +3 >Emitted(122, 168) Source(24, 15) + SourceIndex(0) +4 >Emitted(122, 197) Source(24, 14) + SourceIndex(0) +5 >Emitted(122, 198) Source(24, 15) + SourceIndex(0) +6 >Emitted(122, 275) Source(24, 20) + SourceIndex(0) --- ->>> __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); +>>> __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); 1->^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > > @dec @@ -743,28 +729,28 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts > @dec > 2 > static #y = 1; -1->Emitted(118, 9) Source(40, 5) + SourceIndex(0) -2 >Emitted(118, 416) Source(40, 19) + SourceIndex(0) +1->Emitted(123, 9) Source(40, 5) + SourceIndex(0) +2 >Emitted(123, 427) Source(40, 19) + SourceIndex(0) --- ->>> __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); +>>> __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > 3 > y 4 > 5 > y 6 > = 1; -1 >Emitted(119, 9) Source(20, 5) + SourceIndex(0) -2 >Emitted(119, 158) Source(20, 5) + SourceIndex(0) -3 >Emitted(119, 159) Source(20, 6) + SourceIndex(0) -4 >Emitted(119, 188) Source(20, 5) + SourceIndex(0) -5 >Emitted(119, 189) Source(20, 6) + SourceIndex(0) -6 >Emitted(119, 272) Source(20, 11) + SourceIndex(0) +1 >Emitted(124, 9) Source(20, 5) + SourceIndex(0) +2 >Emitted(124, 158) Source(20, 5) + SourceIndex(0) +3 >Emitted(124, 159) Source(20, 6) + SourceIndex(0) +4 >Emitted(124, 188) Source(20, 5) + SourceIndex(0) +5 >Emitted(124, 189) Source(20, 6) + SourceIndex(0) +6 >Emitted(124, 266) Source(20, 11) + SourceIndex(0) --- >>> __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); 1 >^^^^^^^^ @@ -811,102 +797,101 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts > @dec > static accessor #z = 1; > } -1 >Emitted(120, 9) Source(5, 1) + SourceIndex(0) -2 >Emitted(120, 182) Source(45, 2) + SourceIndex(0) +1 >Emitted(125, 9) Source(5, 1) + SourceIndex(0) +2 >Emitted(125, 182) Source(45, 2) + SourceIndex(0) --- >>> C = _classThis = _classDescriptor.value; >>> if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); ->>> __runInitializers(_classThis, _staticExtraInitializers); -1 >^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1 > -2 > C -1 >Emitted(123, 9) Source(5, 7) + SourceIndex(0) -2 >Emitted(123, 65) Source(5, 8) + SourceIndex(0) ---- >>> })(); ->>> _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; +>>> _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; 1 >^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^ -5 > ^ -6 > ^^^^^^^^^^^^^^^^^^-> -1 > { - > @dec - > @dec - > method() {} - > - > @dec - > @dec - > get x() { return 1; } - > - > @dec - > @dec - > set x(value: number) { } - > - > @dec - > @dec - > y = 1; - > - > @dec - > @dec - > accessor z = 1; - > - > @dec - > @dec - > static #method() {} - > - > @dec - > @dec - > static get #x() { return 1; } - > - > @dec - > @dec - > static set #x(value: number) { } - > - > @dec - > @dec - > static -2 > #y = -3 > 1 -4 > -5 > = 1; -1 >Emitted(125, 5) Source(40, 12) + SourceIndex(0) -2 >Emitted(125, 83) Source(40, 17) + SourceIndex(0) -3 >Emitted(125, 84) Source(40, 18) + SourceIndex(0) -4 >Emitted(125, 87) Source(40, 14) + SourceIndex(0) -5 >Emitted(125, 88) Source(40, 19) + SourceIndex(0) +2 > ^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^ +7 > ^ +8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 > +2 > +3 > C +4 > { + > @dec + > @dec + > method() {} + > + > @dec + > @dec + > get x() { return 1; } + > + > @dec + > @dec + > set x(value: number) { } + > + > @dec + > @dec + > y = 1; + > + > @dec + > @dec + > accessor z = 1; + > + > @dec + > @dec + > static #method() {} + > + > @dec + > @dec + > static get #x() { return 1; } + > + > @dec + > @dec + > static set #x(value: number) { } + > + > @dec + > @dec + > static #y = +5 > 1 +6 > +7 > = 1; +1 >Emitted(129, 5) Source(40, 12) + SourceIndex(0) +2 >Emitted(129, 22) Source(5, 7) + SourceIndex(0) +3 >Emitted(129, 77) Source(5, 8) + SourceIndex(0) +4 >Emitted(129, 141) Source(40, 17) + SourceIndex(0) +5 >Emitted(129, 142) Source(40, 18) + SourceIndex(0) +6 >Emitted(129, 146) Source(40, 14) + SourceIndex(0) +7 >Emitted(129, 147) Source(40, 19) + SourceIndex(0) --- ->>> _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; +>>> _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; 1->^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^ -5 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^ 1-> > > @dec > @dec > static accessor 2 > #z = -3 > 1 -4 > -5 > = 1; -1->Emitted(126, 5) Source(44, 21) + SourceIndex(0) -2 >Emitted(126, 100) Source(44, 26) + SourceIndex(0) -3 >Emitted(126, 101) Source(44, 27) + SourceIndex(0) -4 >Emitted(126, 104) Source(44, 23) + SourceIndex(0) -5 >Emitted(126, 105) Source(44, 28) + SourceIndex(0) +3 > 1 +4 > +5 > = 1; +1->Emitted(130, 5) Source(44, 21) + SourceIndex(0) +2 >Emitted(130, 169) Source(44, 26) + SourceIndex(0) +3 >Emitted(130, 170) Source(44, 27) + SourceIndex(0) +4 >Emitted(130, 174) Source(44, 23) + SourceIndex(0) +5 >Emitted(130, 175) Source(44, 28) + SourceIndex(0) --- >>> (() => { +>>> __runInitializers(_classThis, _static_private_z_extraInitializers); >>> __runInitializers(_classThis, _classExtraInitializers); 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > C -1 >Emitted(128, 9) Source(5, 7) + SourceIndex(0) -2 >Emitted(128, 64) Source(5, 8) + SourceIndex(0) +1 >Emitted(133, 9) Source(5, 7) + SourceIndex(0) +2 >Emitted(133, 64) Source(5, 8) + SourceIndex(0) --- >>> })(); >>> return C = _classThis; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js index 107a5bfe98f..b2487b3a071 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js @@ -49,6 +49,13 @@ class C { //// [esDecorators-classDeclaration-sourceMap.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -76,13 +83,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); @@ -118,16 +118,20 @@ let C = (() => { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = class { static { _classThis = this; } static { __setFunctionName(this, "C"); } @@ -147,32 +151,35 @@ let C = (() => { __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); } method() { } get x() { return 1; } set x(value) { } y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = __runInitializers(this, _z_initializers, 1); + #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); get z() { return this.#z_accessor_storage; } set z(value) { this.#z_accessor_storage = value; } static { - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; } static { - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; + } + constructor() { + __runInitializers(this, _z_extraInitializers); } static { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); } }; diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map index 6c3ad708bb5..2db1e0f3b12 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).js.map @@ -1,6 +1,6 @@ //// [esDecorators-classDeclaration-sourceMap.js.map] -{"version":3,"file":"esDecorators-classDeclaration-sourceMap.js","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,CAAC;;4BAFN,GAAG,EACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAEC,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;iDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;YAfJ,yDAAA,yBAAA,cAAkB,CAAC,YAAA,uSAAA;YAInB,wDAAA,uBAAA,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAA,4RAAA;YAI7B,wDAAA,uBAAA,UAAc,KAAa,IAAI,CAAC,cAAA,iTAAA;YAQhC,oDAAA,uBAAA,4FAAuB,cAAA,EAAvB,uBAAA,iGAAuB,cAAA,6YAAA;YApCvB,qKAAA,MAAM,6DAAK;YAIX,0JAAI,CAAC,6DAAgB;YAIrB,qKAAI,CAAC,wEAAmB;YAQxB,wJAAS,CAAC,6BAAD,CAAC,mFAAK;YAgBf,uZAAc;YApBd,qJAAA,CAAC,6BAAD,CAAC,mFAAK;YAfV,6KAwCC;;;YAxCK,wDAAC;;QAGH,MAAM,KAAI,CAAC;QAIX,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;QAIrB,IAAI,CAAC,CAAC,KAAa,IAAI,CAAC;QAIxB,CAAC,kGAAG,CAAC,GAAC;QAIN,+DAAa,CAAC,EAAC;QAAf,IAAS,CAAC,uCAAK;QAAf,IAAS,CAAC,6CAAK;;YAgBR,8EAAK,CAAC,GAAJ,CAAK;;;YAIE,+FAAK,CAAC,GAAJ,CAAK;;;YAvCrB,uDAAC"} -//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fZXNEZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19lc0RlY29yYXRlKSB8fCBmdW5jdGlvbiAoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHsNCiAgICBmdW5jdGlvbiBhY2NlcHQoZikgeyBpZiAoZiAhPT0gdm9pZCAwICYmIHR5cGVvZiBmICE9PSAiZnVuY3Rpb24iKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpOyByZXR1cm4gZjsgfQ0KICAgIHZhciBraW5kID0gY29udGV4dEluLmtpbmQsIGtleSA9IGtpbmQgPT09ICJnZXR0ZXIiID8gImdldCIgOiBraW5kID09PSAic2V0dGVyIiA/ICJzZXQiIDogInZhbHVlIjsNCiAgICB2YXIgdGFyZ2V0ID0gIWRlc2NyaXB0b3JJbiAmJiBjdG9yID8gY29udGV4dEluWyJzdGF0aWMiXSA/IGN0b3IgOiBjdG9yLnByb3RvdHlwZSA6IG51bGw7DQogICAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7DQogICAgdmFyIF8sIGRvbmUgPSBmYWxzZTsNCiAgICBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgew0KICAgICAgICB2YXIgY29udGV4dCA9IHt9Ow0KICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbikgY29udGV4dFtwXSA9IHAgPT09ICJhY2Nlc3MiID8ge30gOiBjb250ZXh0SW5bcF07DQogICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdOw0KICAgICAgICBjb250ZXh0LmFkZEluaXRpYWxpemVyID0gZnVuY3Rpb24gKGYpIHsgaWYgKGRvbmUpIHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTsNCiAgICAgICAgdmFyIHJlc3VsdCA9ICgwLCBkZWNvcmF0b3JzW2ldKShraW5kID09PSAiYWNjZXNzb3IiID8geyBnZXQ6IGRlc2NyaXB0b3IuZ2V0LCBzZXQ6IGRlc2NyaXB0b3Iuc2V0IH0gOiBkZXNjcmlwdG9yW2tleV0sIGNvbnRleHQpOw0KICAgICAgICBpZiAoa2luZCA9PT0gImFjY2Vzc29yIikgew0KICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdm9pZCAwKSBjb250aW51ZTsNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IG51bGwgfHwgdHlwZW9mIHJlc3VsdCAhPT0gIm9iamVjdCIpIHRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOw0KICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmdldCkpIGRlc2NyaXB0b3IuZ2V0ID0gXzsNCiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87DQogICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuaW5pdCkpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pOw0KICAgICAgICB9DQogICAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkgew0KICAgICAgICAgICAgaWYgKGtpbmQgPT09ICJmaWVsZCIpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pOw0KICAgICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfOw0KICAgICAgICB9DQogICAgfQ0KICAgIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTsNCiAgICBkb25lID0gdHJ1ZTsNCn07DQp2YXIgX19ydW5Jbml0aWFsaXplcnMgPSAodGhpcyAmJiB0aGlzLl9fcnVuSW5pdGlhbGl6ZXJzKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkgew0KICAgIHZhciB1c2VWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyOw0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5pdGlhbGl6ZXJzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTsNCiAgICB9DQogICAgcmV0dXJuIHVzZVZhbHVlID8gdmFsdWUgOiB2b2lkIDA7DQp9Ow0KdmFyIF9fc2V0RnVuY3Rpb25OYW1lID0gKHRoaXMgJiYgdGhpcy5fX3NldEZ1bmN0aW9uTmFtZSkgfHwgZnVuY3Rpb24gKGYsIG5hbWUsIHByZWZpeCkgew0KICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gInN5bWJvbCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gIlsiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCAiXSIpIDogIiI7DQogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibmFtZSIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gIiIuY29uY2F0KHByZWZpeCwgIiAiLCBuYW1lKSA6IG5hbWUgfSk7DQp9Ow0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRJbiA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEluKSB8fCBmdW5jdGlvbihzdGF0ZSwgcmVjZWl2ZXIpIHsNCiAgICBpZiAocmVjZWl2ZXIgPT09IG51bGwgfHwgKHR5cGVvZiByZWNlaXZlciAhPT0gIm9iamVjdCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSAiZnVuY3Rpb24iKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3QiKTsNCiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTsNCn07DQp2YXIgX19jbGFzc1ByaXZhdGVGaWVsZEdldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEdldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7DQogICAgcmV0dXJuIGtpbmQgPT09ICJtIiA/IGYgOiBraW5kID09PSAiYSIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpOw0KfTsNCnZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0ID0gKHRoaXMgJiYgdGhpcy5fX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KSB8fCBmdW5jdGlvbiAocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAibSIpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZSIpOw0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTsNCiAgICByZXR1cm4gKGtpbmQgPT09ICJhIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7DQp9Ow0KbGV0IEMgPSAoKCkgPT4gew0KICAgIHZhciBfQ19tZXRob2RfZ2V0LCBfQ194X2dldCwgX0NfeF9zZXQsIF9DX3ksIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSwgX0Nfel9nZXQsIF9DX3pfc2V0Ow0KICAgIGxldCBfY2xhc3NEZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICBsZXQgX2NsYXNzRGVzY3JpcHRvcjsNCiAgICBsZXQgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX2NsYXNzVGhpczsNCiAgICBsZXQgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3I7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVzY3JpcHRvcjsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9kZXNjcmlwdG9yOw0KICAgIGxldCBfbWV0aG9kX2RlY29yYXRvcnM7DQogICAgbGV0IF9nZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF96X2RlY29yYXRvcnM7DQogICAgbGV0IF96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIHZhciBDID0gY2xhc3Mgew0KICAgICAgICBzdGF0aWMgeyBfY2xhc3NUaGlzID0gdGhpczsgfQ0KICAgICAgICBzdGF0aWMgeyBfX3NldEZ1bmN0aW9uTmFtZSh0aGlzLCAiQyIpOyB9DQogICAgICAgIHN0YXRpYyB7IF9DX21ldGhvZF9nZXQgPSBmdW5jdGlvbiBfQ19tZXRob2RfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yLnZhbHVlOyB9LCBfQ194X2dldCA9IGZ1bmN0aW9uIF9DX3hfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3hfc2V0ID0gZnVuY3Rpb24gX0NfeF9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yLnNldC5jYWxsKHRoaXMsIHZhbHVlKTsgfSwgX0Nfel9nZXQgPSBmdW5jdGlvbiBfQ196X2dldCgpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3pfc2V0ID0gZnVuY3Rpb24gX0Nfel9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3Iuc2V0LmNhbGwodGhpcywgdmFsdWUpOyB9OyB9DQogICAgICAgIHN0YXRpYyB7DQogICAgICAgICAgICBjb25zdCBfbWV0YWRhdGEgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5tZXRhZGF0YSA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB2b2lkIDA7DQogICAgICAgICAgICBfbWV0aG9kX2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX2dldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3NldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3lfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfel9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvciA9IHsgdmFsdWU6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICgpIHsgfSwgIiNtZXRob2QiKSB9LCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICIjbWV0aG9kIiwgc3RhdGljOiB0cnVlLCBwcml2YXRlOiB0cnVlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEluKF9jbGFzc1RoaXMsIG9iaiksIGdldDogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRHZXQob2JqLCBfY2xhc3NUaGlzLCAiYSIsIF9DX21ldGhvZF9nZXQpIH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVzY3JpcHRvciA9IHsgZ2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9LCAiI3giLCAiZ2V0IikgfSwgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnMsIHsga2luZDogImdldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ194X2dldCkgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yID0geyBzZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICh2YWx1ZSkgeyB9LCAiI3giLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ194X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IgPSB7IGdldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfY2xhc3NUaGlzLCAiZiIsIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSk7IH0sICIjeiIsICJnZXQiKSwgc2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAodmFsdWUpIHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImYiLCBfQ196X2FjY2Vzc29yX3N0b3JhZ2UpOyB9LCAiI3oiLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3pfZGVjb3JhdG9ycywgeyBraW5kOiAiYWNjZXNzb3IiLCBuYW1lOiAiI3oiLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJhIiwgX0Nfel9nZXQpLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ196X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMsIF9zdGF0aWNFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBfX2VzRGVjb3JhdGUodGhpcywgbnVsbCwgX21ldGhvZF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJtZXRob2QiLCBuYW1lOiAibWV0aG9kIiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAibWV0aG9kIiBpbiBvYmosIGdldDogb2JqID0+IG9iai5tZXRob2QgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBfX2VzRGVjb3JhdGUodGhpcywgbnVsbCwgX2dldF94X2RlY29yYXRvcnMsIHsga2luZDogImdldHRlciIsIG5hbWU6ICJ4Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieCIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueCB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfc2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAic2V0dGVyIiwgbmFtZTogIngiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ4IiBpbiBvYmosIHNldDogKG9iaiwgdmFsdWUpID0+IHsgb2JqLnggPSB2YWx1ZTsgfSB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfel9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJhY2Nlc3NvciIsIG5hbWU6ICJ6Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieiIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueiwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueiA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3pfaW5pdGlhbGl6ZXJzLCBfaW5zdGFuY2VFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBfX2VzRGVjb3JhdGUobnVsbCwgbnVsbCwgX3N0YXRpY19wcml2YXRlX3lfZGVjb3JhdG9ycywgeyBraW5kOiAiZmllbGQiLCBuYW1lOiAiI3kiLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJmIiwgX0NfeSksIHNldDogKG9iaiwgdmFsdWUpID0+IHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldChvYmosIF9jbGFzc1RoaXMsIHZhbHVlLCAiZiIsIF9DX3kpOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKG51bGwsIG51bGwsIF95X2RlY29yYXRvcnMsIHsga2luZDogImZpZWxkIiwgbmFtZTogInkiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ5IiBpbiBvYmosIGdldDogb2JqID0+IG9iai55LCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai55ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfeV9pbml0aWFsaXplcnMsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBfY2xhc3NEZXNjcmlwdG9yID0geyB2YWx1ZTogX2NsYXNzVGhpcyB9LCBfY2xhc3NEZWNvcmF0b3JzLCB7IGtpbmQ6ICJjbGFzcyIsIG5hbWU6IF9jbGFzc1RoaXMubmFtZSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfY2xhc3NFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBDID0gX2NsYXNzVGhpcyA9IF9jbGFzc0Rlc2NyaXB0b3IudmFsdWU7DQogICAgICAgICAgICBpZiAoX21ldGFkYXRhKSBPYmplY3QuZGVmaW5lUHJvcGVydHkoX2NsYXNzVGhpcywgU3ltYm9sLm1ldGFkYXRhLCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBfbWV0YWRhdGEgfSk7DQogICAgICAgICAgICBfX3J1bkluaXRpYWxpemVycyhfY2xhc3NUaGlzLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICB9DQogICAgICAgIG1ldGhvZCgpIHsgfQ0KICAgICAgICBnZXQgeCgpIHsgcmV0dXJuIDE7IH0NCiAgICAgICAgc2V0IHgodmFsdWUpIHsgfQ0KICAgICAgICB5ID0gKF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfaW5pdGlhbGl6ZXJzLCAxKSk7DQogICAgICAgICN6X2FjY2Vzc29yX3N0b3JhZ2UgPSBfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfel9pbml0aWFsaXplcnMsIDEpOw0KICAgICAgICBnZXQgeigpIHsgcmV0dXJuIHRoaXMuI3pfYWNjZXNzb3Jfc3RvcmFnZTsgfQ0KICAgICAgICBzZXQgeih2YWx1ZSkgeyB0aGlzLiN6X2FjY2Vzc29yX3N0b3JhZ2UgPSB2YWx1ZTsgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX0NfeSA9IHsgdmFsdWU6IF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2luaXRpYWxpemVycywgMSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlID0geyB2YWx1ZTogX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfaW5pdGlhbGl6ZXJzLCAxKSB9Ow0KICAgICAgICB9DQogICAgICAgIHN0YXRpYyB7DQogICAgICAgICAgICBfX3J1bkluaXRpYWxpemVycyhfY2xhc3NUaGlzLCBfY2xhc3NFeHRyYUluaXRpYWxpemVycyk7DQogICAgICAgIH0NCiAgICB9Ow0KICAgIHJldHVybiBDID0gX2NsYXNzVGhpczsNCn0pKCk7DQovLyMgc291cmNlTWFwcGluZ1VSTD1lc0RlY29yYXRvcnMtY2xhc3NEZWNsYXJhdGlvbi1zb3VyY2VNYXAuanMubWFw,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSU0sQ0FBQzs7NEJBRk4sR0FBRyxFQUNILEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FFQyxHQUFHLEVBQ0gsR0FBRztpQ0FHSCxHQUFHLEVBQ0gsR0FBRztpQ0FHSCxHQUFHLEVBQ0gsR0FBRzs2QkFHSCxHQUFHLEVBQ0gsR0FBRzs2QkFHSCxHQUFHLEVBQ0gsR0FBRztpREFHSCxHQUFHLEVBQ0gsR0FBRztnREFHSCxHQUFHLEVBQ0gsR0FBRztnREFHSCxHQUFHLEVBQ0gsR0FBRzs0Q0FHSCxHQUFHLEVBQ0gsR0FBRzs0Q0FHSCxHQUFHLEVBQ0gsR0FBRztZQWZKLHlEQUFBLHlCQUFBLGNBQWtCLENBQUMsWUFBQSx1U0FBQTtZQUluQix3REFBQSx1QkFBQSxjQUFrQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBQSw0UkFBQTtZQUk3Qix3REFBQSx1QkFBQSxVQUFjLEtBQWEsSUFBSSxDQUFDLGNBQUEsaVRBQUE7WUFRaEMsb0RBQUEsdUJBQUEsNEZBQXVCLGNBQUEsRUFBdkIsdUJBQUEsaUdBQXVCLGNBQUEsNllBQUE7WUFwQ3ZCLHFLQUFBLE1BQU0sNkRBQUs7WUFJWCwwSkFBSSxDQUFDLDZEQUFnQjtZQUlyQixxS0FBSSxDQUFDLHdFQUFtQjtZQVF4Qix3SkFBUyxDQUFDLDZCQUFELENBQUMsbUZBQUs7WUFnQmYsdVpBQWM7WUFwQmQscUpBQUEsQ0FBQyw2QkFBRCxDQUFDLG1GQUFLO1lBZlYsNktBd0NDOzs7WUF4Q0ssd0RBQUM7O1FBR0gsTUFBTSxLQUFJLENBQUM7UUFJWCxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFJckIsSUFBSSxDQUFDLENBQUMsS0FBYSxJQUFJLENBQUM7UUFJeEIsQ0FBQyxrR0FBRyxDQUFDLEdBQUM7UUFJTiwrREFBYSxDQUFDLEVBQUM7UUFBZixJQUFTLENBQUMsdUNBQUs7UUFBZixJQUFTLENBQUMsNkNBQUs7O1lBZ0JSLDhFQUFLLENBQUMsR0FBSixDQUFLOzs7WUFJRSwrRkFBSyxDQUFDLEdBQUosQ0FBSzs7O1lBdkNyQix1REFBQyJ9,ZGVjbGFyZSB2YXIgZGVjOiBhbnk7CgpAZGVjCkBkZWMKY2xhc3MgQyB7CiAgICBAZGVjCiAgICBAZGVjCiAgICBtZXRob2QoKSB7fQoKICAgIEBkZWMKICAgIEBkZWMKICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHNldCB4KHZhbHVlOiBudW1iZXIpIHsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHkgPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIGFjY2Vzc29yIHogPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyAjbWV0aG9kKCkge30KCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgZ2V0ICN4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyBzZXQgI3godmFsdWU6IG51bWJlcikgeyB9CgogICAgQGRlYwogICAgQGRlYwogICAgc3RhdGljICN5ID0gMTsKCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgYWNjZXNzb3IgI3ogPSAxOwp9Cg== +{"version":3,"file":"esDecorators-classDeclaration-sourceMap.js","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIM,CAAC;;4BAFN,GAAG,EACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAEC,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;iCAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;6BAGH,GAAG,EACH,GAAG;iDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;gDAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;4CAGH,GAAG,EACH,GAAG;YAfJ,yDAAA,yBAAA,cAAkB,CAAC,YAAA,uSAAA;YAInB,wDAAA,uBAAA,cAAkB,OAAO,CAAC,CAAC,CAAC,CAAC,cAAA,4RAAA;YAI7B,wDAAA,uBAAA,UAAc,KAAa,IAAI,CAAC,cAAA,iTAAA;YAQhC,oDAAA,uBAAA,4FAAuB,cAAA,EAAvB,uBAAA,iGAAuB,cAAA,wZAAA;YApCvB,qKAAA,MAAM,6DAAK;YAIX,0JAAI,CAAC,6DAAgB;YAIrB,qKAAI,CAAC,wEAAmB;YAQxB,wJAAS,CAAC,6BAAD,CAAC,6EAAK;YAgBf,kaAAc;YApBd,qJAAA,CAAC,6BAAD,CAAC,6EAAK;YAfV,6KAwCC;;;;QArCG,MAAM,KAAI,CAAC;QAIX,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;QAIrB,IAAI,CAAC,CAAC,KAAa,IAAI,CAAC;QAIxB,CAAC,IAfC,mDAAC,2CAeC,CAAC,GAAC;QAIN,+GAAa,CAAC,GAAC;QAAf,IAAS,CAAC,uCAAK;QAAf,IAAS,CAAC,6CAAK;;YAgBR,iBAnCL,uDAAC,gEAmCS,CAAC,IAAJ,CAAK;;;YAIE,oKAAK,CAAC,IAAJ,CAAK;;;;;;;YAvCrB,uDAAC"} +//// https://sokra.github.io/source-map-visualization#base64,dmFyIF9fcnVuSW5pdGlhbGl6ZXJzID0gKHRoaXMgJiYgdGhpcy5fX3J1bkluaXRpYWxpemVycykgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHsNCiAgICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjsNCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGluaXRpYWxpemVycy5sZW5ndGg7IGkrKykgew0KICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7DQogICAgfQ0KICAgIHJldHVybiB1c2VWYWx1ZSA/IHZhbHVlIDogdm9pZCAwOw0KfTsNCnZhciBfX2VzRGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZXNEZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGN0b3IsIGRlc2NyaXB0b3JJbiwgZGVjb3JhdG9ycywgY29udGV4dEluLCBpbml0aWFsaXplcnMsIGV4dHJhSW5pdGlhbGl6ZXJzKSB7DQogICAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gImZ1bmN0aW9uIikgdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTsgcmV0dXJuIGY7IH0NCiAgICB2YXIga2luZCA9IGNvbnRleHRJbi5raW5kLCBrZXkgPSBraW5kID09PSAiZ2V0dGVyIiA/ICJnZXQiIDoga2luZCA9PT0gInNldHRlciIgPyAic2V0IiA6ICJ2YWx1ZSI7DQogICAgdmFyIHRhcmdldCA9ICFkZXNjcmlwdG9ySW4gJiYgY3RvciA/IGNvbnRleHRJblsic3RhdGljIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsOw0KICAgIHZhciBkZXNjcmlwdG9yID0gZGVzY3JpcHRvckluIHx8ICh0YXJnZXQgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgY29udGV4dEluLm5hbWUpIDoge30pOw0KICAgIHZhciBfLCBkb25lID0gZmFsc2U7DQogICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHsNCiAgICAgICAgdmFyIGNvbnRleHQgPSB7fTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBjb250ZXh0SW4pIGNvbnRleHRbcF0gPSBwID09PSAiYWNjZXNzIiA/IHt9IDogY29udGV4dEluW3BdOw0KICAgICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbi5hY2Nlc3MpIGNvbnRleHQuYWNjZXNzW3BdID0gY29udGV4dEluLmFjY2Vzc1twXTsNCiAgICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07DQogICAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gImFjY2Vzc29yIiA/IHsgZ2V0OiBkZXNjcmlwdG9yLmdldCwgc2V0OiBkZXNjcmlwdG9yLnNldCB9IDogZGVzY3JpcHRvcltrZXldLCBjb250ZXh0KTsNCiAgICAgICAgaWYgKGtpbmQgPT09ICJhY2Nlc3NvciIpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7DQogICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09ICJvYmplY3QiKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsNCiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87DQogICAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuc2V0KSkgZGVzY3JpcHRvci5zZXQgPSBfOw0KICAgICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LmluaXQpKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmIChfID0gYWNjZXB0KHJlc3VsdCkpIHsNCiAgICAgICAgICAgIGlmIChraW5kID09PSAiZmllbGQiKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTsNCiAgICAgICAgICAgIGVsc2UgZGVzY3JpcHRvcltrZXldID0gXzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBpZiAodGFyZ2V0KSBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSwgZGVzY3JpcHRvcik7DQogICAgZG9uZSA9IHRydWU7DQp9Ow0KdmFyIF9fc2V0RnVuY3Rpb25OYW1lID0gKHRoaXMgJiYgdGhpcy5fX3NldEZ1bmN0aW9uTmFtZSkgfHwgZnVuY3Rpb24gKGYsIG5hbWUsIHByZWZpeCkgew0KICAgIGlmICh0eXBlb2YgbmFtZSA9PT0gInN5bWJvbCIpIG5hbWUgPSBuYW1lLmRlc2NyaXB0aW9uID8gIlsiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCAiXSIpIDogIiI7DQogICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCAibmFtZSIsIHsgY29uZmlndXJhYmxlOiB0cnVlLCB2YWx1ZTogcHJlZml4ID8gIiIuY29uY2F0KHByZWZpeCwgIiAiLCBuYW1lKSA6IG5hbWUgfSk7DQp9Ow0KdmFyIF9fY2xhc3NQcml2YXRlRmllbGRJbiA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEluKSB8fCBmdW5jdGlvbihzdGF0ZSwgcmVjZWl2ZXIpIHsNCiAgICBpZiAocmVjZWl2ZXIgPT09IG51bGwgfHwgKHR5cGVvZiByZWNlaXZlciAhPT0gIm9iamVjdCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSAiZnVuY3Rpb24iKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3QiKTsNCiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSAiZnVuY3Rpb24iID8gcmVjZWl2ZXIgPT09IHN0YXRlIDogc3RhdGUuaGFzKHJlY2VpdmVyKTsNCn07DQp2YXIgX19jbGFzc1ByaXZhdGVGaWVsZEdldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEdldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7DQogICAgcmV0dXJuIGtpbmQgPT09ICJtIiA/IGYgOiBraW5kID09PSAiYSIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpOw0KfTsNCnZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0ID0gKHRoaXMgJiYgdGhpcy5fX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KSB8fCBmdW5jdGlvbiAocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikgew0KICAgIGlmIChraW5kID09PSAibSIpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZSIpOw0KICAgIGlmIChraW5kID09PSAiYSIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlciIpOw0KICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICJmdW5jdGlvbiIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTsNCiAgICByZXR1cm4gKGtpbmQgPT09ICJhIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7DQp9Ow0KbGV0IEMgPSAoKCkgPT4gew0KICAgIHZhciBfQ19tZXRob2RfZ2V0LCBfQ194X2dldCwgX0NfeF9zZXQsIF9DX3ksIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSwgX0Nfel9nZXQsIF9DX3pfc2V0Ow0KICAgIGxldCBfY2xhc3NEZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICBsZXQgX2NsYXNzRGVzY3JpcHRvcjsNCiAgICBsZXQgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMgPSBbXTsNCiAgICBsZXQgX2NsYXNzVGhpczsNCiAgICBsZXQgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3I7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVzY3JpcHRvcjsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnM7DQogICAgbGV0IF9zdGF0aWNfcHJpdmF0ZV96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfc3RhdGljX3ByaXZhdGVfel9kZXNjcmlwdG9yOw0KICAgIGxldCBfbWV0aG9kX2RlY29yYXRvcnM7DQogICAgbGV0IF9nZXRfeF9kZWNvcmF0b3JzOw0KICAgIGxldCBfc2V0X3hfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfZGVjb3JhdG9yczsNCiAgICBsZXQgX3lfaW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF95X2V4dHJhSW5pdGlhbGl6ZXJzID0gW107DQogICAgbGV0IF96X2RlY29yYXRvcnM7DQogICAgbGV0IF96X2luaXRpYWxpemVycyA9IFtdOw0KICAgIGxldCBfel9leHRyYUluaXRpYWxpemVycyA9IFtdOw0KICAgIHZhciBDID0gY2xhc3Mgew0KICAgICAgICBzdGF0aWMgeyBfY2xhc3NUaGlzID0gdGhpczsgfQ0KICAgICAgICBzdGF0aWMgeyBfX3NldEZ1bmN0aW9uTmFtZSh0aGlzLCAiQyIpOyB9DQogICAgICAgIHN0YXRpYyB7IF9DX21ldGhvZF9nZXQgPSBmdW5jdGlvbiBfQ19tZXRob2RfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX21ldGhvZF9kZXNjcmlwdG9yLnZhbHVlOyB9LCBfQ194X2dldCA9IGZ1bmN0aW9uIF9DX3hfZ2V0KCkgeyByZXR1cm4gX3N0YXRpY19wcml2YXRlX2dldF94X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3hfc2V0ID0gZnVuY3Rpb24gX0NfeF9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yLnNldC5jYWxsKHRoaXMsIHZhbHVlKTsgfSwgX0Nfel9nZXQgPSBmdW5jdGlvbiBfQ196X2dldCgpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IuZ2V0LmNhbGwodGhpcyk7IH0sIF9DX3pfc2V0ID0gZnVuY3Rpb24gX0Nfel9zZXQodmFsdWUpIHsgcmV0dXJuIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3Iuc2V0LmNhbGwodGhpcywgdmFsdWUpOyB9OyB9DQogICAgICAgIHN0YXRpYyB7DQogICAgICAgICAgICBjb25zdCBfbWV0YWRhdGEgPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIFN5bWJvbC5tZXRhZGF0YSA/IE9iamVjdC5jcmVhdGUobnVsbCkgOiB2b2lkIDA7DQogICAgICAgICAgICBfbWV0aG9kX2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX2dldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3NldF94X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX3lfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfel9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfc2V0X3hfZGVjb3JhdG9ycyA9IFtkZWMsIGRlY107DQogICAgICAgICAgICBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzID0gW2RlYywgZGVjXTsNCiAgICAgICAgICAgIF9zdGF0aWNfcHJpdmF0ZV96X2RlY29yYXRvcnMgPSBbZGVjLCBkZWNdOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9tZXRob2RfZGVzY3JpcHRvciA9IHsgdmFsdWU6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICgpIHsgfSwgIiNtZXRob2QiKSB9LCBfc3RhdGljX3ByaXZhdGVfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICIjbWV0aG9kIiwgc3RhdGljOiB0cnVlLCBwcml2YXRlOiB0cnVlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEluKF9jbGFzc1RoaXMsIG9iaiksIGdldDogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRHZXQob2JqLCBfY2xhc3NUaGlzLCAiYSIsIF9DX21ldGhvZF9nZXQpIH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBfc3RhdGljX3ByaXZhdGVfZ2V0X3hfZGVzY3JpcHRvciA9IHsgZ2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9LCAiI3giLCAiZ2V0IikgfSwgX3N0YXRpY19wcml2YXRlX2dldF94X2RlY29yYXRvcnMsIHsga2luZDogImdldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImEiLCBfQ194X2dldCkgfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV9zZXRfeF9kZXNjcmlwdG9yID0geyBzZXQ6IF9fc2V0RnVuY3Rpb25OYW1lKGZ1bmN0aW9uICh2YWx1ZSkgeyB9LCAiI3giLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3NldF94X2RlY29yYXRvcnMsIHsga2luZDogInNldHRlciIsIG5hbWU6ICIjeCIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ194X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBudWxsLCBfc3RhdGljRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIF9zdGF0aWNfcHJpdmF0ZV96X2Rlc2NyaXB0b3IgPSB7IGdldDogX19zZXRGdW5jdGlvbk5hbWUoZnVuY3Rpb24gKCkgeyByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfY2xhc3NUaGlzLCAiZiIsIF9DX3pfYWNjZXNzb3Jfc3RvcmFnZSk7IH0sICIjeiIsICJnZXQiKSwgc2V0OiBfX3NldEZ1bmN0aW9uTmFtZShmdW5jdGlvbiAodmFsdWUpIHsgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImYiLCBfQ196X2FjY2Vzc29yX3N0b3JhZ2UpOyB9LCAiI3oiLCAic2V0IikgfSwgX3N0YXRpY19wcml2YXRlX3pfZGVjb3JhdG9ycywgeyBraW5kOiAiYWNjZXNzb3IiLCBuYW1lOiAiI3oiLCBzdGF0aWM6IHRydWUsIHByaXZhdGU6IHRydWUsIGFjY2VzczogeyBoYXM6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oX2NsYXNzVGhpcywgb2JqKSwgZ2V0OiBvYmogPT4gX19jbGFzc1ByaXZhdGVGaWVsZEdldChvYmosIF9jbGFzc1RoaXMsICJhIiwgX0Nfel9nZXQpLCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IF9fY2xhc3NQcml2YXRlRmllbGRTZXQob2JqLCBfY2xhc3NUaGlzLCB2YWx1ZSwgImEiLCBfQ196X3NldCk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfel9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfbWV0aG9kX2RlY29yYXRvcnMsIHsga2luZDogIm1ldGhvZCIsIG5hbWU6ICJtZXRob2QiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJtZXRob2QiIGluIG9iaiwgZ2V0OiBvYmogPT4gb2JqLm1ldGhvZCB9LCBtZXRhZGF0YTogX21ldGFkYXRhIH0sIG51bGwsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZSh0aGlzLCBudWxsLCBfZ2V0X3hfZGVjb3JhdG9ycywgeyBraW5kOiAiZ2V0dGVyIiwgbmFtZTogIngiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ4IiBpbiBvYmosIGdldDogb2JqID0+IG9iai54IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIG51bGwsIF9zZXRfeF9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJzZXR0ZXIiLCBuYW1lOiAieCIsIHN0YXRpYzogZmFsc2UsIHByaXZhdGU6IGZhbHNlLCBhY2Nlc3M6IHsgaGFzOiBvYmogPT4gIngiIGluIG9iaiwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueCA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2luc3RhbmNlRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19lc0RlY29yYXRlKHRoaXMsIG51bGwsIF96X2RlY29yYXRvcnMsIHsga2luZDogImFjY2Vzc29yIiwgbmFtZTogInoiLCBzdGF0aWM6IGZhbHNlLCBwcml2YXRlOiBmYWxzZSwgYWNjZXNzOiB7IGhhczogb2JqID0+ICJ6IiBpbiBvYmosIGdldDogb2JqID0+IG9iai56LCBzZXQ6IChvYmosIHZhbHVlKSA9PiB7IG9iai56ID0gdmFsdWU7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfel9pbml0aWFsaXplcnMsIF96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfc3RhdGljX3ByaXZhdGVfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICIjeSIsIHN0YXRpYzogdHJ1ZSwgcHJpdmF0ZTogdHJ1ZSwgYWNjZXNzOiB7IGhhczogb2JqID0+IF9fY2xhc3NQcml2YXRlRmllbGRJbihfY2xhc3NUaGlzLCBvYmopLCBnZXQ6IG9iaiA9PiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KG9iaiwgX2NsYXNzVGhpcywgImYiLCBfQ195KSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KG9iaiwgX2NsYXNzVGhpcywgdmFsdWUsICJmIiwgX0NfeSk7IH0gfSwgbWV0YWRhdGE6IF9tZXRhZGF0YSB9LCBfc3RhdGljX3ByaXZhdGVfeV9pbml0aWFsaXplcnMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgICAgIF9fZXNEZWNvcmF0ZShudWxsLCBudWxsLCBfeV9kZWNvcmF0b3JzLCB7IGtpbmQ6ICJmaWVsZCIsIG5hbWU6ICJ5Iiwgc3RhdGljOiBmYWxzZSwgcHJpdmF0ZTogZmFsc2UsIGFjY2VzczogeyBoYXM6IG9iaiA9PiAieSIgaW4gb2JqLCBnZXQ6IG9iaiA9PiBvYmoueSwgc2V0OiAob2JqLCB2YWx1ZSkgPT4geyBvYmoueSA9IHZhbHVlOyB9IH0sIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgX3lfaW5pdGlhbGl6ZXJzLCBfeV9leHRyYUluaXRpYWxpemVycyk7DQogICAgICAgICAgICBfX2VzRGVjb3JhdGUobnVsbCwgX2NsYXNzRGVzY3JpcHRvciA9IHsgdmFsdWU6IF9jbGFzc1RoaXMgfSwgX2NsYXNzRGVjb3JhdG9ycywgeyBraW5kOiAiY2xhc3MiLCBuYW1lOiBfY2xhc3NUaGlzLm5hbWUsIG1ldGFkYXRhOiBfbWV0YWRhdGEgfSwgbnVsbCwgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgQyA9IF9jbGFzc1RoaXMgPSBfY2xhc3NEZXNjcmlwdG9yLnZhbHVlOw0KICAgICAgICAgICAgaWYgKF9tZXRhZGF0YSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KF9jbGFzc1RoaXMsIFN5bWJvbC5tZXRhZGF0YSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogX21ldGFkYXRhIH0pOw0KICAgICAgICB9DQogICAgICAgIG1ldGhvZCgpIHsgfQ0KICAgICAgICBnZXQgeCgpIHsgcmV0dXJuIDE7IH0NCiAgICAgICAgc2V0IHgodmFsdWUpIHsgfQ0KICAgICAgICB5ID0gKF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF9pbnN0YW5jZUV4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfaW5pdGlhbGl6ZXJzLCAxKSk7DQogICAgICAgICN6X2FjY2Vzc29yX3N0b3JhZ2UgPSAoX19ydW5Jbml0aWFsaXplcnModGhpcywgX3lfZXh0cmFJbml0aWFsaXplcnMpLCBfX3J1bkluaXRpYWxpemVycyh0aGlzLCBfel9pbml0aWFsaXplcnMsIDEpKTsNCiAgICAgICAgZ2V0IHooKSB7IHJldHVybiB0aGlzLiN6X2FjY2Vzc29yX3N0b3JhZ2U7IH0NCiAgICAgICAgc2V0IHoodmFsdWUpIHsgdGhpcy4jel9hY2Nlc3Nvcl9zdG9yYWdlID0gdmFsdWU7IH0NCiAgICAgICAgc3RhdGljIHsNCiAgICAgICAgICAgIF9DX3kgPSB7IHZhbHVlOiAoX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY0V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3lfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX0Nfel9hY2Nlc3Nvcl9zdG9yYWdlID0geyB2YWx1ZTogKF9fcnVuSW5pdGlhbGl6ZXJzKF9jbGFzc1RoaXMsIF9zdGF0aWNfcHJpdmF0ZV95X2V4dHJhSW5pdGlhbGl6ZXJzKSwgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfaW5pdGlhbGl6ZXJzLCAxKSkgfTsNCiAgICAgICAgfQ0KICAgICAgICBjb25zdHJ1Y3RvcigpIHsNCiAgICAgICAgICAgIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXMsIF96X2V4dHJhSW5pdGlhbGl6ZXJzKTsNCiAgICAgICAgfQ0KICAgICAgICBzdGF0aWMgew0KICAgICAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX3N0YXRpY19wcml2YXRlX3pfZXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICAgICAgX19ydW5Jbml0aWFsaXplcnMoX2NsYXNzVGhpcywgX2NsYXNzRXh0cmFJbml0aWFsaXplcnMpOw0KICAgICAgICB9DQogICAgfTsNCiAgICByZXR1cm4gQyA9IF9jbGFzc1RoaXM7DQp9KSgpOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzLm1hcA==,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXNEZWNvcmF0b3JzLWNsYXNzRGVjbGFyYXRpb24tc291cmNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSU0sQ0FBQzs7NEJBRk4sR0FBRyxFQUNILEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7a0NBRUMsR0FBRyxFQUNILEdBQUc7aUNBR0gsR0FBRyxFQUNILEdBQUc7aUNBR0gsR0FBRyxFQUNILEdBQUc7NkJBR0gsR0FBRyxFQUNILEdBQUc7NkJBR0gsR0FBRyxFQUNILEdBQUc7aURBR0gsR0FBRyxFQUNILEdBQUc7Z0RBR0gsR0FBRyxFQUNILEdBQUc7Z0RBR0gsR0FBRyxFQUNILEdBQUc7NENBR0gsR0FBRyxFQUNILEdBQUc7NENBR0gsR0FBRyxFQUNILEdBQUc7WUFmSix5REFBQSx5QkFBQSxjQUFrQixDQUFDLFlBQUEsdVNBQUE7WUFJbkIsd0RBQUEsdUJBQUEsY0FBa0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUEsNFJBQUE7WUFJN0Isd0RBQUEsdUJBQUEsVUFBYyxLQUFhLElBQUksQ0FBQyxjQUFBLGlUQUFBO1lBUWhDLG9EQUFBLHVCQUFBLDRGQUF1QixjQUFBLEVBQXZCLHVCQUFBLGlHQUF1QixjQUFBLHdaQUFBO1lBcEN2QixxS0FBQSxNQUFNLDZEQUFLO1lBSVgsMEpBQUksQ0FBQyw2REFBZ0I7WUFJckIscUtBQUksQ0FBQyx3RUFBbUI7WUFReEIsd0pBQVMsQ0FBQyw2QkFBRCxDQUFDLDZFQUFLO1lBZ0JmLGthQUFjO1lBcEJkLHFKQUFBLENBQUMsNkJBQUQsQ0FBQyw2RUFBSztZQWZWLDZLQXdDQzs7OztRQXJDRyxNQUFNLEtBQUksQ0FBQztRQUlYLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUlyQixJQUFJLENBQUMsQ0FBQyxLQUFhLElBQUksQ0FBQztRQUl4QixDQUFDLElBZkMsbURBQUMsMkNBZUMsQ0FBQyxHQUFDO1FBSU4sK0dBQWEsQ0FBQyxHQUFDO1FBQWYsSUFBUyxDQUFDLHVDQUFLO1FBQWYsSUFBUyxDQUFDLDZDQUFLOztZQWdCUixpQkFuQ0wsdURBQUMsZ0VBbUNTLENBQUMsSUFBSixDQUFLOzs7WUFJRSxvS0FBSyxDQUFDLElBQUosQ0FBSzs7Ozs7OztZQXZDckIsdURBQUMifQ==,ZGVjbGFyZSB2YXIgZGVjOiBhbnk7CgpAZGVjCkBkZWMKY2xhc3MgQyB7CiAgICBAZGVjCiAgICBAZGVjCiAgICBtZXRob2QoKSB7fQoKICAgIEBkZWMKICAgIEBkZWMKICAgIGdldCB4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHNldCB4KHZhbHVlOiBudW1iZXIpIHsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHkgPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIGFjY2Vzc29yIHogPSAxOwoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyAjbWV0aG9kKCkge30KCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgZ2V0ICN4KCkgeyByZXR1cm4gMTsgfQoKICAgIEBkZWMKICAgIEBkZWMKICAgIHN0YXRpYyBzZXQgI3godmFsdWU6IG51bWJlcikgeyB9CgogICAgQGRlYwogICAgQGRlYwogICAgc3RhdGljICN5ID0gMTsKCiAgICBAZGVjCiAgICBAZGVjCiAgICBzdGF0aWMgYWNjZXNzb3IgI3ogPSAxOwp9Cg== //// [esDecorators-classDeclaration-sourceMap.d.ts.map] {"version":3,"file":"esDecorators-classDeclaration-sourceMap.d.ts","sourceRoot":"","sources":["esDecorators-classDeclaration-sourceMap.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC;AAErB,cAEM,CAAC;;IAGH,MAAM;IAEN,IAEI,CAAC,IAIQ,MAAM,CAJE;IAErB,IAEI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAK;IAIxB,CAAC,SAAK;IAIN,QAAQ,CAAC,CAAC,SAAK;CAqBlB"} diff --git a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt index 4fdfa66c408..fe77eaedd8b 100644 --- a/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt +++ b/tests/baselines/reference/esDecorators-classDeclaration-sourceMap(target=es2022).sourcemap.txt @@ -8,6 +8,13 @@ sources: esDecorators-classDeclaration-sourceMap.ts emittedFile:esDecorators-classDeclaration-sourceMap.js sourceFile:esDecorators-classDeclaration-sourceMap.ts ------------------------------------------------------------------- +>>>var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { +>>> var useValue = arguments.length > 2; +>>> for (var i = 0; i < initializers.length; i++) { +>>> value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); +>>> } +>>> return useValue ? value : void 0; +>>>}; >>>var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { >>> function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } >>> var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -35,13 +42,6 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts >>> if (target) Object.defineProperty(target, contextIn.name, descriptor); >>> done = true; >>>}; ->>>var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { ->>> var useValue = arguments.length > 2; ->>> for (var i = 0; i < initializers.length; i++) { ->>> value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); ->>> } ->>> return useValue ? value : void 0; ->>>}; >>>var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { >>> if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; >>> return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); @@ -103,16 +103,20 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts >>> let _static_private_set_x_descriptor; >>> let _static_private_y_decorators; >>> let _static_private_y_initializers = []; +>>> let _static_private_y_extraInitializers = []; >>> let _static_private_z_decorators; >>> let _static_private_z_initializers = []; +>>> let _static_private_z_extraInitializers = []; >>> let _static_private_z_descriptor; >>> let _method_decorators; >>> let _get_x_decorators; >>> let _set_x_decorators; >>> let _y_decorators; >>> let _y_initializers = []; +>>> let _y_extraInitializers = []; >>> let _z_decorators; >>> let _z_initializers = []; +>>> let _z_extraInitializers = []; >>> var C = class { >>> static { _classThis = this; } >>> static { __setFunctionName(this, "C"); } @@ -132,10 +136,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1 >Emitted(86, 35) Source(6, 6) + SourceIndex(0) -2 >Emitted(86, 38) Source(6, 9) + SourceIndex(0) -3 >Emitted(86, 40) Source(7, 6) + SourceIndex(0) -4 >Emitted(86, 43) Source(7, 9) + SourceIndex(0) +1 >Emitted(90, 35) Source(6, 6) + SourceIndex(0) +2 >Emitted(90, 38) Source(6, 9) + SourceIndex(0) +3 >Emitted(90, 40) Source(7, 6) + SourceIndex(0) +4 >Emitted(90, 43) Source(7, 9) + SourceIndex(0) --- >>> _get_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -151,10 +155,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(87, 34) Source(10, 6) + SourceIndex(0) -2 >Emitted(87, 37) Source(10, 9) + SourceIndex(0) -3 >Emitted(87, 39) Source(11, 6) + SourceIndex(0) -4 >Emitted(87, 42) Source(11, 9) + SourceIndex(0) +1->Emitted(91, 34) Source(10, 6) + SourceIndex(0) +2 >Emitted(91, 37) Source(10, 9) + SourceIndex(0) +3 >Emitted(91, 39) Source(11, 6) + SourceIndex(0) +4 >Emitted(91, 42) Source(11, 9) + SourceIndex(0) --- >>> _set_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -169,10 +173,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(88, 34) Source(14, 6) + SourceIndex(0) -2 >Emitted(88, 37) Source(14, 9) + SourceIndex(0) -3 >Emitted(88, 39) Source(15, 6) + SourceIndex(0) -4 >Emitted(88, 42) Source(15, 9) + SourceIndex(0) +1->Emitted(92, 34) Source(14, 6) + SourceIndex(0) +2 >Emitted(92, 37) Source(14, 9) + SourceIndex(0) +3 >Emitted(92, 39) Source(15, 6) + SourceIndex(0) +4 >Emitted(92, 42) Source(15, 9) + SourceIndex(0) --- >>> _y_decorators = [dec, dec]; 1 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -188,10 +192,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1 >Emitted(89, 30) Source(18, 6) + SourceIndex(0) -2 >Emitted(89, 33) Source(18, 9) + SourceIndex(0) -3 >Emitted(89, 35) Source(19, 6) + SourceIndex(0) -4 >Emitted(89, 38) Source(19, 9) + SourceIndex(0) +1 >Emitted(93, 30) Source(18, 6) + SourceIndex(0) +2 >Emitted(93, 33) Source(18, 9) + SourceIndex(0) +3 >Emitted(93, 35) Source(19, 6) + SourceIndex(0) +4 >Emitted(93, 38) Source(19, 9) + SourceIndex(0) --- >>> _z_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -207,10 +211,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(90, 30) Source(22, 6) + SourceIndex(0) -2 >Emitted(90, 33) Source(22, 9) + SourceIndex(0) -3 >Emitted(90, 35) Source(23, 6) + SourceIndex(0) -4 >Emitted(90, 38) Source(23, 9) + SourceIndex(0) +1->Emitted(94, 30) Source(22, 6) + SourceIndex(0) +2 >Emitted(94, 33) Source(22, 9) + SourceIndex(0) +3 >Emitted(94, 35) Source(23, 6) + SourceIndex(0) +4 >Emitted(94, 38) Source(23, 9) + SourceIndex(0) --- >>> _static_private_method_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -226,10 +230,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(91, 50) Source(26, 6) + SourceIndex(0) -2 >Emitted(91, 53) Source(26, 9) + SourceIndex(0) -3 >Emitted(91, 55) Source(27, 6) + SourceIndex(0) -4 >Emitted(91, 58) Source(27, 9) + SourceIndex(0) +1->Emitted(95, 50) Source(26, 6) + SourceIndex(0) +2 >Emitted(95, 53) Source(26, 9) + SourceIndex(0) +3 >Emitted(95, 55) Source(27, 6) + SourceIndex(0) +4 >Emitted(95, 58) Source(27, 9) + SourceIndex(0) --- >>> _static_private_get_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -245,10 +249,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(92, 49) Source(30, 6) + SourceIndex(0) -2 >Emitted(92, 52) Source(30, 9) + SourceIndex(0) -3 >Emitted(92, 54) Source(31, 6) + SourceIndex(0) -4 >Emitted(92, 57) Source(31, 9) + SourceIndex(0) +1->Emitted(96, 49) Source(30, 6) + SourceIndex(0) +2 >Emitted(96, 52) Source(30, 9) + SourceIndex(0) +3 >Emitted(96, 54) Source(31, 6) + SourceIndex(0) +4 >Emitted(96, 57) Source(31, 9) + SourceIndex(0) --- >>> _static_private_set_x_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -263,10 +267,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(93, 49) Source(34, 6) + SourceIndex(0) -2 >Emitted(93, 52) Source(34, 9) + SourceIndex(0) -3 >Emitted(93, 54) Source(35, 6) + SourceIndex(0) -4 >Emitted(93, 57) Source(35, 9) + SourceIndex(0) +1->Emitted(97, 49) Source(34, 6) + SourceIndex(0) +2 >Emitted(97, 52) Source(34, 9) + SourceIndex(0) +3 >Emitted(97, 54) Source(35, 6) + SourceIndex(0) +4 >Emitted(97, 57) Source(35, 9) + SourceIndex(0) --- >>> _static_private_y_decorators = [dec, dec]; 1 >^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -282,10 +286,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1 >Emitted(94, 45) Source(38, 6) + SourceIndex(0) -2 >Emitted(94, 48) Source(38, 9) + SourceIndex(0) -3 >Emitted(94, 50) Source(39, 6) + SourceIndex(0) -4 >Emitted(94, 53) Source(39, 9) + SourceIndex(0) +1 >Emitted(98, 45) Source(38, 6) + SourceIndex(0) +2 >Emitted(98, 48) Source(38, 9) + SourceIndex(0) +3 >Emitted(98, 50) Source(39, 6) + SourceIndex(0) +4 >Emitted(98, 53) Source(39, 9) + SourceIndex(0) --- >>> _static_private_z_decorators = [dec, dec]; 1->^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -301,10 +305,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > > @ 4 > dec -1->Emitted(95, 45) Source(42, 6) + SourceIndex(0) -2 >Emitted(95, 48) Source(42, 9) + SourceIndex(0) -3 >Emitted(95, 50) Source(43, 6) + SourceIndex(0) -4 >Emitted(95, 53) Source(43, 9) + SourceIndex(0) +1->Emitted(99, 45) Source(42, 6) + SourceIndex(0) +2 >Emitted(99, 48) Source(42, 9) + SourceIndex(0) +3 >Emitted(99, 50) Source(43, 6) + SourceIndex(0) +4 >Emitted(99, 53) Source(43, 9) + SourceIndex(0) --- >>> __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); 1->^^^^^^^^^^^^ @@ -321,13 +325,13 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 5 > } 6 > 7 > -1->Emitted(96, 13) Source(28, 5) + SourceIndex(0) -2 >Emitted(96, 70) Source(28, 5) + SourceIndex(0) -3 >Emitted(96, 95) Source(28, 5) + SourceIndex(0) -4 >Emitted(96, 109) Source(28, 23) + SourceIndex(0) -5 >Emitted(96, 110) Source(28, 24) + SourceIndex(0) -6 >Emitted(96, 122) Source(28, 24) + SourceIndex(0) -7 >Emitted(96, 417) Source(28, 24) + SourceIndex(0) +1->Emitted(100, 13) Source(28, 5) + SourceIndex(0) +2 >Emitted(100, 70) Source(28, 5) + SourceIndex(0) +3 >Emitted(100, 95) Source(28, 5) + SourceIndex(0) +4 >Emitted(100, 109) Source(28, 23) + SourceIndex(0) +5 >Emitted(100, 110) Source(28, 24) + SourceIndex(0) +6 >Emitted(100, 122) Source(28, 24) + SourceIndex(0) +7 >Emitted(100, 417) Source(28, 24) + SourceIndex(0) --- >>> __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); 1 >^^^^^^^^^^^^ @@ -357,17 +361,17 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 9 > } 10> 11> -1 >Emitted(97, 13) Source(32, 5) + SourceIndex(0) -2 >Emitted(97, 69) Source(32, 5) + SourceIndex(0) -3 >Emitted(97, 92) Source(32, 5) + SourceIndex(0) -4 >Emitted(97, 106) Source(32, 23) + SourceIndex(0) -5 >Emitted(97, 113) Source(32, 30) + SourceIndex(0) -6 >Emitted(97, 114) Source(32, 31) + SourceIndex(0) -7 >Emitted(97, 115) Source(32, 32) + SourceIndex(0) -8 >Emitted(97, 116) Source(32, 33) + SourceIndex(0) -9 >Emitted(97, 117) Source(32, 34) + SourceIndex(0) -10>Emitted(97, 131) Source(32, 34) + SourceIndex(0) -11>Emitted(97, 415) Source(32, 34) + SourceIndex(0) +1 >Emitted(101, 13) Source(32, 5) + SourceIndex(0) +2 >Emitted(101, 69) Source(32, 5) + SourceIndex(0) +3 >Emitted(101, 92) Source(32, 5) + SourceIndex(0) +4 >Emitted(101, 106) Source(32, 23) + SourceIndex(0) +5 >Emitted(101, 113) Source(32, 30) + SourceIndex(0) +6 >Emitted(101, 114) Source(32, 31) + SourceIndex(0) +7 >Emitted(101, 115) Source(32, 32) + SourceIndex(0) +8 >Emitted(101, 116) Source(32, 33) + SourceIndex(0) +9 >Emitted(101, 117) Source(32, 34) + SourceIndex(0) +10>Emitted(101, 131) Source(32, 34) + SourceIndex(0) +11>Emitted(101, 415) Source(32, 34) + SourceIndex(0) --- >>> __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); 1->^^^^^^^^^^^^ @@ -379,7 +383,7 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > ^ 8 > ^^^^^^^^^^^^^^ 9 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -393,17 +397,17 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > } 8 > 9 > -1->Emitted(98, 13) Source(36, 5) + SourceIndex(0) -2 >Emitted(98, 69) Source(36, 5) + SourceIndex(0) -3 >Emitted(98, 92) Source(36, 5) + SourceIndex(0) -4 >Emitted(98, 102) Source(36, 19) + SourceIndex(0) -5 >Emitted(98, 107) Source(36, 32) + SourceIndex(0) -6 >Emitted(98, 111) Source(36, 36) + SourceIndex(0) -7 >Emitted(98, 112) Source(36, 37) + SourceIndex(0) -8 >Emitted(98, 126) Source(36, 37) + SourceIndex(0) -9 >Emitted(98, 431) Source(36, 37) + SourceIndex(0) +1->Emitted(102, 13) Source(36, 5) + SourceIndex(0) +2 >Emitted(102, 69) Source(36, 5) + SourceIndex(0) +3 >Emitted(102, 92) Source(36, 5) + SourceIndex(0) +4 >Emitted(102, 102) Source(36, 19) + SourceIndex(0) +5 >Emitted(102, 107) Source(36, 32) + SourceIndex(0) +6 >Emitted(102, 111) Source(36, 36) + SourceIndex(0) +7 >Emitted(102, 112) Source(36, 37) + SourceIndex(0) +8 >Emitted(102, 126) Source(36, 37) + SourceIndex(0) +9 >Emitted(102, 431) Source(36, 37) + SourceIndex(0) --- ->>> __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); +>>> __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^^^^^^^^^^^^^^^^^^^^^^^ @@ -413,7 +417,7 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > ^^^^^^^^^^^^^^^^^^^^^^^ 8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 9 > ^^^^^^^^^^^^^^ -10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > > @dec @@ -432,16 +436,16 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 8 > static accessor #z = 1; 9 > 10> -1->Emitted(99, 13) Source(44, 5) + SourceIndex(0) -2 >Emitted(99, 65) Source(44, 5) + SourceIndex(0) -3 >Emitted(99, 88) Source(44, 5) + SourceIndex(0) -4 >Emitted(99, 180) Source(44, 28) + SourceIndex(0) -5 >Emitted(99, 194) Source(44, 28) + SourceIndex(0) -6 >Emitted(99, 196) Source(44, 5) + SourceIndex(0) -7 >Emitted(99, 219) Source(44, 5) + SourceIndex(0) -8 >Emitted(99, 316) Source(44, 28) + SourceIndex(0) -9 >Emitted(99, 330) Source(44, 28) + SourceIndex(0) -10>Emitted(99, 727) Source(44, 28) + SourceIndex(0) +1->Emitted(103, 13) Source(44, 5) + SourceIndex(0) +2 >Emitted(103, 65) Source(44, 5) + SourceIndex(0) +3 >Emitted(103, 88) Source(44, 5) + SourceIndex(0) +4 >Emitted(103, 180) Source(44, 28) + SourceIndex(0) +5 >Emitted(103, 194) Source(44, 28) + SourceIndex(0) +6 >Emitted(103, 196) Source(44, 5) + SourceIndex(0) +7 >Emitted(103, 219) Source(44, 5) + SourceIndex(0) +8 >Emitted(103, 316) Source(44, 28) + SourceIndex(0) +9 >Emitted(103, 330) Source(44, 28) + SourceIndex(0) +10>Emitted(103, 738) Source(44, 28) + SourceIndex(0) --- >>> __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); 1 >^^^^^^^^^^^^ @@ -452,10 +456,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > 3 > method 4 > () {} -1 >Emitted(100, 13) Source(8, 5) + SourceIndex(0) -2 >Emitted(100, 178) Source(8, 5) + SourceIndex(0) -3 >Emitted(100, 184) Source(8, 11) + SourceIndex(0) -4 >Emitted(100, 245) Source(8, 16) + SourceIndex(0) +1 >Emitted(104, 13) Source(8, 5) + SourceIndex(0) +2 >Emitted(104, 178) Source(8, 5) + SourceIndex(0) +3 >Emitted(104, 184) Source(8, 11) + SourceIndex(0) +4 >Emitted(104, 245) Source(8, 16) + SourceIndex(0) --- >>> __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); 1 >^^^^^^^^^^^^ @@ -471,17 +475,17 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > get 3 > x 4 > () { return 1; } -1 >Emitted(101, 13) Source(12, 5) + SourceIndex(0) -2 >Emitted(101, 167) Source(12, 9) + SourceIndex(0) -3 >Emitted(101, 168) Source(12, 10) + SourceIndex(0) -4 >Emitted(101, 229) Source(12, 26) + SourceIndex(0) +1 >Emitted(105, 13) Source(12, 5) + SourceIndex(0) +2 >Emitted(105, 167) Source(12, 9) + SourceIndex(0) +3 >Emitted(105, 168) Source(12, 10) + SourceIndex(0) +4 >Emitted(105, 229) Source(12, 26) + SourceIndex(0) --- >>> __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +5 > ^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -490,19 +494,19 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > set 3 > x 4 > (value: number) { } -1->Emitted(102, 13) Source(16, 5) + SourceIndex(0) -2 >Emitted(102, 178) Source(16, 9) + SourceIndex(0) -3 >Emitted(102, 179) Source(16, 10) + SourceIndex(0) -4 >Emitted(102, 251) Source(16, 29) + SourceIndex(0) +1->Emitted(106, 13) Source(16, 5) + SourceIndex(0) +2 >Emitted(106, 178) Source(16, 9) + SourceIndex(0) +3 >Emitted(106, 179) Source(16, 10) + SourceIndex(0) +4 >Emitted(106, 251) Source(16, 29) + SourceIndex(0) --- ->>> __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); +>>> __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); 1->^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1-> > > @dec @@ -517,16 +521,16 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 4 > 5 > z 6 > = 1; -1->Emitted(103, 13) Source(24, 5) + SourceIndex(0) -2 >Emitted(103, 165) Source(24, 14) + SourceIndex(0) -3 >Emitted(103, 166) Source(24, 15) + SourceIndex(0) -4 >Emitted(103, 195) Source(24, 14) + SourceIndex(0) -5 >Emitted(103, 196) Source(24, 15) + SourceIndex(0) -6 >Emitted(103, 279) Source(24, 20) + SourceIndex(0) +1->Emitted(107, 13) Source(24, 5) + SourceIndex(0) +2 >Emitted(107, 165) Source(24, 14) + SourceIndex(0) +3 >Emitted(107, 166) Source(24, 15) + SourceIndex(0) +4 >Emitted(107, 195) Source(24, 14) + SourceIndex(0) +5 >Emitted(107, 196) Source(24, 15) + SourceIndex(0) +6 >Emitted(107, 273) Source(24, 20) + SourceIndex(0) --- ->>> __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); +>>> __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); 1->^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1-> > > @dec @@ -545,28 +549,28 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts > @dec > 2 > static #y = 1; -1->Emitted(104, 13) Source(40, 5) + SourceIndex(0) -2 >Emitted(104, 420) Source(40, 19) + SourceIndex(0) +1->Emitted(108, 13) Source(40, 5) + SourceIndex(0) +2 >Emitted(108, 431) Source(40, 19) + SourceIndex(0) --- ->>> __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); +>>> __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); 1 >^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 > ^ 4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 5 > ^ -6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > 3 > y 4 > 5 > y 6 > = 1; -1 >Emitted(105, 13) Source(20, 5) + SourceIndex(0) -2 >Emitted(105, 162) Source(20, 5) + SourceIndex(0) -3 >Emitted(105, 163) Source(20, 6) + SourceIndex(0) -4 >Emitted(105, 192) Source(20, 5) + SourceIndex(0) -5 >Emitted(105, 193) Source(20, 6) + SourceIndex(0) -6 >Emitted(105, 276) Source(20, 11) + SourceIndex(0) +1 >Emitted(109, 13) Source(20, 5) + SourceIndex(0) +2 >Emitted(109, 162) Source(20, 5) + SourceIndex(0) +3 >Emitted(109, 163) Source(20, 6) + SourceIndex(0) +4 >Emitted(109, 192) Source(20, 5) + SourceIndex(0) +5 >Emitted(109, 193) Source(20, 6) + SourceIndex(0) +6 >Emitted(109, 270) Source(20, 11) + SourceIndex(0) --- >>> __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); 1 >^^^^^^^^^^^^ @@ -613,19 +617,11 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts > @dec > static accessor #z = 1; > } -1 >Emitted(106, 13) Source(5, 1) + SourceIndex(0) -2 >Emitted(106, 186) Source(45, 2) + SourceIndex(0) +1 >Emitted(110, 13) Source(5, 1) + SourceIndex(0) +2 >Emitted(110, 186) Source(45, 2) + SourceIndex(0) --- >>> C = _classThis = _classDescriptor.value; >>> if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); ->>> __runInitializers(_classThis, _staticExtraInitializers); -1 >^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1 > -2 > C -1 >Emitted(109, 13) Source(5, 7) + SourceIndex(0) -2 >Emitted(109, 69) Source(5, 8) + SourceIndex(0) ---- >>> } >>> method() { } 1 >^^^^^^^^ @@ -633,17 +629,14 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 3 > ^^^^^ 4 > ^ 5 > ^^^^^^^^^^-> -1 > { - > @dec - > @dec - > +1 > 2 > method 3 > () { 4 > } -1 >Emitted(111, 9) Source(8, 5) + SourceIndex(0) -2 >Emitted(111, 15) Source(8, 11) + SourceIndex(0) -3 >Emitted(111, 20) Source(8, 15) + SourceIndex(0) -4 >Emitted(111, 21) Source(8, 16) + SourceIndex(0) +1 >Emitted(114, 9) Source(8, 5) + SourceIndex(0) +2 >Emitted(114, 15) Source(8, 11) + SourceIndex(0) +3 >Emitted(114, 20) Source(8, 15) + SourceIndex(0) +4 >Emitted(114, 21) Source(8, 16) + SourceIndex(0) --- >>> get x() { return 1; } 1->^^^^^^^^ @@ -668,15 +661,15 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 7 > ; 8 > 9 > } -1->Emitted(112, 9) Source(12, 5) + SourceIndex(0) -2 >Emitted(112, 13) Source(12, 9) + SourceIndex(0) -3 >Emitted(112, 14) Source(12, 10) + SourceIndex(0) -4 >Emitted(112, 19) Source(12, 15) + SourceIndex(0) -5 >Emitted(112, 26) Source(12, 22) + SourceIndex(0) -6 >Emitted(112, 27) Source(12, 23) + SourceIndex(0) -7 >Emitted(112, 28) Source(12, 24) + SourceIndex(0) -8 >Emitted(112, 29) Source(12, 25) + SourceIndex(0) -9 >Emitted(112, 30) Source(12, 26) + SourceIndex(0) +1->Emitted(115, 9) Source(12, 5) + SourceIndex(0) +2 >Emitted(115, 13) Source(12, 9) + SourceIndex(0) +3 >Emitted(115, 14) Source(12, 10) + SourceIndex(0) +4 >Emitted(115, 19) Source(12, 15) + SourceIndex(0) +5 >Emitted(115, 26) Source(12, 22) + SourceIndex(0) +6 >Emitted(115, 27) Source(12, 23) + SourceIndex(0) +7 >Emitted(115, 28) Source(12, 24) + SourceIndex(0) +8 >Emitted(115, 29) Source(12, 25) + SourceIndex(0) +9 >Emitted(115, 30) Source(12, 26) + SourceIndex(0) --- >>> set x(value) { } 1 >^^^^^^^^ @@ -698,52 +691,74 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 5 > value: number 6 > ) { 7 > } -1 >Emitted(113, 9) Source(16, 5) + SourceIndex(0) -2 >Emitted(113, 13) Source(16, 9) + SourceIndex(0) -3 >Emitted(113, 14) Source(16, 10) + SourceIndex(0) -4 >Emitted(113, 15) Source(16, 11) + SourceIndex(0) -5 >Emitted(113, 20) Source(16, 24) + SourceIndex(0) -6 >Emitted(113, 24) Source(16, 28) + SourceIndex(0) -7 >Emitted(113, 25) Source(16, 29) + SourceIndex(0) +1 >Emitted(116, 9) Source(16, 5) + SourceIndex(0) +2 >Emitted(116, 13) Source(16, 9) + SourceIndex(0) +3 >Emitted(116, 14) Source(16, 10) + SourceIndex(0) +4 >Emitted(116, 15) Source(16, 11) + SourceIndex(0) +5 >Emitted(116, 20) Source(16, 24) + SourceIndex(0) +6 >Emitted(116, 24) Source(16, 28) + SourceIndex(0) +7 >Emitted(116, 25) Source(16, 29) + SourceIndex(0) --- >>> y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); 1->^^^^^^^^ 2 > ^ -3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -4 > ^ -5 > ^^^ +3 > ^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +6 > ^ +7 > ^^^ +8 > ^^^^^^^^^^^^^-> 1-> > > @dec > @dec > 2 > y -3 > = -4 > 1 -5 > ; -1->Emitted(114, 9) Source(20, 5) + SourceIndex(0) -2 >Emitted(114, 10) Source(20, 6) + SourceIndex(0) -3 >Emitted(114, 108) Source(20, 9) + SourceIndex(0) -4 >Emitted(114, 109) Source(20, 10) + SourceIndex(0) -5 >Emitted(114, 112) Source(20, 11) + SourceIndex(0) +3 > +4 > C +5 > { + > @dec + > @dec + > method() {} + > + > @dec + > @dec + > get x() { return 1; } + > + > @dec + > @dec + > set x(value: number) { } + > + > @dec + > @dec + > y = +6 > 1 +7 > ; +1->Emitted(117, 9) Source(20, 5) + SourceIndex(0) +2 >Emitted(117, 10) Source(20, 6) + SourceIndex(0) +3 >Emitted(117, 14) Source(5, 7) + SourceIndex(0) +4 >Emitted(117, 65) Source(5, 8) + SourceIndex(0) +5 >Emitted(117, 108) Source(20, 9) + SourceIndex(0) +6 >Emitted(117, 109) Source(20, 10) + SourceIndex(0) +7 >Emitted(117, 112) Source(20, 11) + SourceIndex(0) --- ->>> #z_accessor_storage = __runInitializers(this, _z_initializers, 1); -1 >^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^ -1 > +>>> #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); +1->^^^^^^^^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^ +1-> > > @dec > @dec > 2 > accessor z = -3 > 1 -4 > ; -1 >Emitted(115, 9) Source(24, 5) + SourceIndex(0) -2 >Emitted(115, 72) Source(24, 18) + SourceIndex(0) -3 >Emitted(115, 73) Source(24, 19) + SourceIndex(0) -4 >Emitted(115, 75) Source(24, 20) + SourceIndex(0) +3 > 1 +4 > ; +1->Emitted(118, 9) Source(24, 5) + SourceIndex(0) +2 >Emitted(118, 120) Source(24, 18) + SourceIndex(0) +3 >Emitted(118, 121) Source(24, 19) + SourceIndex(0) +4 >Emitted(118, 124) Source(24, 20) + SourceIndex(0) --- >>> get z() { return this.#z_accessor_storage; } 1 >^^^^^^^^ @@ -755,10 +770,10 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > accessor 3 > z 4 > = 1; -1 >Emitted(116, 9) Source(24, 5) + SourceIndex(0) -2 >Emitted(116, 13) Source(24, 14) + SourceIndex(0) -3 >Emitted(116, 14) Source(24, 15) + SourceIndex(0) -4 >Emitted(116, 53) Source(24, 20) + SourceIndex(0) +1 >Emitted(119, 9) Source(24, 5) + SourceIndex(0) +2 >Emitted(119, 13) Source(24, 14) + SourceIndex(0) +3 >Emitted(119, 14) Source(24, 15) + SourceIndex(0) +4 >Emitted(119, 53) Source(24, 20) + SourceIndex(0) --- >>> set z(value) { this.#z_accessor_storage = value; } 1->^^^^^^^^ @@ -769,18 +784,20 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts 2 > accessor 3 > z 4 > = 1; -1->Emitted(117, 9) Source(24, 5) + SourceIndex(0) -2 >Emitted(117, 13) Source(24, 14) + SourceIndex(0) -3 >Emitted(117, 14) Source(24, 15) + SourceIndex(0) -4 >Emitted(117, 59) Source(24, 20) + SourceIndex(0) +1->Emitted(120, 9) Source(24, 5) + SourceIndex(0) +2 >Emitted(120, 13) Source(24, 14) + SourceIndex(0) +3 >Emitted(120, 14) Source(24, 15) + SourceIndex(0) +4 >Emitted(120, 59) Source(24, 20) + SourceIndex(0) --- >>> static { ->>> _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; +>>> _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; 1 >^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^ -5 > ^ +2 > ^^^^^^^^^^^^^^^^^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +5 > ^ +6 > ^^^^ +7 > ^ 1 > > > @dec @@ -798,48 +815,91 @@ sourceFile:esDecorators-classDeclaration-sourceMap.ts > @dec > @dec > static -2 > #y = -3 > 1 -4 > -5 > = 1; -1 >Emitted(119, 13) Source(40, 12) + SourceIndex(0) -2 >Emitted(119, 91) Source(40, 17) + SourceIndex(0) -3 >Emitted(119, 92) Source(40, 18) + SourceIndex(0) -4 >Emitted(119, 95) Source(40, 14) + SourceIndex(0) -5 >Emitted(119, 96) Source(40, 19) + SourceIndex(0) +2 > +3 > C +4 > { + > @dec + > @dec + > method() {} + > + > @dec + > @dec + > get x() { return 1; } + > + > @dec + > @dec + > set x(value: number) { } + > + > @dec + > @dec + > y = 1; + > + > @dec + > @dec + > accessor z = 1; + > + > @dec + > @dec + > static #method() {} + > + > @dec + > @dec + > static get #x() { return 1; } + > + > @dec + > @dec + > static set #x(value: number) { } + > + > @dec + > @dec + > static #y = +5 > 1 +6 > +7 > = 1; +1 >Emitted(122, 13) Source(40, 12) + SourceIndex(0) +2 >Emitted(122, 30) Source(5, 7) + SourceIndex(0) +3 >Emitted(122, 85) Source(5, 8) + SourceIndex(0) +4 >Emitted(122, 149) Source(40, 17) + SourceIndex(0) +5 >Emitted(122, 150) Source(40, 18) + SourceIndex(0) +6 >Emitted(122, 154) Source(40, 14) + SourceIndex(0) +7 >Emitted(122, 155) Source(40, 19) + SourceIndex(0) --- >>> } >>> static { ->>> _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; +>>> _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; 1 >^^^^^^^^^^^^ -2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -3 > ^ -4 > ^^^ -5 > ^ +2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +3 > ^ +4 > ^^^^ +5 > ^ 1 > > > @dec > @dec > static accessor 2 > #z = -3 > 1 -4 > -5 > = 1; -1 >Emitted(122, 13) Source(44, 21) + SourceIndex(0) -2 >Emitted(122, 108) Source(44, 26) + SourceIndex(0) -3 >Emitted(122, 109) Source(44, 27) + SourceIndex(0) -4 >Emitted(122, 112) Source(44, 23) + SourceIndex(0) -5 >Emitted(122, 113) Source(44, 28) + SourceIndex(0) +3 > 1 +4 > +5 > = 1; +1 >Emitted(125, 13) Source(44, 21) + SourceIndex(0) +2 >Emitted(125, 177) Source(44, 26) + SourceIndex(0) +3 >Emitted(125, 178) Source(44, 27) + SourceIndex(0) +4 >Emitted(125, 182) Source(44, 23) + SourceIndex(0) +5 >Emitted(125, 183) Source(44, 28) + SourceIndex(0) --- >>> } +>>> constructor() { +>>> __runInitializers(this, _z_extraInitializers); +>>> } >>> static { +>>> __runInitializers(_classThis, _static_private_z_extraInitializers); >>> __runInitializers(_classThis, _classExtraInitializers); 1 >^^^^^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > C -1 >Emitted(125, 13) Source(5, 7) + SourceIndex(0) -2 >Emitted(125, 68) Source(5, 8) + SourceIndex(0) +1 >Emitted(132, 13) Source(5, 7) + SourceIndex(0) +2 >Emitted(132, 68) Source(5, 8) + SourceIndex(0) --- >>> } >>> }; diff --git a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js index 3f5e06eebe7..22d5cc52f88 100644 --- a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js +++ b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2015).js @@ -102,22 +102,21 @@ class C { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = (_classThis = class { - constructor() { - /*14*/ - this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - _C_z_1_accessor_storage.set(this, __runInitializers(this, _z_initializers, 1)); - } /*5*/ method() { } /*8*/ @@ -127,6 +126,12 @@ class C { /*17*/ get z() { return __classPrivateFieldGet(this, _C_z_1_accessor_storage, "f"); } set z(value) { __classPrivateFieldSet(this, _C_z_1_accessor_storage, value, "f"); } + constructor() { + /*14*/ + this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); + _C_z_1_accessor_storage.set(this, (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1))); + __runInitializers(this, _z_extraInitializers); + } }, _C_z_1_accessor_storage = new WeakMap(), _C_method_get = function _C_method_get() { return _static_private_method_descriptor.value; }, @@ -150,22 +155,22 @@ class C { __esDecorate(_classThis, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(_classThis, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(_classThis, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(_classThis, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(_classThis, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(), /*29*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }, - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }, + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }, + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }, (() => { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(), _classThis); diff --git a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js index 99b621087ec..164f96e3c1c 100644 --- a/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js +++ b/tests/baselines/reference/esDecorators-classExpression-commentPreservation(target=es2022).js @@ -102,16 +102,20 @@ class C { let _static_private_set_x_descriptor; let _static_private_y_decorators; let _static_private_y_initializers = []; + let _static_private_y_extraInitializers = []; let _static_private_z_decorators; let _static_private_z_initializers = []; + let _static_private_z_extraInitializers = []; let _static_private_z_descriptor; let _method_decorators; let _get_x_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; let _z_decorators; let _z_initializers = []; + let _z_extraInitializers = []; var C = (_a = class { static { _classThis = this; } static { __setFunctionName(this, "C"); } @@ -131,17 +135,16 @@ class C { __esDecorate(this, _static_private_method_descriptor = { value: __setFunctionName(function () { }, "#method") }, _static_private_method_decorators, { kind: "method", name: "#method", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_method_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_get_x_descriptor = { get: __setFunctionName(function () { return 1; }, "#x", "get") }, _static_private_get_x_decorators, { kind: "getter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_x_get) }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, _static_private_set_x_descriptor = { set: __setFunctionName(function (value) { }, "#x", "set") }, _static_private_set_x_decorators, { kind: "setter", name: "#x", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_x_set); } }, metadata: _metadata }, null, _staticExtraInitializers); - __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _staticExtraInitializers); + __esDecorate(this, _static_private_z_descriptor = { get: __setFunctionName(function () { return __classPrivateFieldGet(this, _classThis, "f", _C_z_accessor_storage); }, "#z", "get"), set: __setFunctionName(function (value) { __classPrivateFieldSet(this, _classThis, value, "f", _C_z_accessor_storage); }, "#z", "set") }, _static_private_z_decorators, { kind: "accessor", name: "#z", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "a", _C_z_get), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "a", _C_z_set); } }, metadata: _metadata }, _static_private_z_initializers, _static_private_z_extraInitializers); __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _get_x_decorators, { kind: "getter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, get: obj => obj.x }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _instanceExtraInitializers); - __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(this, null, _z_decorators, { kind: "accessor", name: "z", static: false, private: false, access: { has: obj => "z" in obj, get: obj => obj.z, set: (obj, value) => { obj.z = value; } }, metadata: _metadata }, _z_initializers, _z_extraInitializers); + __esDecorate(null, null, _static_private_y_decorators, { kind: "field", name: "#y", static: true, private: true, access: { has: obj => __classPrivateFieldIn(_classThis, obj), get: obj => __classPrivateFieldGet(obj, _classThis, "f", _C_y), set: (obj, value) => { __classPrivateFieldSet(obj, _classThis, value, "f", _C_y); } }, metadata: _metadata }, _static_private_y_initializers, _static_private_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); } /*5*/ method() { } @@ -151,24 +154,28 @@ class C { set x(value) { } /*14*/ y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 1)); - #z_accessor_storage = __runInitializers(this, _z_initializers, 1); + #z_accessor_storage = (__runInitializers(this, _y_extraInitializers), __runInitializers(this, _z_initializers, 1)); /*17*/ get z() { return this.#z_accessor_storage; } set z(value) { this.#z_accessor_storage = value; } static { /*29*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }; + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }; } static { - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }; + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }; + } + constructor() { + __runInitializers(this, _z_extraInitializers); } static { + __runInitializers(_classThis, _static_private_z_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); } }, /*29*/ - _C_y = { value: __runInitializers(_classThis, _static_private_y_initializers, 1) }, - _C_z_accessor_storage = { value: __runInitializers(_classThis, _static_private_z_initializers, 1) }, + _C_y = { value: (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_private_y_initializers, 1)) }, + _C_z_accessor_storage = { value: (__runInitializers(_classThis, _static_private_y_extraInitializers), __runInitializers(_classThis, _static_private_z_initializers, 1)) }, _a); return C = _classThis; })()); diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.1.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.1.js index 46dc89b57cd..a733f1cd4da 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.1.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.1.js @@ -53,18 +53,21 @@ x = (() => { return class_1 = _classThis; })(); x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); // 13.15.2 RS: Evaluation @@ -88,18 +91,21 @@ x &&= (() => { return class_2 = _classThis; })(); x &&= (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); // 13.15.2 RS: Evaluation @@ -123,18 +129,21 @@ x ||= (() => { return class_3 = _classThis; })(); x ||= (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); // 13.15.2 RS: Evaluation @@ -158,17 +167,20 @@ x ??= (() => { return class_4 = _classThis; })(); x ??= (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.10.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.10.js index 6b11f68aa06..2119eb472ee 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.10.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.10.js @@ -219,18 +219,21 @@ var _a, _b; { class C { static x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -238,18 +241,21 @@ var _a, _b; { class C { static "x" = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -257,18 +263,21 @@ var _a, _b; { class C { static 0 = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "0"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -276,18 +285,21 @@ var _a, _b; { class C { static ["x"] = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -295,18 +307,21 @@ var _a, _b; { class C { static [0] = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "0"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -338,18 +353,21 @@ var _a, _b; { class C { static __proto__ = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "__proto__"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -357,18 +375,21 @@ var _a, _b; { class C { static "__proto__" = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "__proto__"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -376,16 +397,15 @@ var _a, _b; // ensure nested named evaluation happens when field is also transformed { let C = (() => { - let _staticExtraInitializers = []; let _static_x_decorators; let _static_x_initializers = []; + let _static_x_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_x_decorators = [dec]; - __esDecorate(null, null, _static_x_decorators, { kind: "field", name: "x", static: true, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _static_x_initializers, _staticExtraInitializers); + __esDecorate(null, null, _static_x_decorators, { kind: "field", name: "x", static: true, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _static_x_initializers, _static_x_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static x = __runInitializers(this, _static_x_initializers, (() => { let _classDecorators = [dec]; @@ -405,6 +425,9 @@ var _a, _b; }; return class_10 = _classThis; })()); + static { + __runInitializers(this, _static_x_extraInitializers); + } }; })(); } diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.11.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.11.js index cde64529091..58f9685b1bf 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.11.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.11.js @@ -35,17 +35,20 @@ declare let dec: any; return class_1 = _classThis; })()); ((() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })()); // No NamedEvaluation, class name @@ -67,16 +70,19 @@ declare let dec: any; return C = _classThis; })()); ((() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class C { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })()); diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.2.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.2.js index 198115a21b7..ed72ed61218 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.2.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.2.js @@ -57,18 +57,21 @@ let x, f; return class_1 = _classThis; })() }); ({ x: (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() }); ({ "x": (() => { @@ -90,18 +93,21 @@ let x, f; return class_2 = _classThis; })() }); ({ "x": (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() }); ({ 0: (() => { @@ -123,18 +129,21 @@ let x, f; return class_3 = _classThis; })() }); ({ 0: (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "0"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() }); ({ ["x"]: (() => { @@ -156,18 +165,21 @@ let x, f; return class_4 = _classThis; })() }); ({ ["x"]: (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() }); ({ [0]: (() => { @@ -189,18 +201,21 @@ let x, f; return class_5 = _classThis; })() }); ({ [0]: (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "0"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() }); ({ [_a = __propKey(f())]: (() => { @@ -222,18 +237,21 @@ let x, f; return class_6 = _classThis; })() }); ({ [_b = __propKey(f())]: (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, _b); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() }); // __proto__ setters do not perform NamedEvaluation diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.3.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.3.js index 43495326753..d56d30b46f8 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.3.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.3.js @@ -44,18 +44,21 @@ declare let dec: any; } { let x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -81,18 +84,21 @@ declare let dec: any; } { const x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } @@ -120,18 +126,21 @@ declare let dec: any; } { var x1 = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x1"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); } diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.4.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.4.js index 93d79672248..3b68a02e5fa 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.4.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.4.js @@ -45,18 +45,21 @@ declare let dec: any, obj: any; } { const [x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })()] = obj; } @@ -84,18 +87,21 @@ declare let dec: any, obj: any; } { const { x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() } = obj; } @@ -121,18 +127,21 @@ declare let dec: any, obj: any; } { const { y: x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() } = obj; } diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.5.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.5.js index f6172c9dda1..0c7884483db 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.5.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.5.js @@ -32,17 +32,20 @@ declare let dec: any, obj: any, x: any; return class_1 = _classThis; })() } = obj); ({ x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() } = obj); diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.6.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.6.js index 8f2fbefe304..37dd63a7c73 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.6.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.6.js @@ -32,17 +32,20 @@ declare let dec: any, obj: any, x: any; return class_1 = _classThis; })() } = obj); ({ y: x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })() } = obj); diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.7.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.7.js index 5cd99dbc9e9..9ba9ca8cec8 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.7.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.7.js @@ -32,17 +32,20 @@ declare let dec: any, obj: any, x: any; return class_1 = _classThis; })()] = obj; [x = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "x"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })()] = obj; diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.8.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.8.js index 783ecf48a89..7c127f06270 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.8.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.8.js @@ -41,17 +41,20 @@ export default ((() => { // 16.2.3.7 RS: Evaluation // ExportDeclaration : `export` `default` AssignmentExpression `;` export default ((() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { __setFunctionName(this, "default"); } static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })()); diff --git a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.9.js b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.9.js index 61380d45d4e..213f799c4e8 100644 --- a/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.9.js +++ b/tests/baselines/reference/esDecorators-classExpression-namedEvaluation.9.js @@ -33,16 +33,19 @@ module.exports = (() => { //// [b.js] "use strict"; module.exports = (() => { - let _instanceExtraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _y_decorators = [dec]; - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); } - y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + y = __runInitializers(this, _y_initializers, void 0); + constructor() { + __runInitializers(this, _y_extraInitializers); + } }; })(); diff --git a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js index 945225552e2..dd3d14be265 100644 --- a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js +++ b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2015).js @@ -60,13 +60,16 @@ let C = (() => { let _static_set_x_decorators; let _static_y_decorators; let _static_y_initializers = []; + let _static_y_extraInitializers = []; let _method_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; var C = _classThis = class { constructor(x) { this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + __runInitializers(this, _y_extraInitializers); } method(x) { } set x(x) { } @@ -86,15 +89,15 @@ let C = (() => { __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(); - _classThis.y = __runInitializers(_classThis, _static_y_initializers, void 0); + _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)); (() => { + __runInitializers(_classThis, _static_y_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(); return C = _classThis; @@ -110,13 +113,16 @@ let C = (() => { let _static_set_x_decorators; let _static_y_decorators; let _static_y_initializers = []; + let _static_y_extraInitializers = []; let _method_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; var C = (_classThis = class { constructor(x) { this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + __runInitializers(this, _y_extraInitializers); } method(x) { } set x(x) { } @@ -136,15 +142,15 @@ let C = (() => { __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(), - _classThis.y = __runInitializers(_classThis, _static_y_initializers, void 0), + _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)), (() => { + __runInitializers(_classThis, _static_y_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(), _classThis); diff --git a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2022).js b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2022).js index 92756835a55..3f6ed5f446e 100644 --- a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2022).js +++ b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es2022).js @@ -60,10 +60,12 @@ let C = (() => { let _static_set_x_decorators; let _static_y_decorators; let _static_y_initializers = []; + let _static_y_extraInitializers = []; let _method_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; var C = class { static { _classThis = this; } static { @@ -78,21 +80,23 @@ let C = (() => { __esDecorate(this, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); } - constructor(x) { } + constructor(x) { + __runInitializers(this, _y_extraInitializers); + } method(x) { } set x(x) { } y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); static method(x) { } static set x(x) { } - static y = __runInitializers(_classThis, _static_y_initializers, void 0); + static y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)); static { + __runInitializers(_classThis, _static_y_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); } }; @@ -109,10 +113,12 @@ let C = (() => { let _static_set_x_decorators; let _static_y_decorators; let _static_y_initializers = []; + let _static_y_extraInitializers = []; let _method_decorators; let _set_x_decorators; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; var C = class { static { _classThis = this; } static { @@ -127,21 +133,23 @@ let C = (() => { __esDecorate(this, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(this, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: obj => "method" in obj, get: obj => obj.method }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(this, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: obj => "x" in obj, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); } - constructor(x) { } + constructor(x) { + __runInitializers(this, _y_extraInitializers); + } method(x) { } set x(x) { } y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); static method(x) { } static set x(x) { } - static y = __runInitializers(_classThis, _static_y_initializers, void 0); + static y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)); static { + __runInitializers(_classThis, _static_y_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); } }; diff --git a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js index 844e1c973aa..37e84196039 100644 --- a/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js +++ b/tests/baselines/reference/esDecorators-emitDecoratorMetadata(target=es5).js @@ -60,13 +60,16 @@ var C = function () { var _static_set_x_decorators; var _static_y_decorators; var _static_y_initializers = []; + var _static_y_extraInitializers = []; var _method_decorators; var _set_x_decorators; var _y_decorators; var _y_initializers = []; + var _y_extraInitializers = []; var C = _classThis = /** @class */ (function () { function C_1(x) { this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + __runInitializers(this, _y_extraInitializers); } C_1.prototype.method = function (x) { }; Object.defineProperty(C_1.prototype, "x", { @@ -95,15 +98,15 @@ var C = function () { __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: function (obj) { return "method" in obj; }, get: function (obj) { return obj.method; } }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(); - _classThis.y = __runInitializers(_classThis, _static_y_initializers, void 0); + _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)); (function () { + __runInitializers(_classThis, _static_y_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(); return C = _classThis; @@ -119,13 +122,16 @@ var C = function () { var _static_set_x_decorators; var _static_y_decorators; var _static_y_initializers = []; + var _static_y_extraInitializers = []; var _method_decorators; var _set_x_decorators; var _y_decorators; var _y_initializers = []; + var _y_extraInitializers = []; var C = (_classThis = /** @class */ (function () { function class_1(x) { this.y = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, void 0)); + __runInitializers(this, _y_extraInitializers); } class_1.prototype.method = function (x) { }; Object.defineProperty(class_1.prototype, "x", { @@ -154,15 +160,15 @@ var C = function () { __esDecorate(_classThis, null, _static_set_x_decorators, { kind: "setter", name: "x", static: true, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _staticExtraInitializers); __esDecorate(_classThis, null, _method_decorators, { kind: "method", name: "method", static: false, private: false, access: { has: function (obj) { return "method" in obj; }, get: function (obj) { return obj.method; } }, metadata: _metadata }, null, _instanceExtraInitializers); __esDecorate(_classThis, null, _set_x_decorators, { kind: "setter", name: "x", static: false, private: false, access: { has: function (obj) { return "x" in obj; }, set: function (obj, value) { obj.x = value; } }, metadata: _metadata }, null, _instanceExtraInitializers); - __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _staticExtraInitializers); - __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(null, null, _static_y_decorators, { kind: "field", name: "y", static: true, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _static_y_initializers, _static_y_extraInitializers); + __esDecorate(null, null, _y_decorators, { kind: "field", name: "y", static: false, private: false, access: { has: function (obj) { return "y" in obj; }, get: function (obj) { return obj.y; }, set: function (obj, value) { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers); C = _classThis = _classDescriptor.value; if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_classThis, _staticExtraInitializers); })(), - _classThis.y = __runInitializers(_classThis, _static_y_initializers, void 0), + _classThis.y = (__runInitializers(_classThis, _staticExtraInitializers), __runInitializers(_classThis, _static_y_initializers, void 0)), (function () { + __runInitializers(_classThis, _static_y_extraInitializers); __runInitializers(_classThis, _classExtraInitializers); })(), _classThis); diff --git a/tests/baselines/reference/esDecorators-preservesThis.js b/tests/baselines/reference/esDecorators-preservesThis.js index d8db1c2729a..4a0b8a4ab24 100644 --- a/tests/baselines/reference/esDecorators-preservesThis.js +++ b/tests/baselines/reference/esDecorators-preservesThis.js @@ -41,6 +41,13 @@ class D extends DecoratorProvider { //// [esDecorators-preservesThis.js] // https://github.com/microsoft/TypeScript/issues/53752 +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -68,13 +75,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; // preserve `this` for access let C = (() => { var _a, _b, _c; diff --git a/tests/baselines/reference/esDecoratorsMetadata1(target=es2015).js b/tests/baselines/reference/esDecoratorsMetadata1(target=es2015).js index bd929d9ae52..6d142d2a4d8 100644 --- a/tests/baselines/reference/esDecoratorsMetadata1(target=es2015).js +++ b/tests/baselines/reference/esDecoratorsMetadata1(target=es2015).js @@ -18,6 +18,13 @@ C[Symbol.metadata].b; // 'y' //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -45,13 +52,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); diff --git a/tests/baselines/reference/esDecoratorsMetadata1(target=es2022).js b/tests/baselines/reference/esDecoratorsMetadata1(target=es2022).js index 1f70d31859c..89829ed23d3 100644 --- a/tests/baselines/reference/esDecoratorsMetadata1(target=es2022).js +++ b/tests/baselines/reference/esDecoratorsMetadata1(target=es2022).js @@ -18,6 +18,13 @@ C[Symbol.metadata].b; // 'y' //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -45,13 +52,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; function meta(key, value) { return (_, context) => { context.metadata[key] = value; diff --git a/tests/baselines/reference/esDecoratorsMetadata2(target=es2015).js b/tests/baselines/reference/esDecoratorsMetadata2(target=es2015).js index 827cd38f1e8..c40e7750705 100644 --- a/tests/baselines/reference/esDecoratorsMetadata2(target=es2015).js +++ b/tests/baselines/reference/esDecoratorsMetadata2(target=es2015).js @@ -26,6 +26,13 @@ D[Symbol.metadata].b; // 'z' //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -53,13 +60,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); diff --git a/tests/baselines/reference/esDecoratorsMetadata2(target=es2022).js b/tests/baselines/reference/esDecoratorsMetadata2(target=es2022).js index 01f6e2bcf23..426bcfa0ef1 100644 --- a/tests/baselines/reference/esDecoratorsMetadata2(target=es2022).js +++ b/tests/baselines/reference/esDecoratorsMetadata2(target=es2022).js @@ -26,6 +26,13 @@ D[Symbol.metadata].b; // 'z' //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -53,13 +60,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; function meta(key, value) { return (_, context) => { context.metadata[key] = value; diff --git a/tests/baselines/reference/esDecoratorsMetadata4(target=es2015).js b/tests/baselines/reference/esDecoratorsMetadata4(target=es2015).js index ad33dcd9fe4..bad3be6e96a 100644 --- a/tests/baselines/reference/esDecoratorsMetadata4(target=es2015).js +++ b/tests/baselines/reference/esDecoratorsMetadata4(target=es2015).js @@ -27,6 +27,13 @@ PRIVATE_METADATA.get(C[Symbol.metadata]).b; // 'y' //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -54,13 +61,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) { if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); diff --git a/tests/baselines/reference/esDecoratorsMetadata4(target=es2022).js b/tests/baselines/reference/esDecoratorsMetadata4(target=es2022).js index c15a9824343..587292e9250 100644 --- a/tests/baselines/reference/esDecoratorsMetadata4(target=es2022).js +++ b/tests/baselines/reference/esDecoratorsMetadata4(target=es2022).js @@ -27,6 +27,13 @@ PRIVATE_METADATA.get(C[Symbol.metadata]).b; // 'y' //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -54,13 +61,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; const PRIVATE_METADATA = new WeakMap(); function meta(key, value) { return (_, context) => { diff --git a/tests/baselines/reference/esDecoratorsMetadata5.js b/tests/baselines/reference/esDecoratorsMetadata5.js index e7144470d87..9aa3b7f7084 100644 --- a/tests/baselines/reference/esDecoratorsMetadata5.js +++ b/tests/baselines/reference/esDecoratorsMetadata5.js @@ -8,6 +8,13 @@ class C { //// [foo.js] +var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { + var useValue = arguments.length > 2; + for (var i = 0; i < initializers.length; i++) { + value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); + } + return useValue ? value : void 0; +}; var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; @@ -35,13 +42,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, if (target) Object.defineProperty(target, contextIn.name, descriptor); done = true; }; -var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) { - var useValue = arguments.length > 2; - for (var i = 0; i < initializers.length; i++) { - value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); - } - return useValue ? value : void 0; -}; let C = (() => { let _instanceExtraInitializers = []; let _m_decorators; diff --git a/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2017).js b/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2017).js index 341c4ee4ede..f4c000661b6 100644 --- a/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2017).js +++ b/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2017).js @@ -63,34 +63,37 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function ( }; let A = (() => { var _a, _A_x_accessor_storage, _A_y_accessor_storage; - let _staticExtraInitializers = []; - let _instanceExtraInitializers = []; let _static_x_decorators; let _static_x_initializers = []; + let _static_x_extraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return _a = class A { - constructor() { - _A_y_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 2))); - } // uses class reference static get x() { return __classPrivateFieldGet(_a, _a, "f", _A_x_accessor_storage); } static set x(value) { __classPrivateFieldSet(_a, _a, value, "f", _A_x_accessor_storage); } // uses 'this' get y() { return __classPrivateFieldGet(this, _A_y_accessor_storage, "f"); } set y(value) { __classPrivateFieldSet(this, _A_y_accessor_storage, value, "f"); } + constructor() { + _A_y_accessor_storage.set(this, __runInitializers(this, _y_initializers, 2)); + __runInitializers(this, _y_extraInitializers); + } }, _A_y_accessor_storage = new WeakMap(), (() => { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_x_decorators = [((t, c) => { })]; _y_decorators = [((t, c) => { })]; - __esDecorate(_a, null, _static_x_decorators, { kind: "accessor", name: "x", static: true, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _static_x_initializers, _staticExtraInitializers); - __esDecorate(_a, null, _y_decorators, { kind: "accessor", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(_a, null, _static_x_decorators, { kind: "accessor", name: "x", static: true, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _static_x_initializers, _static_x_extraInitializers); + __esDecorate(_a, null, _y_decorators, { kind: "accessor", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(_a, _staticExtraInitializers); })(), // uses class reference _A_x_accessor_storage = { value: __runInitializers(_a, _static_x_initializers, 1) }, + (() => { + __runInitializers(_a, _static_x_extraInitializers); + })(), _a; })(); diff --git a/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2022).js b/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2022).js index cc85e8e66fa..33e49e29616 100644 --- a/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2022).js +++ b/tests/baselines/reference/staticAutoAccessorsWithDecorators(target=es2022).js @@ -51,29 +51,34 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i return useValue ? value : void 0; }; let A = (() => { - let _staticExtraInitializers = []; - let _instanceExtraInitializers = []; let _static_x_decorators; let _static_x_initializers = []; + let _static_x_extraInitializers = []; let _y_decorators; let _y_initializers = []; + let _y_extraInitializers = []; return class A { static { const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0; _static_x_decorators = [((t, c) => { })]; _y_decorators = [((t, c) => { })]; - __esDecorate(this, null, _static_x_decorators, { kind: "accessor", name: "x", static: true, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _static_x_initializers, _staticExtraInitializers); - __esDecorate(this, null, _y_decorators, { kind: "accessor", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _instanceExtraInitializers); + __esDecorate(this, null, _static_x_decorators, { kind: "accessor", name: "x", static: true, private: false, access: { has: obj => "x" in obj, get: obj => obj.x, set: (obj, value) => { obj.x = value; } }, metadata: _metadata }, _static_x_initializers, _static_x_extraInitializers); + __esDecorate(this, null, _y_decorators, { kind: "accessor", name: "y", static: false, private: false, access: { has: obj => "y" in obj, get: obj => obj.y, set: (obj, value) => { obj.y = value; } }, metadata: _metadata }, _y_initializers, _y_extraInitializers); if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata }); - __runInitializers(this, _staticExtraInitializers); } static #x_accessor_storage = __runInitializers(this, _static_x_initializers, 1); // uses class reference static get x() { return A.#x_accessor_storage; } static set x(value) { A.#x_accessor_storage = value; } - #y_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _y_initializers, 2)); + #y_accessor_storage = __runInitializers(this, _y_initializers, 2); // uses 'this' get y() { return this.#y_accessor_storage; } set y(value) { this.#y_accessor_storage = value; } + constructor() { + __runInitializers(this, _y_extraInitializers); + } + static { + __runInitializers(this, _static_x_extraInitializers); + } }; })();