typescript 5.4.0-dev.20240104 → 5.4.0-dev.20240106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/tsc.js +158 -68
- package/lib/tsserver.js +178 -63
- package/lib/typescript.js +178 -63
- package/lib/typingsInstaller.js +1 -1
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
// src/compiler/corePublic.ts
|
|
20
20
|
var versionMajorMinor = "5.4";
|
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20240106`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -10860,17 +10860,6 @@ function isMethodOrAccessor(node) {
|
|
|
10860
10860
|
return false;
|
|
10861
10861
|
}
|
|
10862
10862
|
}
|
|
10863
|
-
function isNamedClassElement(node) {
|
|
10864
|
-
switch (node.kind) {
|
|
10865
|
-
case 174 /* MethodDeclaration */:
|
|
10866
|
-
case 177 /* GetAccessor */:
|
|
10867
|
-
case 178 /* SetAccessor */:
|
|
10868
|
-
case 172 /* PropertyDeclaration */:
|
|
10869
|
-
return true;
|
|
10870
|
-
default:
|
|
10871
|
-
return false;
|
|
10872
|
-
}
|
|
10873
|
-
}
|
|
10874
10863
|
function isModifierLike(node) {
|
|
10875
10864
|
return isModifier(node) || isDecorator(node);
|
|
10876
10865
|
}
|
|
@@ -93403,22 +93392,49 @@ function transformESDecorators(context) {
|
|
|
93403
93392
|
}
|
|
93404
93393
|
function createClassInfo(node) {
|
|
93405
93394
|
const metadataReference = factory2.createUniqueName("_metadata", 16 /* Optimistic */ | 32 /* FileLevel */);
|
|
93406
|
-
let
|
|
93407
|
-
let
|
|
93395
|
+
let instanceMethodExtraInitializersName;
|
|
93396
|
+
let staticMethodExtraInitializersName;
|
|
93408
93397
|
let hasStaticInitializers = false;
|
|
93409
93398
|
let hasNonAmbientInstanceFields = false;
|
|
93410
93399
|
let hasStaticPrivateClassElements = false;
|
|
93400
|
+
let classThis2;
|
|
93401
|
+
let pendingStaticInitializers;
|
|
93402
|
+
let pendingInstanceInitializers;
|
|
93403
|
+
if (nodeIsDecorated(
|
|
93404
|
+
/*useLegacyDecorators*/
|
|
93405
|
+
false,
|
|
93406
|
+
node
|
|
93407
|
+
)) {
|
|
93408
|
+
const needsUniqueClassThis = some(node.members, (member) => (isPrivateIdentifierClassElementDeclaration(member) || isAutoAccessorPropertyDeclaration(member)) && hasStaticModifier(member));
|
|
93409
|
+
classThis2 = factory2.createUniqueName(
|
|
93410
|
+
"_classThis",
|
|
93411
|
+
needsUniqueClassThis ? 16 /* Optimistic */ | 8 /* ReservedInNestedScopes */ : 16 /* Optimistic */ | 32 /* FileLevel */
|
|
93412
|
+
);
|
|
93413
|
+
}
|
|
93411
93414
|
for (const member of node.members) {
|
|
93412
|
-
if (
|
|
93415
|
+
if (isMethodOrAccessor(member) && nodeOrChildIsDecorated(
|
|
93413
93416
|
/*useLegacyDecorators*/
|
|
93414
93417
|
false,
|
|
93415
93418
|
member,
|
|
93416
93419
|
node
|
|
93417
93420
|
)) {
|
|
93418
93421
|
if (hasStaticModifier(member)) {
|
|
93419
|
-
|
|
93422
|
+
if (!staticMethodExtraInitializersName) {
|
|
93423
|
+
staticMethodExtraInitializersName = factory2.createUniqueName("_staticExtraInitializers", 16 /* Optimistic */ | 32 /* FileLevel */);
|
|
93424
|
+
const initializer = emitHelpers().createRunInitializersHelper(classThis2 ?? factory2.createThis(), staticMethodExtraInitializersName);
|
|
93425
|
+
setSourceMapRange(initializer, node.name ?? moveRangePastDecorators(node));
|
|
93426
|
+
pendingStaticInitializers ?? (pendingStaticInitializers = []);
|
|
93427
|
+
pendingStaticInitializers.push(initializer);
|
|
93428
|
+
}
|
|
93420
93429
|
} else {
|
|
93421
|
-
|
|
93430
|
+
if (!instanceMethodExtraInitializersName) {
|
|
93431
|
+
instanceMethodExtraInitializersName = factory2.createUniqueName("_instanceExtraInitializers", 16 /* Optimistic */ | 32 /* FileLevel */);
|
|
93432
|
+
const initializer = emitHelpers().createRunInitializersHelper(factory2.createThis(), instanceMethodExtraInitializersName);
|
|
93433
|
+
setSourceMapRange(initializer, node.name ?? moveRangePastDecorators(node));
|
|
93434
|
+
pendingInstanceInitializers ?? (pendingInstanceInitializers = []);
|
|
93435
|
+
pendingInstanceInitializers.push(initializer);
|
|
93436
|
+
}
|
|
93437
|
+
instanceMethodExtraInitializersName ?? (instanceMethodExtraInitializersName = factory2.createUniqueName("_instanceExtraInitializers", 16 /* Optimistic */ | 32 /* FileLevel */));
|
|
93422
93438
|
}
|
|
93423
93439
|
}
|
|
93424
93440
|
if (isClassStaticBlockDeclaration(member)) {
|
|
@@ -93435,18 +93451,21 @@ function transformESDecorators(context) {
|
|
|
93435
93451
|
if ((isPrivateIdentifierClassElementDeclaration(member) || isAutoAccessorPropertyDeclaration(member)) && hasStaticModifier(member)) {
|
|
93436
93452
|
hasStaticPrivateClassElements = true;
|
|
93437
93453
|
}
|
|
93438
|
-
if (
|
|
93454
|
+
if (staticMethodExtraInitializersName && instanceMethodExtraInitializersName && hasStaticInitializers && hasNonAmbientInstanceFields && hasStaticPrivateClassElements) {
|
|
93439
93455
|
break;
|
|
93440
93456
|
}
|
|
93441
93457
|
}
|
|
93442
93458
|
return {
|
|
93443
93459
|
class: node,
|
|
93460
|
+
classThis: classThis2,
|
|
93444
93461
|
metadataReference,
|
|
93445
|
-
|
|
93446
|
-
|
|
93462
|
+
instanceMethodExtraInitializersName,
|
|
93463
|
+
staticMethodExtraInitializersName,
|
|
93447
93464
|
hasStaticInitializers,
|
|
93448
93465
|
hasNonAmbientInstanceFields,
|
|
93449
|
-
hasStaticPrivateClassElements
|
|
93466
|
+
hasStaticPrivateClassElements,
|
|
93467
|
+
pendingStaticInitializers,
|
|
93468
|
+
pendingInstanceInitializers
|
|
93450
93469
|
};
|
|
93451
93470
|
}
|
|
93452
93471
|
function transformClassLike(node) {
|
|
@@ -93479,11 +93498,7 @@ function transformESDecorators(context) {
|
|
|
93479
93498
|
classInfo2.classDecoratorsName = factory2.createUniqueName("_classDecorators", 16 /* Optimistic */ | 32 /* FileLevel */);
|
|
93480
93499
|
classInfo2.classDescriptorName = factory2.createUniqueName("_classDescriptor", 16 /* Optimistic */ | 32 /* FileLevel */);
|
|
93481
93500
|
classInfo2.classExtraInitializersName = factory2.createUniqueName("_classExtraInitializers", 16 /* Optimistic */ | 32 /* FileLevel */);
|
|
93482
|
-
|
|
93483
|
-
classInfo2.classThis = factory2.createUniqueName(
|
|
93484
|
-
"_classThis",
|
|
93485
|
-
needsUniqueClassThis ? 16 /* Optimistic */ | 8 /* ReservedInNestedScopes */ : 16 /* Optimistic */ | 32 /* FileLevel */
|
|
93486
|
-
);
|
|
93501
|
+
Debug.assertIsDefined(classInfo2.classThis);
|
|
93487
93502
|
classDefinitionStatements.push(
|
|
93488
93503
|
createLet(classInfo2.classDecoratorsName, factory2.createArrayLiteralExpression(classDecorators)),
|
|
93489
93504
|
createLet(classInfo2.classDescriptorName),
|
|
@@ -93515,7 +93530,9 @@ function transformESDecorators(context) {
|
|
|
93515
93530
|
const renamedClassThis = classInfo2.classThis ?? factory2.createThis();
|
|
93516
93531
|
enterClass(classInfo2);
|
|
93517
93532
|
leadingBlockStatements = append(leadingBlockStatements, createMetadata(classInfo2.metadataReference, classInfo2.classSuper));
|
|
93518
|
-
let members =
|
|
93533
|
+
let members = node.members;
|
|
93534
|
+
members = visitNodes2(members, (node2) => isConstructorDeclaration(node2) ? node2 : classElementVisitor(node2), isClassElement);
|
|
93535
|
+
members = visitNodes2(members, (node2) => isConstructorDeclaration(node2) ? classElementVisitor(node2) : node2, isClassElement);
|
|
93519
93536
|
if (pendingExpressions) {
|
|
93520
93537
|
let outerThis;
|
|
93521
93538
|
for (let expression of pendingExpressions) {
|
|
@@ -93540,7 +93557,7 @@ function transformESDecorators(context) {
|
|
|
93540
93557
|
pendingExpressions = void 0;
|
|
93541
93558
|
}
|
|
93542
93559
|
exitClass();
|
|
93543
|
-
if (classInfo2.
|
|
93560
|
+
if (some(classInfo2.pendingInstanceInitializers) && !getFirstConstructorWithBody(node)) {
|
|
93544
93561
|
const initializerStatements = prepareConstructor(node, classInfo2);
|
|
93545
93562
|
if (initializerStatements) {
|
|
93546
93563
|
const extendsClauseElement = getEffectiveBaseTypeNode(node);
|
|
@@ -93570,14 +93587,14 @@ function transformESDecorators(context) {
|
|
|
93570
93587
|
);
|
|
93571
93588
|
}
|
|
93572
93589
|
}
|
|
93573
|
-
if (classInfo2.
|
|
93590
|
+
if (classInfo2.staticMethodExtraInitializersName) {
|
|
93574
93591
|
classDefinitionStatements.push(
|
|
93575
|
-
createLet(classInfo2.
|
|
93592
|
+
createLet(classInfo2.staticMethodExtraInitializersName, factory2.createArrayLiteralExpression())
|
|
93576
93593
|
);
|
|
93577
93594
|
}
|
|
93578
|
-
if (classInfo2.
|
|
93595
|
+
if (classInfo2.instanceMethodExtraInitializersName) {
|
|
93579
93596
|
classDefinitionStatements.push(
|
|
93580
|
-
createLet(classInfo2.
|
|
93597
|
+
createLet(classInfo2.instanceMethodExtraInitializersName, factory2.createArrayLiteralExpression())
|
|
93581
93598
|
);
|
|
93582
93599
|
}
|
|
93583
93600
|
if (classInfo2.memberInfos) {
|
|
@@ -93587,6 +93604,9 @@ function transformESDecorators(context) {
|
|
|
93587
93604
|
if (memberInfo.memberInitializersName) {
|
|
93588
93605
|
classDefinitionStatements.push(createLet(memberInfo.memberInitializersName, factory2.createArrayLiteralExpression()));
|
|
93589
93606
|
}
|
|
93607
|
+
if (memberInfo.memberExtraInitializersName) {
|
|
93608
|
+
classDefinitionStatements.push(createLet(memberInfo.memberExtraInitializersName, factory2.createArrayLiteralExpression()));
|
|
93609
|
+
}
|
|
93590
93610
|
if (memberInfo.memberDescriptorName) {
|
|
93591
93611
|
classDefinitionStatements.push(createLet(memberInfo.memberDescriptorName));
|
|
93592
93612
|
}
|
|
@@ -93600,6 +93620,9 @@ function transformESDecorators(context) {
|
|
|
93600
93620
|
if (memberInfo.memberInitializersName) {
|
|
93601
93621
|
classDefinitionStatements.push(createLet(memberInfo.memberInitializersName, factory2.createArrayLiteralExpression()));
|
|
93602
93622
|
}
|
|
93623
|
+
if (memberInfo.memberExtraInitializersName) {
|
|
93624
|
+
classDefinitionStatements.push(createLet(memberInfo.memberExtraInitializersName, factory2.createArrayLiteralExpression()));
|
|
93625
|
+
}
|
|
93603
93626
|
if (memberInfo.memberDescriptorName) {
|
|
93604
93627
|
classDefinitionStatements.push(createLet(memberInfo.memberDescriptorName));
|
|
93605
93628
|
}
|
|
@@ -93633,11 +93656,13 @@ function transformESDecorators(context) {
|
|
|
93633
93656
|
leadingBlockStatements.push(factory2.createExpressionStatement(classReferenceAssignment));
|
|
93634
93657
|
}
|
|
93635
93658
|
leadingBlockStatements.push(createSymbolMetadata(renamedClassThis, classInfo2.metadataReference));
|
|
93636
|
-
if (classInfo2.
|
|
93637
|
-
const
|
|
93638
|
-
|
|
93639
|
-
|
|
93640
|
-
|
|
93659
|
+
if (some(classInfo2.pendingStaticInitializers)) {
|
|
93660
|
+
for (const initializer of classInfo2.pendingStaticInitializers) {
|
|
93661
|
+
const initializerStatement = factory2.createExpressionStatement(initializer);
|
|
93662
|
+
setSourceMapRange(initializerStatement, getSourceMapRange(initializer));
|
|
93663
|
+
trailingBlockStatements = append(trailingBlockStatements, initializerStatement);
|
|
93664
|
+
}
|
|
93665
|
+
classInfo2.pendingStaticInitializers = void 0;
|
|
93641
93666
|
}
|
|
93642
93667
|
if (classInfo2.classExtraInitializersName) {
|
|
93643
93668
|
const runClassInitializersHelper = emitHelpers().createRunInitializersHelper(renamedClassThis, classInfo2.classExtraInitializersName);
|
|
@@ -93868,16 +93893,14 @@ function transformESDecorators(context) {
|
|
|
93868
93893
|
}
|
|
93869
93894
|
}
|
|
93870
93895
|
function prepareConstructor(_parent, classInfo2) {
|
|
93871
|
-
if (classInfo2.
|
|
93896
|
+
if (some(classInfo2.pendingInstanceInitializers)) {
|
|
93872
93897
|
const statements = [];
|
|
93873
93898
|
statements.push(
|
|
93874
93899
|
factory2.createExpressionStatement(
|
|
93875
|
-
|
|
93876
|
-
factory2.createThis(),
|
|
93877
|
-
classInfo2.instanceExtraInitializersName
|
|
93878
|
-
)
|
|
93900
|
+
factory2.inlineExpressions(classInfo2.pendingInstanceInitializers)
|
|
93879
93901
|
)
|
|
93880
93902
|
);
|
|
93903
|
+
classInfo2.pendingInstanceInitializers = void 0;
|
|
93881
93904
|
return statements;
|
|
93882
93905
|
}
|
|
93883
93906
|
}
|
|
@@ -93957,6 +93980,7 @@ function transformESDecorators(context) {
|
|
|
93957
93980
|
let referencedName;
|
|
93958
93981
|
let name;
|
|
93959
93982
|
let initializersName;
|
|
93983
|
+
let extraInitializersName;
|
|
93960
93984
|
let thisArg;
|
|
93961
93985
|
let descriptorName;
|
|
93962
93986
|
if (!classInfo2) {
|
|
@@ -94014,20 +94038,22 @@ function transformESDecorators(context) {
|
|
|
94014
94038
|
},
|
|
94015
94039
|
metadata: classInfo2.metadataReference
|
|
94016
94040
|
};
|
|
94017
|
-
const extraInitializers = isStatic(member) ? classInfo2.staticExtraInitializersName ?? (classInfo2.staticExtraInitializersName = factory2.createUniqueName("_staticExtraInitializers", 16 /* Optimistic */ | 32 /* FileLevel */)) : classInfo2.instanceExtraInitializersName ?? (classInfo2.instanceExtraInitializersName = factory2.createUniqueName("_instanceExtraInitializers", 16 /* Optimistic */ | 32 /* FileLevel */));
|
|
94018
94041
|
if (isMethodOrAccessor(member)) {
|
|
94042
|
+
const methodExtraInitializersName = isStatic(member) ? classInfo2.staticMethodExtraInitializersName : classInfo2.instanceMethodExtraInitializersName;
|
|
94043
|
+
Debug.assertIsDefined(methodExtraInitializersName);
|
|
94019
94044
|
let descriptor;
|
|
94020
94045
|
if (isPrivateIdentifierClassElementDeclaration(member) && createDescriptor) {
|
|
94021
94046
|
descriptor = createDescriptor(member, visitNodes2(modifiers, (node) => tryCast(node, isAsyncModifier), isModifier));
|
|
94022
94047
|
memberInfo.memberDescriptorName = descriptorName = createHelperVariable(member, "descriptor");
|
|
94023
94048
|
descriptor = factory2.createAssignment(descriptorName, descriptor);
|
|
94024
94049
|
}
|
|
94025
|
-
const esDecorateExpression = emitHelpers().createESDecorateHelper(factory2.createThis(), descriptor ?? factory2.createNull(), memberDecoratorsName, context2, factory2.createNull(),
|
|
94050
|
+
const esDecorateExpression = emitHelpers().createESDecorateHelper(factory2.createThis(), descriptor ?? factory2.createNull(), memberDecoratorsName, context2, factory2.createNull(), methodExtraInitializersName);
|
|
94026
94051
|
const esDecorateStatement = factory2.createExpressionStatement(esDecorateExpression);
|
|
94027
94052
|
setSourceMapRange(esDecorateStatement, moveRangePastDecorators(member));
|
|
94028
94053
|
statements.push(esDecorateStatement);
|
|
94029
94054
|
} else if (isPropertyDeclaration(member)) {
|
|
94030
94055
|
initializersName = memberInfo.memberInitializersName ?? (memberInfo.memberInitializersName = createHelperVariable(member, "initializers"));
|
|
94056
|
+
extraInitializersName = memberInfo.memberExtraInitializersName ?? (memberInfo.memberExtraInitializersName = createHelperVariable(member, "extraInitializers"));
|
|
94031
94057
|
if (isStatic(member)) {
|
|
94032
94058
|
thisArg = classInfo2.classThis;
|
|
94033
94059
|
}
|
|
@@ -94047,7 +94073,7 @@ function transformESDecorators(context) {
|
|
|
94047
94073
|
memberDecoratorsName,
|
|
94048
94074
|
context2,
|
|
94049
94075
|
initializersName,
|
|
94050
|
-
|
|
94076
|
+
extraInitializersName
|
|
94051
94077
|
);
|
|
94052
94078
|
const esDecorateStatement = factory2.createExpressionStatement(esDecorateExpression);
|
|
94053
94079
|
setSourceMapRange(esDecorateStatement, moveRangePastDecorators(member));
|
|
@@ -94062,7 +94088,7 @@ function transformESDecorators(context) {
|
|
|
94062
94088
|
if (!some(modifiers) && (isMethodDeclaration(member) || isPropertyDeclaration(member))) {
|
|
94063
94089
|
setEmitFlags(name, 1024 /* NoLeadingComments */);
|
|
94064
94090
|
}
|
|
94065
|
-
return { modifiers, referencedName, name, initializersName, descriptorName, thisArg };
|
|
94091
|
+
return { modifiers, referencedName, name, initializersName, extraInitializersName, descriptorName, thisArg };
|
|
94066
94092
|
}
|
|
94067
94093
|
function visitMethodDeclaration(node) {
|
|
94068
94094
|
enterClassElement(node);
|
|
@@ -94135,9 +94161,27 @@ function transformESDecorators(context) {
|
|
|
94135
94161
|
result = visitEachChild(node, visitor, context);
|
|
94136
94162
|
classThis = savedClassThis;
|
|
94137
94163
|
} else {
|
|
94138
|
-
|
|
94164
|
+
node = visitEachChild(node, visitor, context);
|
|
94165
|
+
result = node;
|
|
94166
|
+
if (classInfo) {
|
|
94139
94167
|
classInfo.hasStaticInitializers = true;
|
|
94140
|
-
|
|
94168
|
+
if (some(classInfo.pendingStaticInitializers)) {
|
|
94169
|
+
const statements = [];
|
|
94170
|
+
for (const initializer of classInfo.pendingStaticInitializers) {
|
|
94171
|
+
const initializerStatement = factory2.createExpressionStatement(initializer);
|
|
94172
|
+
setSourceMapRange(initializerStatement, getSourceMapRange(initializer));
|
|
94173
|
+
statements.push(initializerStatement);
|
|
94174
|
+
}
|
|
94175
|
+
const body = factory2.createBlock(
|
|
94176
|
+
statements,
|
|
94177
|
+
/*multiLine*/
|
|
94178
|
+
true
|
|
94179
|
+
);
|
|
94180
|
+
const staticBlock = factory2.createClassStaticBlockDeclaration(body);
|
|
94181
|
+
result = [staticBlock, result];
|
|
94182
|
+
classInfo.pendingStaticInitializers = void 0;
|
|
94183
|
+
}
|
|
94184
|
+
}
|
|
94141
94185
|
}
|
|
94142
94186
|
exitClassElement();
|
|
94143
94187
|
return result;
|
|
@@ -94148,7 +94192,7 @@ function transformESDecorators(context) {
|
|
|
94148
94192
|
}
|
|
94149
94193
|
enterClassElement(node);
|
|
94150
94194
|
Debug.assert(!isAmbientPropertyDeclaration(node), "Not yet implemented.");
|
|
94151
|
-
const { modifiers, name, initializersName, descriptorName, thisArg } = partialTransformClassElement(node, classInfo, hasAccessorModifier(node) ? createAccessorPropertyDescriptorObject : void 0);
|
|
94195
|
+
const { modifiers, name, initializersName, extraInitializersName, descriptorName, thisArg } = partialTransformClassElement(node, classInfo, hasAccessorModifier(node) ? createAccessorPropertyDescriptorObject : void 0);
|
|
94152
94196
|
startLexicalEnvironment();
|
|
94153
94197
|
let initializer = visitNode(node.initializer, visitor, isExpression);
|
|
94154
94198
|
if (initializersName) {
|
|
@@ -94158,17 +94202,6 @@ function transformESDecorators(context) {
|
|
|
94158
94202
|
initializer ?? factory2.createVoidZero()
|
|
94159
94203
|
);
|
|
94160
94204
|
}
|
|
94161
|
-
if (!isStatic(node) && (classInfo == null ? void 0 : classInfo.instanceExtraInitializersName) && !(classInfo == null ? void 0 : classInfo.hasInjectedInstanceInitializers)) {
|
|
94162
|
-
classInfo.hasInjectedInstanceInitializers = true;
|
|
94163
|
-
initializer ?? (initializer = factory2.createVoidZero());
|
|
94164
|
-
initializer = factory2.createParenthesizedExpression(factory2.createComma(
|
|
94165
|
-
emitHelpers().createRunInitializersHelper(
|
|
94166
|
-
factory2.createThis(),
|
|
94167
|
-
classInfo.instanceExtraInitializersName
|
|
94168
|
-
),
|
|
94169
|
-
initializer
|
|
94170
|
-
));
|
|
94171
|
-
}
|
|
94172
94205
|
if (isStatic(node) && classInfo && initializer) {
|
|
94173
94206
|
classInfo.hasStaticInitializers = true;
|
|
94174
94207
|
}
|
|
@@ -94179,6 +94212,41 @@ function transformESDecorators(context) {
|
|
|
94179
94212
|
factory2.createReturnStatement(initializer)
|
|
94180
94213
|
]);
|
|
94181
94214
|
}
|
|
94215
|
+
if (classInfo) {
|
|
94216
|
+
if (isStatic(node)) {
|
|
94217
|
+
initializer = injectPendingInitializers(
|
|
94218
|
+
classInfo,
|
|
94219
|
+
/*isStatic*/
|
|
94220
|
+
true,
|
|
94221
|
+
initializer
|
|
94222
|
+
);
|
|
94223
|
+
if (extraInitializersName) {
|
|
94224
|
+
classInfo.pendingStaticInitializers ?? (classInfo.pendingStaticInitializers = []);
|
|
94225
|
+
classInfo.pendingStaticInitializers.push(
|
|
94226
|
+
emitHelpers().createRunInitializersHelper(
|
|
94227
|
+
classInfo.classThis ?? factory2.createThis(),
|
|
94228
|
+
extraInitializersName
|
|
94229
|
+
)
|
|
94230
|
+
);
|
|
94231
|
+
}
|
|
94232
|
+
} else {
|
|
94233
|
+
initializer = injectPendingInitializers(
|
|
94234
|
+
classInfo,
|
|
94235
|
+
/*isStatic*/
|
|
94236
|
+
false,
|
|
94237
|
+
initializer
|
|
94238
|
+
);
|
|
94239
|
+
if (extraInitializersName) {
|
|
94240
|
+
classInfo.pendingInstanceInitializers ?? (classInfo.pendingInstanceInitializers = []);
|
|
94241
|
+
classInfo.pendingInstanceInitializers.push(
|
|
94242
|
+
emitHelpers().createRunInitializersHelper(
|
|
94243
|
+
factory2.createThis(),
|
|
94244
|
+
extraInitializersName
|
|
94245
|
+
)
|
|
94246
|
+
);
|
|
94247
|
+
}
|
|
94248
|
+
}
|
|
94249
|
+
}
|
|
94182
94250
|
exitClassElement();
|
|
94183
94251
|
if (hasAccessorModifier(node) && descriptorName) {
|
|
94184
94252
|
const commentRange = getCommentRange(node);
|
|
@@ -94593,19 +94661,41 @@ function transformESDecorators(context) {
|
|
|
94593
94661
|
const expression = visitNode(node.expression, visitorFunc, isExpression);
|
|
94594
94662
|
return factory2.updatePartiallyEmittedExpression(node, expression);
|
|
94595
94663
|
}
|
|
94596
|
-
function
|
|
94597
|
-
if (some(
|
|
94598
|
-
if (
|
|
94599
|
-
|
|
94600
|
-
|
|
94664
|
+
function injectPendingExpressionsCommon(pendingExpressions2, expression) {
|
|
94665
|
+
if (some(pendingExpressions2)) {
|
|
94666
|
+
if (expression) {
|
|
94667
|
+
if (isParenthesizedExpression(expression)) {
|
|
94668
|
+
pendingExpressions2.push(expression.expression);
|
|
94669
|
+
expression = factory2.updateParenthesizedExpression(expression, factory2.inlineExpressions(pendingExpressions2));
|
|
94670
|
+
} else {
|
|
94671
|
+
pendingExpressions2.push(expression);
|
|
94672
|
+
expression = factory2.inlineExpressions(pendingExpressions2);
|
|
94673
|
+
}
|
|
94601
94674
|
} else {
|
|
94602
|
-
|
|
94603
|
-
expression = factory2.inlineExpressions(pendingExpressions);
|
|
94675
|
+
expression = factory2.inlineExpressions(pendingExpressions2);
|
|
94604
94676
|
}
|
|
94605
|
-
pendingExpressions = void 0;
|
|
94606
94677
|
}
|
|
94607
94678
|
return expression;
|
|
94608
94679
|
}
|
|
94680
|
+
function injectPendingExpressions(expression) {
|
|
94681
|
+
const result = injectPendingExpressionsCommon(pendingExpressions, expression);
|
|
94682
|
+
Debug.assertIsDefined(result);
|
|
94683
|
+
if (result !== expression) {
|
|
94684
|
+
pendingExpressions = void 0;
|
|
94685
|
+
}
|
|
94686
|
+
return result;
|
|
94687
|
+
}
|
|
94688
|
+
function injectPendingInitializers(classInfo2, isStatic2, expression) {
|
|
94689
|
+
const result = injectPendingExpressionsCommon(isStatic2 ? classInfo2.pendingStaticInitializers : classInfo2.pendingInstanceInitializers, expression);
|
|
94690
|
+
if (result !== expression) {
|
|
94691
|
+
if (isStatic2) {
|
|
94692
|
+
classInfo2.pendingStaticInitializers = void 0;
|
|
94693
|
+
} else {
|
|
94694
|
+
classInfo2.pendingInstanceInitializers = void 0;
|
|
94695
|
+
}
|
|
94696
|
+
}
|
|
94697
|
+
return result;
|
|
94698
|
+
}
|
|
94609
94699
|
function transformAllDecoratorsOfDeclaration(allDecorators) {
|
|
94610
94700
|
if (!allDecorators) {
|
|
94611
94701
|
return void 0;
|