typescript 5.0.0-dev.20230216 → 5.0.0-dev.20230218
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 +141 -68
- package/lib/tsserver.js +247 -92
- package/lib/tsserverlibrary.d.ts +13 -0
- package/lib/tsserverlibrary.js +246 -92
- package/lib/typescript.d.ts +13 -0
- package/lib/typescript.js +245 -92
- package/lib/typingsInstaller.js +41 -46
- package/package.json +1 -1
package/lib/tsc.js
CHANGED
|
@@ -23,7 +23,7 @@ var __export = (target, all) => {
|
|
|
23
23
|
|
|
24
24
|
// src/compiler/corePublic.ts
|
|
25
25
|
var versionMajorMinor = "5.0";
|
|
26
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
26
|
+
var version = `${versionMajorMinor}.0-dev.20230218`;
|
|
27
27
|
|
|
28
28
|
// src/compiler/core.ts
|
|
29
29
|
var emptyArray = [];
|
|
@@ -8467,18 +8467,18 @@ function isIdentifierText(name, languageVersion, identifierVariant) {
|
|
|
8467
8467
|
return true;
|
|
8468
8468
|
}
|
|
8469
8469
|
function createScanner(languageVersion, skipTrivia2, languageVariant = 0 /* Standard */, textInitial, onError, start, length2) {
|
|
8470
|
-
|
|
8471
|
-
|
|
8472
|
-
|
|
8473
|
-
|
|
8474
|
-
|
|
8475
|
-
|
|
8476
|
-
|
|
8477
|
-
|
|
8478
|
-
|
|
8479
|
-
|
|
8470
|
+
var text = textInitial;
|
|
8471
|
+
var pos;
|
|
8472
|
+
var end;
|
|
8473
|
+
var startPos;
|
|
8474
|
+
var tokenPos;
|
|
8475
|
+
var token;
|
|
8476
|
+
var tokenValue;
|
|
8477
|
+
var tokenFlags;
|
|
8478
|
+
var commentDirectives;
|
|
8479
|
+
var inJSDocType = 0;
|
|
8480
8480
|
setText(text, start, length2);
|
|
8481
|
-
|
|
8481
|
+
var scanner = {
|
|
8482
8482
|
getStartPos: () => startPos,
|
|
8483
8483
|
getTextPos: () => pos,
|
|
8484
8484
|
getToken: () => token,
|
|
@@ -24988,7 +24988,7 @@ function canHaveIllegalDecorators(node) {
|
|
|
24988
24988
|
}
|
|
24989
24989
|
function canHaveIllegalModifiers(node) {
|
|
24990
24990
|
const kind = node.kind;
|
|
24991
|
-
return kind === 172 /* ClassStaticBlockDeclaration */ || kind === 299 /* PropertyAssignment */ || kind === 300 /* ShorthandPropertyAssignment */ || kind ===
|
|
24991
|
+
return kind === 172 /* ClassStaticBlockDeclaration */ || kind === 299 /* PropertyAssignment */ || kind === 300 /* ShorthandPropertyAssignment */ || kind === 279 /* MissingDeclaration */ || kind === 267 /* NamespaceExportDeclaration */;
|
|
24992
24992
|
}
|
|
24993
24993
|
function isQuestionOrExclamationToken(node) {
|
|
24994
24994
|
return isQuestionToken(node) || isExclamationToken(node);
|
|
@@ -26008,22 +26008,22 @@ function isExternalModule(file) {
|
|
|
26008
26008
|
}
|
|
26009
26009
|
var Parser;
|
|
26010
26010
|
((Parser2) => {
|
|
26011
|
-
|
|
26011
|
+
var scanner = createScanner(
|
|
26012
26012
|
99 /* Latest */,
|
|
26013
26013
|
/*skipTrivia*/
|
|
26014
26014
|
true
|
|
26015
26015
|
);
|
|
26016
|
-
|
|
26017
|
-
|
|
26018
|
-
|
|
26019
|
-
|
|
26020
|
-
|
|
26021
|
-
|
|
26016
|
+
var disallowInAndDecoratorContext = 4096 /* DisallowInContext */ | 16384 /* DecoratorContext */;
|
|
26017
|
+
var NodeConstructor2;
|
|
26018
|
+
var TokenConstructor2;
|
|
26019
|
+
var IdentifierConstructor2;
|
|
26020
|
+
var PrivateIdentifierConstructor2;
|
|
26021
|
+
var SourceFileConstructor2;
|
|
26022
26022
|
function countNode(node) {
|
|
26023
26023
|
nodeCount++;
|
|
26024
26024
|
return node;
|
|
26025
26025
|
}
|
|
26026
|
-
|
|
26026
|
+
var baseNodeFactory = {
|
|
26027
26027
|
createBaseSourceFileNode: (kind) => countNode(new SourceFileConstructor2(
|
|
26028
26028
|
kind,
|
|
26029
26029
|
/*pos*/
|
|
@@ -26060,25 +26060,25 @@ var Parser;
|
|
|
26060
26060
|
0
|
|
26061
26061
|
))
|
|
26062
26062
|
};
|
|
26063
|
-
|
|
26064
|
-
|
|
26065
|
-
|
|
26066
|
-
|
|
26067
|
-
|
|
26068
|
-
|
|
26069
|
-
|
|
26070
|
-
|
|
26071
|
-
|
|
26072
|
-
|
|
26073
|
-
|
|
26074
|
-
|
|
26075
|
-
|
|
26076
|
-
|
|
26077
|
-
|
|
26078
|
-
|
|
26079
|
-
|
|
26080
|
-
|
|
26081
|
-
|
|
26063
|
+
var factory2 = createNodeFactory(1 /* NoParenthesizerRules */ | 2 /* NoNodeConverters */ | 8 /* NoOriginalNode */, baseNodeFactory);
|
|
26064
|
+
var fileName;
|
|
26065
|
+
var sourceFlags;
|
|
26066
|
+
var sourceText;
|
|
26067
|
+
var languageVersion;
|
|
26068
|
+
var scriptKind;
|
|
26069
|
+
var languageVariant;
|
|
26070
|
+
var parseDiagnostics;
|
|
26071
|
+
var jsDocDiagnostics;
|
|
26072
|
+
var syntaxCursor;
|
|
26073
|
+
var currentToken;
|
|
26074
|
+
var nodeCount;
|
|
26075
|
+
var identifiers;
|
|
26076
|
+
var identifierCount;
|
|
26077
|
+
var parsingContext;
|
|
26078
|
+
var notParenthesizedArrow;
|
|
26079
|
+
var contextFlags;
|
|
26080
|
+
var topLevel = true;
|
|
26081
|
+
var parseErrorBeforeNextFinishedNode = false;
|
|
26082
26082
|
function parseSourceFile(fileName2, sourceText2, languageVersion2, syntaxCursor2, setParentNodes = false, scriptKind2, setExternalModuleIndicatorOverride) {
|
|
26083
26083
|
var _a2;
|
|
26084
26084
|
scriptKind2 = ensureScriptKind(fileName2, scriptKind2);
|
|
@@ -28280,6 +28280,7 @@ var Parser;
|
|
|
28280
28280
|
const hasJSDoc = hasPrecedingJSDocComment();
|
|
28281
28281
|
const modifiers = parseModifiersForConstructorType();
|
|
28282
28282
|
const isConstructorType = parseOptional(103 /* NewKeyword */);
|
|
28283
|
+
Debug.assert(!modifiers || isConstructorType, "Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");
|
|
28283
28284
|
const typeParameters = parseTypeParameters();
|
|
28284
28285
|
const parameters = parseParameters(4 /* Type */);
|
|
28285
28286
|
const type = parseReturnType(
|
|
@@ -28288,8 +28289,6 @@ var Parser;
|
|
|
28288
28289
|
false
|
|
28289
28290
|
);
|
|
28290
28291
|
const node = isConstructorType ? factory2.createConstructorTypeNode(modifiers, typeParameters, parameters, type) : factory2.createFunctionTypeNode(typeParameters, parameters, type);
|
|
28291
|
-
if (!isConstructorType)
|
|
28292
|
-
node.modifiers = modifiers;
|
|
28293
28292
|
return withJSDoc(finishNode(node, pos), hasJSDoc);
|
|
28294
28293
|
}
|
|
28295
28294
|
function parseKeywordAndNoDot() {
|
|
@@ -29586,13 +29585,9 @@ var Parser;
|
|
|
29586
29585
|
function parseJsxClosingFragment(inExpressionContext) {
|
|
29587
29586
|
const pos = getNodePos();
|
|
29588
29587
|
parseExpected(30 /* LessThanSlashToken */);
|
|
29589
|
-
if (tokenIsIdentifierOrKeyword(token())) {
|
|
29590
|
-
parseErrorAtRange(parseJsxElementName(), Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment);
|
|
29591
|
-
}
|
|
29592
29588
|
if (parseExpected(
|
|
29593
29589
|
31 /* GreaterThanToken */,
|
|
29594
|
-
|
|
29595
|
-
void 0,
|
|
29590
|
+
Diagnostics.Expected_corresponding_closing_tag_for_JSX_fragment,
|
|
29596
29591
|
/*shouldAdvance*/
|
|
29597
29592
|
false
|
|
29598
29593
|
)) {
|
|
@@ -42585,6 +42580,7 @@ function createTypeChecker(host) {
|
|
|
42585
42580
|
let inlineLevel = 0;
|
|
42586
42581
|
let currentNode;
|
|
42587
42582
|
let varianceTypeParameter;
|
|
42583
|
+
let isInferencePartiallyBlocked = false;
|
|
42588
42584
|
const emptySymbols = createSymbolTable();
|
|
42589
42585
|
const arrayVariances = [1 /* Covariant */];
|
|
42590
42586
|
const compilerOptions = host.getCompilerOptions();
|
|
@@ -43016,7 +43012,9 @@ function createTypeChecker(host) {
|
|
|
43016
43012
|
toMarkSkip = toMarkSkip.parent;
|
|
43017
43013
|
} while (toMarkSkip && toMarkSkip !== containingCall);
|
|
43018
43014
|
}
|
|
43015
|
+
isInferencePartiallyBlocked = true;
|
|
43019
43016
|
const result = runWithoutResolvedSignatureCaching(node, fn);
|
|
43017
|
+
isInferencePartiallyBlocked = false;
|
|
43020
43018
|
if (containingCall) {
|
|
43021
43019
|
let toMarkSkip = node;
|
|
43022
43020
|
do {
|
|
@@ -47290,7 +47288,7 @@ function createTypeChecker(host) {
|
|
|
47290
47288
|
return result;
|
|
47291
47289
|
}
|
|
47292
47290
|
function createAnonymousTypeNode(type2) {
|
|
47293
|
-
var _a3;
|
|
47291
|
+
var _a3, _b2;
|
|
47294
47292
|
const typeId = type2.id;
|
|
47295
47293
|
const symbol = type2.symbol;
|
|
47296
47294
|
if (symbol) {
|
|
@@ -47316,6 +47314,20 @@ function createTypeChecker(host) {
|
|
|
47316
47314
|
return visitAndTransformType(type2, createTypeNodeFromObjectType);
|
|
47317
47315
|
}
|
|
47318
47316
|
} else {
|
|
47317
|
+
const isInstantiationExpressionType = !!(getObjectFlags(type2) & 8388608 /* InstantiationExpressionType */);
|
|
47318
|
+
if (isInstantiationExpressionType) {
|
|
47319
|
+
const instantiationExpressionType = type2;
|
|
47320
|
+
if (isTypeQueryNode(instantiationExpressionType.node)) {
|
|
47321
|
+
const typeNode = serializeExistingTypeNode(context, instantiationExpressionType.node);
|
|
47322
|
+
if (typeNode) {
|
|
47323
|
+
return typeNode;
|
|
47324
|
+
}
|
|
47325
|
+
}
|
|
47326
|
+
if ((_b2 = context.visitedTypes) == null ? void 0 : _b2.has(typeId)) {
|
|
47327
|
+
return createElidedInformationPlaceholder(context);
|
|
47328
|
+
}
|
|
47329
|
+
return visitAndTransformType(type2, createTypeNodeFromObjectType);
|
|
47330
|
+
}
|
|
47319
47331
|
return createTypeNodeFromObjectType(type2);
|
|
47320
47332
|
}
|
|
47321
47333
|
function shouldWriteTypeOfFunctionSymbol() {
|
|
@@ -47824,7 +47836,7 @@ function createTypeChecker(host) {
|
|
|
47824
47836
|
);
|
|
47825
47837
|
}
|
|
47826
47838
|
function signatureToSignatureDeclarationHelper(signature, kind, context, options) {
|
|
47827
|
-
var _a2, _b, _c, _d;
|
|
47839
|
+
var _a2, _b, _c, _d, _e;
|
|
47828
47840
|
const suppressAny = context.flags & 256 /* SuppressAnyReturnType */;
|
|
47829
47841
|
if (suppressAny)
|
|
47830
47842
|
context.flags &= ~256 /* SuppressAnyReturnType */;
|
|
@@ -47841,6 +47853,39 @@ function createTypeChecker(host) {
|
|
|
47841
47853
|
/*skipUnionExpanding*/
|
|
47842
47854
|
true
|
|
47843
47855
|
)[0];
|
|
47856
|
+
let cleanup;
|
|
47857
|
+
if (context.enclosingDeclaration && signature.declaration && signature.declaration !== context.enclosingDeclaration && !isInJSFile(signature.declaration) && some(expandedParams)) {
|
|
47858
|
+
const existingFakeScope = getNodeLinks(context.enclosingDeclaration).fakeScopeForSignatureDeclaration ? context.enclosingDeclaration : void 0;
|
|
47859
|
+
Debug.assertOptionalNode(existingFakeScope, isBlock);
|
|
47860
|
+
const locals = (_a2 = existingFakeScope == null ? void 0 : existingFakeScope.locals) != null ? _a2 : createSymbolTable();
|
|
47861
|
+
let newLocals;
|
|
47862
|
+
for (const param of expandedParams) {
|
|
47863
|
+
if (!locals.has(param.escapedName)) {
|
|
47864
|
+
newLocals = append(newLocals, param.escapedName);
|
|
47865
|
+
locals.set(param.escapedName, param);
|
|
47866
|
+
}
|
|
47867
|
+
}
|
|
47868
|
+
if (newLocals) {
|
|
47869
|
+
let removeNewLocals2 = function() {
|
|
47870
|
+
forEach(newLocals, (s) => locals.delete(s));
|
|
47871
|
+
};
|
|
47872
|
+
var removeNewLocals = removeNewLocals2;
|
|
47873
|
+
if (existingFakeScope) {
|
|
47874
|
+
cleanup = removeNewLocals2;
|
|
47875
|
+
} else {
|
|
47876
|
+
const fakeScope = parseNodeFactory.createBlock(emptyArray);
|
|
47877
|
+
getNodeLinks(fakeScope).fakeScopeForSignatureDeclaration = true;
|
|
47878
|
+
fakeScope.locals = locals;
|
|
47879
|
+
const saveEnclosingDeclaration = context.enclosingDeclaration;
|
|
47880
|
+
setParent(fakeScope, saveEnclosingDeclaration);
|
|
47881
|
+
context.enclosingDeclaration = fakeScope;
|
|
47882
|
+
cleanup = () => {
|
|
47883
|
+
context.enclosingDeclaration = saveEnclosingDeclaration;
|
|
47884
|
+
removeNewLocals2();
|
|
47885
|
+
};
|
|
47886
|
+
}
|
|
47887
|
+
}
|
|
47888
|
+
}
|
|
47844
47889
|
const parameters = (some(expandedParams, (p) => p !== expandedParams[expandedParams.length - 1] && !!(getCheckFlags(p) & 32768 /* RestParameter */)) ? signature.parameters : expandedParams).map((parameter) => symbolToParameterDeclaration(parameter, context, kind === 173 /* Constructor */, options == null ? void 0 : options.privateSymbolVisitor, options == null ? void 0 : options.bundledImports));
|
|
47845
47890
|
const thisParameter = context.flags & 33554432 /* OmitThisParameter */ ? void 0 : tryGetThisParameterDeclaration(signature, context);
|
|
47846
47891
|
if (thisParameter) {
|
|
@@ -47866,11 +47911,11 @@ function createTypeChecker(host) {
|
|
|
47866
47911
|
const flags = modifiersToFlags(modifiers);
|
|
47867
47912
|
modifiers = factory.createModifiersFromModifierFlags(flags | 256 /* Abstract */);
|
|
47868
47913
|
}
|
|
47869
|
-
const node = kind === 176 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 177 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 170 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (
|
|
47914
|
+
const node = kind === 176 /* CallSignature */ ? factory.createCallSignature(typeParameters, parameters, returnTypeNode) : kind === 177 /* ConstructSignature */ ? factory.createConstructSignature(typeParameters, parameters, returnTypeNode) : kind === 170 /* MethodSignature */ ? factory.createMethodSignature(modifiers, (_b = options == null ? void 0 : options.name) != null ? _b : factory.createIdentifier(""), options == null ? void 0 : options.questionToken, typeParameters, parameters, returnTypeNode) : kind === 171 /* MethodDeclaration */ ? factory.createMethodDeclaration(
|
|
47870
47915
|
modifiers,
|
|
47871
47916
|
/*asteriskToken*/
|
|
47872
47917
|
void 0,
|
|
47873
|
-
(
|
|
47918
|
+
(_c = options == null ? void 0 : options.name) != null ? _c : factory.createIdentifier(""),
|
|
47874
47919
|
/*questionToken*/
|
|
47875
47920
|
void 0,
|
|
47876
47921
|
typeParameters,
|
|
@@ -47885,14 +47930,14 @@ function createTypeChecker(host) {
|
|
|
47885
47930
|
void 0
|
|
47886
47931
|
) : kind === 174 /* GetAccessor */ ? factory.createGetAccessorDeclaration(
|
|
47887
47932
|
modifiers,
|
|
47888
|
-
(
|
|
47933
|
+
(_d = options == null ? void 0 : options.name) != null ? _d : factory.createIdentifier(""),
|
|
47889
47934
|
parameters,
|
|
47890
47935
|
returnTypeNode,
|
|
47891
47936
|
/*body*/
|
|
47892
47937
|
void 0
|
|
47893
47938
|
) : kind === 175 /* SetAccessor */ ? factory.createSetAccessorDeclaration(
|
|
47894
47939
|
modifiers,
|
|
47895
|
-
(
|
|
47940
|
+
(_e = options == null ? void 0 : options.name) != null ? _e : factory.createIdentifier(""),
|
|
47896
47941
|
parameters,
|
|
47897
47942
|
/*body*/
|
|
47898
47943
|
void 0
|
|
@@ -47927,6 +47972,7 @@ function createTypeChecker(host) {
|
|
|
47927
47972
|
if (typeArguments) {
|
|
47928
47973
|
node.typeArguments = factory.createNodeArray(typeArguments);
|
|
47929
47974
|
}
|
|
47975
|
+
cleanup == null ? void 0 : cleanup();
|
|
47930
47976
|
return node;
|
|
47931
47977
|
}
|
|
47932
47978
|
function tryGetThisParameterDeclaration(signature, context) {
|
|
@@ -48541,9 +48587,12 @@ function createTypeChecker(host) {
|
|
|
48541
48587
|
function existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type) {
|
|
48542
48588
|
return !(getObjectFlags(type) & 4 /* Reference */) || !isTypeReferenceNode(existing) || length(existing.typeArguments) >= getMinTypeArgumentCount(type.target.typeParameters);
|
|
48543
48589
|
}
|
|
48590
|
+
function getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration) {
|
|
48591
|
+
return getNodeLinks(enclosingDeclaration).fakeScopeForSignatureDeclaration ? enclosingDeclaration.parent : enclosingDeclaration;
|
|
48592
|
+
}
|
|
48544
48593
|
function serializeTypeForDeclaration(context, type, symbol, enclosingDeclaration, includePrivateSymbol, bundled) {
|
|
48545
48594
|
if (!isErrorType(type) && enclosingDeclaration) {
|
|
48546
|
-
const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, enclosingDeclaration);
|
|
48595
|
+
const declWithExistingAnnotation = getDeclarationWithTypeAnnotation(symbol, getEnclosingDeclarationIgnoringFakeScope(enclosingDeclaration));
|
|
48547
48596
|
if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) {
|
|
48548
48597
|
const existing = getEffectiveTypeAnnotationNode(declWithExistingAnnotation);
|
|
48549
48598
|
if (typeNodeIsEquivalentToType(existing, declWithExistingAnnotation, type) && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(existing, type)) {
|
|
@@ -48575,7 +48624,8 @@ function createTypeChecker(host) {
|
|
|
48575
48624
|
function serializeReturnTypeForSignature(context, type, signature, includePrivateSymbol, bundled) {
|
|
48576
48625
|
if (!isErrorType(type) && context.enclosingDeclaration) {
|
|
48577
48626
|
const annotation = signature.declaration && getEffectiveReturnTypeNode(signature.declaration);
|
|
48578
|
-
|
|
48627
|
+
const enclosingDeclarationIgnoringFakeScope = getEnclosingDeclarationIgnoringFakeScope(context.enclosingDeclaration);
|
|
48628
|
+
if (!!findAncestor(annotation, (n) => n === enclosingDeclarationIgnoringFakeScope) && annotation) {
|
|
48579
48629
|
const annotated = getTypeFromTypeNode(annotation);
|
|
48580
48630
|
const thisInstantiated = annotated.flags & 262144 /* TypeParameter */ && annotated.isThisType ? instantiateType(annotated, signature.mapper) : annotated;
|
|
48581
48631
|
if (thisInstantiated === type && existingTypeNodeIsNotReferenceOrIsReferenceWithCompatibleTypeArgumentCount(annotation, type)) {
|
|
@@ -53062,6 +53112,7 @@ function createTypeChecker(host) {
|
|
|
53062
53112
|
const typeParameter = getTypeParameterFromMappedType(type);
|
|
53063
53113
|
const constraintType = getConstraintTypeFromMappedType(type);
|
|
53064
53114
|
const nameType = getNameTypeFromMappedType(type.target || type);
|
|
53115
|
+
const isFilteringMappedType = nameType && isTypeAssignableTo(nameType, typeParameter);
|
|
53065
53116
|
const templateType = getTemplateTypeFromMappedType(type.target || type);
|
|
53066
53117
|
const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
|
|
53067
53118
|
const templateModifiers = getMappedTypeModifiers(type);
|
|
@@ -53099,7 +53150,7 @@ function createTypeChecker(host) {
|
|
|
53099
53150
|
prop.links.keyType = keyType;
|
|
53100
53151
|
if (modifiersProp) {
|
|
53101
53152
|
prop.links.syntheticOrigin = modifiersProp;
|
|
53102
|
-
prop.declarations = nameType
|
|
53153
|
+
prop.declarations = !nameType || isFilteringMappedType ? modifiersProp.declarations : void 0;
|
|
53103
53154
|
}
|
|
53104
53155
|
members.set(propName, prop);
|
|
53105
53156
|
}
|
|
@@ -61831,6 +61882,9 @@ function createTypeChecker(host) {
|
|
|
61831
61882
|
const key = `B${getTypeId(type)}`;
|
|
61832
61883
|
return (_a2 = getCachedType(key)) != null ? _a2 : setCachedType(key, mapType(type, getBaseTypeOfLiteralType));
|
|
61833
61884
|
}
|
|
61885
|
+
function getBaseTypeOfLiteralTypeForComparison(type) {
|
|
61886
|
+
return type.flags & (128 /* StringLiteral */ | 134217728 /* TemplateLiteral */ | 268435456 /* StringMapping */) ? stringType : type.flags & (256 /* NumberLiteral */ | 32 /* Enum */) ? numberType : type.flags & 2048 /* BigIntLiteral */ ? bigintType : type.flags & 512 /* BooleanLiteral */ ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getBaseTypeOfLiteralTypeForComparison) : type;
|
|
61887
|
+
}
|
|
61834
61888
|
function getWidenedLiteralType(type) {
|
|
61835
61889
|
return type.flags & 1056 /* EnumLike */ && isFreshLiteralType(type) ? getBaseTypeOfEnumLikeType(type) : type.flags & 128 /* StringLiteral */ && isFreshLiteralType(type) ? stringType : type.flags & 256 /* NumberLiteral */ && isFreshLiteralType(type) ? numberType : type.flags & 2048 /* BigIntLiteral */ && isFreshLiteralType(type) ? bigintType : type.flags & 512 /* BooleanLiteral */ && isFreshLiteralType(type) ? booleanType : type.flags & 1048576 /* Union */ ? mapType(type, getWidenedLiteralType) : type;
|
|
61836
61890
|
}
|
|
@@ -69655,7 +69709,7 @@ function createTypeChecker(host) {
|
|
|
69655
69709
|
const isTaggedTemplate = node.kind === 212 /* TaggedTemplateExpression */;
|
|
69656
69710
|
const isDecorator2 = node.kind === 167 /* Decorator */;
|
|
69657
69711
|
const isJsxOpeningOrSelfClosingElement = isJsxOpeningLikeElement(node);
|
|
69658
|
-
const reportErrors2 = !candidatesOutArray;
|
|
69712
|
+
const reportErrors2 = !isInferencePartiallyBlocked && !candidatesOutArray;
|
|
69659
69713
|
let typeArguments;
|
|
69660
69714
|
if (!isDecorator2 && !isSuperCall(node)) {
|
|
69661
69715
|
typeArguments = node.typeArguments;
|
|
@@ -72896,8 +72950,8 @@ function createTypeChecker(host) {
|
|
|
72896
72950
|
case 32 /* LessThanEqualsToken */:
|
|
72897
72951
|
case 33 /* GreaterThanEqualsToken */:
|
|
72898
72952
|
if (checkForDisallowedESSymbolOperand(operator)) {
|
|
72899
|
-
leftType =
|
|
72900
|
-
rightType =
|
|
72953
|
+
leftType = getBaseTypeOfLiteralTypeForComparison(checkNonNullType(leftType, left));
|
|
72954
|
+
rightType = getBaseTypeOfLiteralTypeForComparison(checkNonNullType(rightType, right));
|
|
72901
72955
|
reportOperatorErrorUnless((left2, right2) => {
|
|
72902
72956
|
if (isTypeAny(left2) || isTypeAny(right2)) {
|
|
72903
72957
|
return true;
|
|
@@ -74733,6 +74787,17 @@ function createTypeChecker(host) {
|
|
|
74733
74787
|
lastSeenNonAmbientDeclaration = node;
|
|
74734
74788
|
}
|
|
74735
74789
|
}
|
|
74790
|
+
if (isInJSFile(current) && isFunctionLike(current) && current.jsDoc) {
|
|
74791
|
+
for (const node2 of current.jsDoc) {
|
|
74792
|
+
if (node2.tags) {
|
|
74793
|
+
for (const tag of node2.tags) {
|
|
74794
|
+
if (isJSDocOverloadTag(tag)) {
|
|
74795
|
+
hasOverloads = true;
|
|
74796
|
+
}
|
|
74797
|
+
}
|
|
74798
|
+
}
|
|
74799
|
+
}
|
|
74800
|
+
}
|
|
74736
74801
|
}
|
|
74737
74802
|
}
|
|
74738
74803
|
if (multipleConstructorImplementation) {
|
|
@@ -74770,8 +74835,9 @@ function createTypeChecker(host) {
|
|
|
74770
74835
|
const bodySignature = getSignatureFromDeclaration(bodyDeclaration);
|
|
74771
74836
|
for (const signature of signatures) {
|
|
74772
74837
|
if (!isImplementationCompatibleWithOverload(bodySignature, signature)) {
|
|
74838
|
+
const errorNode = signature.declaration && isJSDocSignature(signature.declaration) ? signature.declaration.parent.tagName : signature.declaration;
|
|
74773
74839
|
addRelatedInfo(
|
|
74774
|
-
error(
|
|
74840
|
+
error(errorNode, Diagnostics.This_overload_signature_is_not_compatible_with_its_implementation_signature),
|
|
74775
74841
|
createDiagnosticForNode(bodyDeclaration, Diagnostics.The_implementation_signature_is_declared_here)
|
|
74776
74842
|
);
|
|
74777
74843
|
break;
|
|
@@ -77804,20 +77870,19 @@ function createTypeChecker(host) {
|
|
|
77804
77870
|
}
|
|
77805
77871
|
}
|
|
77806
77872
|
}
|
|
77807
|
-
function getMemberOverrideModifierStatus(node, member) {
|
|
77873
|
+
function getMemberOverrideModifierStatus(node, member, memberSymbol) {
|
|
77808
77874
|
if (!member.name) {
|
|
77809
77875
|
return 0 /* Ok */;
|
|
77810
77876
|
}
|
|
77811
|
-
const
|
|
77812
|
-
const type = getDeclaredTypeOfSymbol(
|
|
77877
|
+
const classSymbol = getSymbolOfDeclaration(node);
|
|
77878
|
+
const type = getDeclaredTypeOfSymbol(classSymbol);
|
|
77813
77879
|
const typeWithThis = getTypeWithThisArgument(type);
|
|
77814
|
-
const staticType = getTypeOfSymbol(
|
|
77880
|
+
const staticType = getTypeOfSymbol(classSymbol);
|
|
77815
77881
|
const baseTypeNode = getEffectiveBaseTypeNode(node);
|
|
77816
77882
|
const baseTypes = baseTypeNode && getBaseTypes(type);
|
|
77817
77883
|
const baseWithThis = (baseTypes == null ? void 0 : baseTypes.length) ? getTypeWithThisArgument(first(baseTypes), type.thisType) : void 0;
|
|
77818
77884
|
const baseStaticType = getBaseConstructorTypeOfClass(type);
|
|
77819
77885
|
const memberHasOverrideModifier = member.parent ? hasOverrideModifier(member) : hasSyntacticModifier(member, 16384 /* Override */);
|
|
77820
|
-
const memberName = unescapeLeadingUnderscores(getTextOfPropertyName(member.name));
|
|
77821
77886
|
return checkMemberForOverrideModifier(
|
|
77822
77887
|
node,
|
|
77823
77888
|
staticType,
|
|
@@ -77830,7 +77895,7 @@ function createTypeChecker(host) {
|
|
|
77830
77895
|
isStatic(member),
|
|
77831
77896
|
/* memberIsParameterProperty */
|
|
77832
77897
|
false,
|
|
77833
|
-
|
|
77898
|
+
symbolName(memberSymbol)
|
|
77834
77899
|
);
|
|
77835
77900
|
}
|
|
77836
77901
|
function getTargetSymbol(s) {
|
|
@@ -81387,7 +81452,6 @@ function createTypeChecker(host) {
|
|
|
81387
81452
|
case 299 /* PropertyAssignment */:
|
|
81388
81453
|
case 300 /* ShorthandPropertyAssignment */:
|
|
81389
81454
|
case 267 /* NamespaceExportDeclaration */:
|
|
81390
|
-
case 181 /* FunctionType */:
|
|
81391
81455
|
case 279 /* MissingDeclaration */:
|
|
81392
81456
|
return find(node.modifiers, isModifier);
|
|
81393
81457
|
default:
|
|
@@ -87634,7 +87698,16 @@ function transformClassFields(context) {
|
|
|
87634
87698
|
visitNode(node.initializer, (child) => namedEvaluationVisitor(child, referencedName), isExpression)
|
|
87635
87699
|
);
|
|
87636
87700
|
}
|
|
87637
|
-
return
|
|
87701
|
+
return factory2.updatePropertyDeclaration(
|
|
87702
|
+
node,
|
|
87703
|
+
visitNodes2(node.modifiers, modifierVisitor, isModifier),
|
|
87704
|
+
visitNode(node.name, propertyNameVisitor, isPropertyName),
|
|
87705
|
+
/*questionOrExclamationToken*/
|
|
87706
|
+
void 0,
|
|
87707
|
+
/*type*/
|
|
87708
|
+
void 0,
|
|
87709
|
+
visitNode(node.initializer, visitor, isExpression)
|
|
87710
|
+
);
|
|
87638
87711
|
}
|
|
87639
87712
|
function transformPublicFieldInitializer(node) {
|
|
87640
87713
|
if (shouldTransformInitializers && !isAutoAccessorPropertyDeclaration(node)) {
|