typescript 5.1.0-dev.20230315 → 5.1.0-dev.20230317
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 +88 -76
- package/lib/tsserver.js +116 -100
- package/lib/tsserverlibrary.js +113 -99
- package/lib/typescript.js +89 -78
- package/lib/typingsInstaller.js +13 -34
- package/package.json +3 -3
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.1";
|
|
26
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
26
|
+
var version = `${versionMajorMinor}.0-dev.20230317`;
|
|
27
27
|
|
|
28
28
|
// src/compiler/core.ts
|
|
29
29
|
var emptyArray = [];
|
|
@@ -2645,28 +2645,6 @@ function tryGetNativePerformanceHooks() {
|
|
|
2645
2645
|
var timestamp = nativePerformance ? () => nativePerformance.now() : Date.now ? Date.now : () => +/* @__PURE__ */ new Date();
|
|
2646
2646
|
|
|
2647
2647
|
// src/compiler/perfLogger.ts
|
|
2648
|
-
var nullLogger = {
|
|
2649
|
-
logEvent: noop,
|
|
2650
|
-
logErrEvent: noop,
|
|
2651
|
-
logPerfEvent: noop,
|
|
2652
|
-
logInfoEvent: noop,
|
|
2653
|
-
logStartCommand: noop,
|
|
2654
|
-
logStopCommand: noop,
|
|
2655
|
-
logStartUpdateProgram: noop,
|
|
2656
|
-
logStopUpdateProgram: noop,
|
|
2657
|
-
logStartUpdateGraph: noop,
|
|
2658
|
-
logStopUpdateGraph: noop,
|
|
2659
|
-
logStartResolveModule: noop,
|
|
2660
|
-
logStopResolveModule: noop,
|
|
2661
|
-
logStartParseSourceFile: noop,
|
|
2662
|
-
logStopParseSourceFile: noop,
|
|
2663
|
-
logStartReadFile: noop,
|
|
2664
|
-
logStopReadFile: noop,
|
|
2665
|
-
logStartBindFile: noop,
|
|
2666
|
-
logStopBindFile: noop,
|
|
2667
|
-
logStartScheduledOperation: noop,
|
|
2668
|
-
logStopScheduledOperation: noop
|
|
2669
|
-
};
|
|
2670
2648
|
var etwModule;
|
|
2671
2649
|
var _a;
|
|
2672
2650
|
try {
|
|
@@ -2675,7 +2653,7 @@ try {
|
|
|
2675
2653
|
} catch (e) {
|
|
2676
2654
|
etwModule = void 0;
|
|
2677
2655
|
}
|
|
2678
|
-
var perfLogger = (etwModule == null ? void 0 : etwModule.logEvent) ? etwModule :
|
|
2656
|
+
var perfLogger = (etwModule == null ? void 0 : etwModule.logEvent) ? etwModule : void 0;
|
|
2679
2657
|
|
|
2680
2658
|
// src/compiler/_namespaces/ts.performance.ts
|
|
2681
2659
|
var ts_performance_exports = {};
|
|
@@ -5168,13 +5146,15 @@ var sys = (() => {
|
|
|
5168
5146
|
return buffer.toString("utf8");
|
|
5169
5147
|
}
|
|
5170
5148
|
function readFile(fileName, _encoding) {
|
|
5171
|
-
|
|
5149
|
+
var _a2, _b;
|
|
5150
|
+
(_a2 = perfLogger) == null ? void 0 : _a2.logStartReadFile(fileName);
|
|
5172
5151
|
const file = readFileWorker(fileName, _encoding);
|
|
5173
|
-
perfLogger.logStopReadFile();
|
|
5152
|
+
(_b = perfLogger) == null ? void 0 : _b.logStopReadFile();
|
|
5174
5153
|
return file;
|
|
5175
5154
|
}
|
|
5176
5155
|
function writeFile2(fileName, data, writeByteOrderMark) {
|
|
5177
|
-
|
|
5156
|
+
var _a2;
|
|
5157
|
+
(_a2 = perfLogger) == null ? void 0 : _a2.logEvent("WriteFile: " + fileName);
|
|
5178
5158
|
if (writeByteOrderMark) {
|
|
5179
5159
|
data = byteOrderMarkIndicator + data;
|
|
5180
5160
|
}
|
|
@@ -5195,7 +5175,8 @@ var sys = (() => {
|
|
|
5195
5175
|
}
|
|
5196
5176
|
}
|
|
5197
5177
|
function getAccessibleFileSystemEntries(path) {
|
|
5198
|
-
|
|
5178
|
+
var _a2;
|
|
5179
|
+
(_a2 = perfLogger) == null ? void 0 : _a2.logEvent("ReadDir: " + (path || "."));
|
|
5199
5180
|
try {
|
|
5200
5181
|
const entries = _fs.readdirSync(path || ".", { withFileTypes: true });
|
|
5201
5182
|
const files = [];
|
|
@@ -25938,7 +25919,7 @@ function setExternalModuleIndicator(sourceFile) {
|
|
|
25938
25919
|
sourceFile.externalModuleIndicator = isFileProbablyExternalModule(sourceFile);
|
|
25939
25920
|
}
|
|
25940
25921
|
function createSourceFile(fileName, sourceText, languageVersionOrOptions, setParentNodes = false, scriptKind) {
|
|
25941
|
-
var _a2, _b;
|
|
25922
|
+
var _a2, _b, _c, _d;
|
|
25942
25923
|
(_a2 = tracing) == null ? void 0 : _a2.push(
|
|
25943
25924
|
tracing.Phase.Parse,
|
|
25944
25925
|
"createSourceFile",
|
|
@@ -25948,7 +25929,7 @@ function createSourceFile(fileName, sourceText, languageVersionOrOptions, setPar
|
|
|
25948
25929
|
);
|
|
25949
25930
|
mark("beforeParse");
|
|
25950
25931
|
let result;
|
|
25951
|
-
perfLogger.logStartParseSourceFile(fileName);
|
|
25932
|
+
(_b = perfLogger) == null ? void 0 : _b.logStartParseSourceFile(fileName);
|
|
25952
25933
|
const {
|
|
25953
25934
|
languageVersion,
|
|
25954
25935
|
setExternalModuleIndicator: overrideSetExternalModuleIndicator,
|
|
@@ -25981,10 +25962,10 @@ function createSourceFile(fileName, sourceText, languageVersionOrOptions, setPar
|
|
|
25981
25962
|
setIndicator
|
|
25982
25963
|
);
|
|
25983
25964
|
}
|
|
25984
|
-
perfLogger.logStopParseSourceFile();
|
|
25965
|
+
(_c = perfLogger) == null ? void 0 : _c.logStopParseSourceFile();
|
|
25985
25966
|
mark("afterParse");
|
|
25986
25967
|
measure("Parse", "beforeParse", "afterParse");
|
|
25987
|
-
(
|
|
25968
|
+
(_d = tracing) == null ? void 0 : _d.pop();
|
|
25988
25969
|
return result;
|
|
25989
25970
|
}
|
|
25990
25971
|
function parseIsolatedEntityName(text, languageVersion) {
|
|
@@ -37167,6 +37148,7 @@ function createTypeReferenceDirectiveResolutionCache(currentDirectory, getCanoni
|
|
|
37167
37148
|
);
|
|
37168
37149
|
}
|
|
37169
37150
|
function resolveModuleName(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode) {
|
|
37151
|
+
var _a2, _b, _c;
|
|
37170
37152
|
const traceEnabled = isTraceEnabled(compilerOptions, host);
|
|
37171
37153
|
if (redirectedReference) {
|
|
37172
37154
|
compilerOptions = redirectedReference.commandLine.options;
|
|
@@ -37208,10 +37190,7 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
|
|
|
37208
37190
|
trace(host, Diagnostics.Explicitly_specified_module_resolution_kind_Colon_0, ModuleResolutionKind[moduleResolution]);
|
|
37209
37191
|
}
|
|
37210
37192
|
}
|
|
37211
|
-
perfLogger.logStartResolveModule(
|
|
37212
|
-
moduleName
|
|
37213
|
-
/* , containingFile, ModuleResolutionKind[moduleResolution]*/
|
|
37214
|
-
);
|
|
37193
|
+
(_a2 = perfLogger) == null ? void 0 : _a2.logStartResolveModule(moduleName);
|
|
37215
37194
|
switch (moduleResolution) {
|
|
37216
37195
|
case 3 /* Node16 */:
|
|
37217
37196
|
result = node16ModuleNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference, resolutionMode);
|
|
@@ -37232,8 +37211,8 @@ function resolveModuleName(moduleName, containingFile, compilerOptions, host, ca
|
|
|
37232
37211
|
return Debug.fail(`Unexpected moduleResolution: ${moduleResolution}`);
|
|
37233
37212
|
}
|
|
37234
37213
|
if (result && result.resolvedModule)
|
|
37235
|
-
perfLogger.logInfoEvent(`Module "${moduleName}" resolved to "${result.resolvedModule.resolvedFileName}"`);
|
|
37236
|
-
perfLogger.logStopResolveModule(result && result.resolvedModule ? "" + result.resolvedModule.resolvedFileName : "null");
|
|
37214
|
+
(_b = perfLogger) == null ? void 0 : _b.logInfoEvent(`Module "${moduleName}" resolved to "${result.resolvedModule.resolvedFileName}"`);
|
|
37215
|
+
(_c = perfLogger) == null ? void 0 : _c.logStopResolveModule(result && result.resolvedModule ? "" + result.resolvedModule.resolvedFileName : "null");
|
|
37237
37216
|
cache == null ? void 0 : cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(moduleName, resolutionMode, result);
|
|
37238
37217
|
if (!isExternalModuleNameRelative(moduleName)) {
|
|
37239
37218
|
cache == null ? void 0 : cache.getOrCreateCacheForNonRelativeName(moduleName, resolutionMode, redirectedReference).set(containingDirectory, result);
|
|
@@ -38884,10 +38863,11 @@ function initFlowNode(node) {
|
|
|
38884
38863
|
}
|
|
38885
38864
|
var binder = /* @__PURE__ */ createBinder();
|
|
38886
38865
|
function bindSourceFile(file, options) {
|
|
38866
|
+
var _a2, _b;
|
|
38887
38867
|
mark("beforeBind");
|
|
38888
|
-
perfLogger.logStartBindFile("" + file.fileName);
|
|
38868
|
+
(_a2 = perfLogger) == null ? void 0 : _a2.logStartBindFile("" + file.fileName);
|
|
38889
38869
|
binder(file, options);
|
|
38890
|
-
perfLogger.logStopBindFile();
|
|
38870
|
+
(_b = perfLogger) == null ? void 0 : _b.logStopBindFile();
|
|
38891
38871
|
mark("afterBind");
|
|
38892
38872
|
measure("Bind", "beforeBind", "afterBind");
|
|
38893
38873
|
}
|
|
@@ -45969,6 +45949,10 @@ function createTypeChecker(host) {
|
|
|
45969
45949
|
return;
|
|
45970
45950
|
merged.exports.set(name, merged.exports.has(name) ? mergeSymbol(merged.exports.get(name), s) : s);
|
|
45971
45951
|
});
|
|
45952
|
+
if (merged === exported) {
|
|
45953
|
+
getSymbolLinks(merged).resolvedExports = void 0;
|
|
45954
|
+
getSymbolLinks(merged).resolvedMembers = void 0;
|
|
45955
|
+
}
|
|
45972
45956
|
getSymbolLinks(merged).cjsExportMerged = merged;
|
|
45973
45957
|
return links.cjsExportMerged = merged;
|
|
45974
45958
|
}
|
|
@@ -46002,7 +45986,7 @@ function createTypeChecker(host) {
|
|
|
46002
45986
|
/*skipObjectFunctionPropertyAugment*/
|
|
46003
45987
|
true
|
|
46004
45988
|
) || isEsmCjsRef) {
|
|
46005
|
-
const moduleType = getTypeWithSyntheticDefaultImportType(type, symbol, moduleSymbol, reference);
|
|
45989
|
+
const moduleType = type.flags & 3670016 /* StructuredType */ ? getTypeWithSyntheticDefaultImportType(type, symbol, moduleSymbol, reference) : createDefaultPropertyWrapperForModule(symbol, symbol.parent);
|
|
46006
45990
|
return cloneTypeAsModuleType(symbol, moduleType, referenceParent);
|
|
46007
45991
|
}
|
|
46008
45992
|
}
|
|
@@ -49422,7 +49406,8 @@ function createTypeChecker(host) {
|
|
|
49422
49406
|
), modifierFlags);
|
|
49423
49407
|
}
|
|
49424
49408
|
function getNamespaceMembersForSerialization(symbol) {
|
|
49425
|
-
|
|
49409
|
+
const exports = getExportsOfSymbol(symbol);
|
|
49410
|
+
return !exports ? [] : filter(arrayFrom(exports.values()), (m) => isNamespaceMember(m) && isIdentifierText(m.escapedName, 99 /* ESNext */));
|
|
49426
49411
|
}
|
|
49427
49412
|
function isTypeOnlyNamespace(symbol) {
|
|
49428
49413
|
return every(getNamespaceMembersForSerialization(symbol), (m) => !(getAllSymbolFlags(resolveSymbol(m)) & 111551 /* Value */));
|
|
@@ -53225,9 +53210,10 @@ function createTypeChecker(host) {
|
|
|
53225
53210
|
setStructuredTypeMembers(type, emptySymbols, emptyArray, emptyArray, emptyArray);
|
|
53226
53211
|
const typeParameter = getTypeParameterFromMappedType(type);
|
|
53227
53212
|
const constraintType = getConstraintTypeFromMappedType(type);
|
|
53228
|
-
const
|
|
53229
|
-
const
|
|
53230
|
-
const
|
|
53213
|
+
const mappedType = type.target || type;
|
|
53214
|
+
const nameType = getNameTypeFromMappedType(mappedType);
|
|
53215
|
+
const shouldLinkPropDeclarations = !nameType || isFilteringMappedType(mappedType);
|
|
53216
|
+
const templateType = getTemplateTypeFromMappedType(mappedType);
|
|
53231
53217
|
const modifiersType = getApparentType(getModifiersTypeFromMappedType(type));
|
|
53232
53218
|
const templateModifiers = getMappedTypeModifiers(type);
|
|
53233
53219
|
const include = keyofStringsOnly ? 128 /* StringLiteral */ : 8576 /* StringOrNumberLiteralOrUnique */;
|
|
@@ -53264,7 +53250,7 @@ function createTypeChecker(host) {
|
|
|
53264
53250
|
prop.links.keyType = keyType;
|
|
53265
53251
|
if (modifiersProp) {
|
|
53266
53252
|
prop.links.syntheticOrigin = modifiersProp;
|
|
53267
|
-
prop.declarations =
|
|
53253
|
+
prop.declarations = shouldLinkPropDeclarations ? modifiersProp.declarations : void 0;
|
|
53268
53254
|
}
|
|
53269
53255
|
members.set(propName, prop);
|
|
53270
53256
|
}
|
|
@@ -53370,6 +53356,10 @@ function createTypeChecker(host) {
|
|
|
53370
53356
|
}
|
|
53371
53357
|
return false;
|
|
53372
53358
|
}
|
|
53359
|
+
function isFilteringMappedType(type) {
|
|
53360
|
+
const nameType = getNameTypeFromMappedType(type);
|
|
53361
|
+
return !!nameType && isTypeAssignableTo(nameType, getTypeParameterFromMappedType(type));
|
|
53362
|
+
}
|
|
53373
53363
|
function resolveStructuredTypeMembers(type) {
|
|
53374
53364
|
if (!type.members) {
|
|
53375
53365
|
if (type.flags & 524288 /* Object */) {
|
|
@@ -53729,7 +53719,7 @@ function createTypeChecker(host) {
|
|
|
53729
53719
|
const typeVariable = getHomomorphicTypeVariable(type);
|
|
53730
53720
|
if (typeVariable && !type.declaration.nameType) {
|
|
53731
53721
|
const constraint = getConstraintOfTypeParameter(typeVariable);
|
|
53732
|
-
if (constraint &&
|
|
53722
|
+
if (constraint && isArrayType(constraint)) {
|
|
53733
53723
|
return instantiateType(type, prependTypeMapping(typeVariable, constraint, type.mapper));
|
|
53734
53724
|
}
|
|
53735
53725
|
}
|
|
@@ -56909,8 +56899,7 @@ function createTypeChecker(host) {
|
|
|
56909
56899
|
}
|
|
56910
56900
|
}
|
|
56911
56901
|
if (isGenericMappedType(objectType)) {
|
|
56912
|
-
|
|
56913
|
-
if (!nameType || isTypeAssignableTo(nameType, getTypeParameterFromMappedType(objectType))) {
|
|
56902
|
+
if (!getNameTypeFromMappedType(objectType) || isFilteringMappedType(objectType)) {
|
|
56914
56903
|
return type[cache] = mapType(substituteIndexedMappedType(objectType, type.indexType), (t) => getSimplifiedType(t, writing));
|
|
56915
56904
|
}
|
|
56916
56905
|
}
|
|
@@ -58646,8 +58635,20 @@ function createTypeChecker(host) {
|
|
|
58646
58635
|
return result;
|
|
58647
58636
|
}
|
|
58648
58637
|
const moreThanOneRealChildren = length(validChildren) > 1;
|
|
58649
|
-
|
|
58650
|
-
|
|
58638
|
+
let arrayLikeTargetParts;
|
|
58639
|
+
let nonArrayLikeTargetParts;
|
|
58640
|
+
const iterableType = getGlobalIterableType(
|
|
58641
|
+
/*reportErrors*/
|
|
58642
|
+
false
|
|
58643
|
+
);
|
|
58644
|
+
if (iterableType !== emptyGenericType) {
|
|
58645
|
+
const anyIterable = createIterableType(anyType);
|
|
58646
|
+
arrayLikeTargetParts = filterType(childrenTargetType, (t) => isTypeAssignableTo(t, anyIterable));
|
|
58647
|
+
nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isTypeAssignableTo(t, anyIterable));
|
|
58648
|
+
} else {
|
|
58649
|
+
arrayLikeTargetParts = filterType(childrenTargetType, isArrayOrTupleLikeType);
|
|
58650
|
+
nonArrayLikeTargetParts = filterType(childrenTargetType, (t) => !isArrayOrTupleLikeType(t));
|
|
58651
|
+
}
|
|
58651
58652
|
if (moreThanOneRealChildren) {
|
|
58652
58653
|
if (arrayLikeTargetParts !== neverType) {
|
|
58653
58654
|
const realSource = createTupleType(checkJsxChildren(containingElement, 0 /* Normal */));
|
|
@@ -61927,13 +61928,6 @@ function createTypeChecker(host) {
|
|
|
61927
61928
|
function isArrayOrTupleLikeType(type) {
|
|
61928
61929
|
return isArrayLikeType(type) || isTupleLikeType(type);
|
|
61929
61930
|
}
|
|
61930
|
-
function isAssignableToAvailableAnyIterable(type) {
|
|
61931
|
-
const anyIterable = getGlobalIterableType(
|
|
61932
|
-
/*reportErrors*/
|
|
61933
|
-
false
|
|
61934
|
-
) !== emptyGenericType && createIterableType(anyType);
|
|
61935
|
-
return anyIterable ? isTypeAssignableTo(type, anyIterable) : isArrayOrTupleLikeType(type);
|
|
61936
|
-
}
|
|
61937
61931
|
function getTupleElementType(type, index) {
|
|
61938
61932
|
const propType = getTypeOfPropertyOfType(type, "" + index);
|
|
61939
61933
|
if (propType) {
|
|
@@ -66531,7 +66525,7 @@ function createTypeChecker(host) {
|
|
|
66531
66525
|
return void 0;
|
|
66532
66526
|
}
|
|
66533
66527
|
}
|
|
66534
|
-
return isInJSFile(decl2) ? void 0 : getTypeOfExpression(binaryExpression.left);
|
|
66528
|
+
return isInJSFile(decl2) || decl2 === binaryExpression.left ? void 0 : getTypeOfExpression(binaryExpression.left);
|
|
66535
66529
|
}
|
|
66536
66530
|
case 1 /* ExportsProperty */:
|
|
66537
66531
|
case 6 /* Prototype */:
|
|
@@ -66687,7 +66681,7 @@ function createTypeChecker(host) {
|
|
|
66687
66681
|
return void 0;
|
|
66688
66682
|
}
|
|
66689
66683
|
function getContextualTypeForElementExpression(arrayContextualType, index) {
|
|
66690
|
-
return arrayContextualType && (index >= 0 && getTypeOfPropertyOfContextualType(
|
|
66684
|
+
return arrayContextualType && (index >= 0 && getTypeOfPropertyOfContextualType(arrayContextualType, "" + index) || mapType(
|
|
66691
66685
|
arrayContextualType,
|
|
66692
66686
|
(t) => isTupleType(t) ? getElementTypeOfSliceOfTupleType(
|
|
66693
66687
|
t,
|
|
@@ -67429,7 +67423,7 @@ function createTypeChecker(host) {
|
|
|
67429
67423
|
const inConstContext = isConstContext(node);
|
|
67430
67424
|
const checkFlags = inConstContext ? 8 /* Readonly */ : 0;
|
|
67431
67425
|
const isInJavascript = isInJSFile(node) && !isInJsonFile(node);
|
|
67432
|
-
const enumTag = getJSDocEnumTag(node);
|
|
67426
|
+
const enumTag = isInJavascript ? getJSDocEnumTag(node) : void 0;
|
|
67433
67427
|
const isJSObjectLiteral = !contextualType && isInJavascript && !enumTag;
|
|
67434
67428
|
let objectFlags = freshObjectLiteralFlag;
|
|
67435
67429
|
let patternWithComputedProperties = false;
|
|
@@ -67655,7 +67649,7 @@ function createTypeChecker(host) {
|
|
|
67655
67649
|
}
|
|
67656
67650
|
function createJsxAttributesTypeFromAttributesProperty(openingLikeElement, checkMode) {
|
|
67657
67651
|
const attributes = openingLikeElement.attributes;
|
|
67658
|
-
const
|
|
67652
|
+
const contextualType = getContextualType(attributes, 0 /* None */);
|
|
67659
67653
|
const allAttributesTable = strictNullChecks ? createSymbolTable() : void 0;
|
|
67660
67654
|
let attributesTable = createSymbolTable();
|
|
67661
67655
|
let spread = emptyJsxObjectType;
|
|
@@ -67682,12 +67676,18 @@ function createTypeChecker(host) {
|
|
|
67682
67676
|
if (attributeDecl.name.escapedText === jsxChildrenPropertyName) {
|
|
67683
67677
|
explicitlySpecifyChildrenAttribute = true;
|
|
67684
67678
|
}
|
|
67685
|
-
if (
|
|
67686
|
-
const prop = getPropertyOfType(
|
|
67679
|
+
if (contextualType) {
|
|
67680
|
+
const prop = getPropertyOfType(contextualType, member.escapedName);
|
|
67687
67681
|
if (prop && prop.declarations && isDeprecatedSymbol(prop)) {
|
|
67688
67682
|
addDeprecatedSuggestion(attributeDecl.name, prop.declarations, attributeDecl.name.escapedText);
|
|
67689
67683
|
}
|
|
67690
67684
|
}
|
|
67685
|
+
if (contextualType && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && isContextSensitive(attributeDecl)) {
|
|
67686
|
+
const inferenceContext = getInferenceContext(attributes);
|
|
67687
|
+
Debug.assert(inferenceContext);
|
|
67688
|
+
const inferenceNode = attributeDecl.initializer.expression;
|
|
67689
|
+
addIntraExpressionInferenceSite(inferenceContext, inferenceNode, exprType);
|
|
67690
|
+
}
|
|
67691
67691
|
} else {
|
|
67692
67692
|
Debug.assert(attributeDecl.kind === 291 /* JsxSpreadAttribute */);
|
|
67693
67693
|
if (attributesTable.size > 0) {
|
|
@@ -67742,12 +67742,12 @@ function createTypeChecker(host) {
|
|
|
67742
67742
|
if (explicitlySpecifyChildrenAttribute) {
|
|
67743
67743
|
error(attributes, Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, unescapeLeadingUnderscores(jsxChildrenPropertyName));
|
|
67744
67744
|
}
|
|
67745
|
-
const
|
|
67745
|
+
const contextualType2 = getApparentTypeOfContextualType(
|
|
67746
67746
|
openingLikeElement.attributes,
|
|
67747
67747
|
/*contextFlags*/
|
|
67748
67748
|
void 0
|
|
67749
67749
|
);
|
|
67750
|
-
const childrenContextualType =
|
|
67750
|
+
const childrenContextualType = contextualType2 && getTypeOfPropertyOfContextualType(contextualType2, jsxChildrenPropertyName);
|
|
67751
67751
|
const childrenPropSymbol = createSymbol(4 /* Property */, jsxChildrenPropertyName);
|
|
67752
67752
|
childrenPropSymbol.links.type = childrenTypes.length === 1 ? childrenTypes[0] : childrenContextualType && someType(childrenContextualType, isTupleLikeType) ? createTupleType(childrenTypes) : createArrayType(getUnionType(childrenTypes));
|
|
67753
67753
|
childrenPropSymbol.valueDeclaration = factory.createPropertySignature(
|
|
@@ -72180,6 +72180,11 @@ function createTypeChecker(host) {
|
|
|
72180
72180
|
} else {
|
|
72181
72181
|
assignNonContextualParameterTypes(signature);
|
|
72182
72182
|
}
|
|
72183
|
+
} else if (contextualSignature && !node.typeParameters && contextualSignature.parameters.length > node.parameters.length) {
|
|
72184
|
+
const inferenceContext = getInferenceContext(node);
|
|
72185
|
+
if (checkMode && checkMode & 2 /* Inferential */) {
|
|
72186
|
+
inferFromAnnotatedParameters(signature, contextualSignature, inferenceContext);
|
|
72187
|
+
}
|
|
72183
72188
|
}
|
|
72184
72189
|
if (contextualSignature && !getReturnTypeFromAnnotation(node) && !signature.resolvedReturnType) {
|
|
72185
72190
|
const returnType = getReturnTypeFromBody(node, checkMode);
|
|
@@ -91139,8 +91144,11 @@ function transformESDecorators(context) {
|
|
|
91139
91144
|
false,
|
|
91140
91145
|
visitor
|
|
91141
91146
|
);
|
|
91147
|
+
const superStatementIndex = findSuperStatementIndex(node.body.statements, nonPrologueStart);
|
|
91148
|
+
const indexOfFirstStatementAfterSuper = superStatementIndex >= 0 ? superStatementIndex + 1 : void 0;
|
|
91149
|
+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, nonPrologueStart, indexOfFirstStatementAfterSuper ? indexOfFirstStatementAfterSuper - nonPrologueStart : void 0));
|
|
91142
91150
|
addRange(statements, initializerStatements);
|
|
91143
|
-
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement,
|
|
91151
|
+
addRange(statements, visitNodes2(node.body.statements, visitor, isStatement, indexOfFirstStatementAfterSuper));
|
|
91144
91152
|
body = factory2.createBlock(
|
|
91145
91153
|
statements,
|
|
91146
91154
|
/*multiLine*/
|
|
@@ -103932,7 +103940,7 @@ function transformNodeModule(context) {
|
|
|
103932
103940
|
|
|
103933
103941
|
// src/compiler/transformers/declarations/diagnostics.ts
|
|
103934
103942
|
function canProduceDiagnostics(node) {
|
|
103935
|
-
return isVariableDeclaration(node) || isPropertyDeclaration(node) || isPropertySignature(node) || isBindingElement(node) || isSetAccessor(node) || isGetAccessor(node) || isConstructSignatureDeclaration(node) || isCallSignatureDeclaration(node) || isMethodDeclaration(node) || isMethodSignature(node) || isFunctionDeclaration(node) || isParameter(node) || isTypeParameterDeclaration(node) || isExpressionWithTypeArguments(node) || isImportEqualsDeclaration(node) || isTypeAliasDeclaration(node) || isConstructorDeclaration(node) || isIndexSignatureDeclaration(node) || isPropertyAccessExpression(node) || isJSDocTypeAlias(node);
|
|
103943
|
+
return isVariableDeclaration(node) || isPropertyDeclaration(node) || isPropertySignature(node) || isBindingElement(node) || isSetAccessor(node) || isGetAccessor(node) || isConstructSignatureDeclaration(node) || isCallSignatureDeclaration(node) || isMethodDeclaration(node) || isMethodSignature(node) || isFunctionDeclaration(node) || isParameter(node) || isTypeParameterDeclaration(node) || isExpressionWithTypeArguments(node) || isImportEqualsDeclaration(node) || isTypeAliasDeclaration(node) || isConstructorDeclaration(node) || isIndexSignatureDeclaration(node) || isPropertyAccessExpression(node) || isElementAccessExpression(node) || isBinaryExpression(node) || isJSDocTypeAlias(node);
|
|
103936
103944
|
}
|
|
103937
103945
|
function createGetSymbolAccessibilityDiagnosticForNodeName(node) {
|
|
103938
103946
|
if (isSetAccessor(node) || isGetAccessor(node)) {
|
|
@@ -103978,7 +103986,7 @@ function createGetSymbolAccessibilityDiagnosticForNodeName(node) {
|
|
|
103978
103986
|
}
|
|
103979
103987
|
}
|
|
103980
103988
|
function createGetSymbolAccessibilityDiagnosticForNode(node) {
|
|
103981
|
-
if (isVariableDeclaration(node) || isPropertyDeclaration(node) || isPropertySignature(node) || isPropertyAccessExpression(node) || isBindingElement(node) || isConstructorDeclaration(node)) {
|
|
103989
|
+
if (isVariableDeclaration(node) || isPropertyDeclaration(node) || isPropertySignature(node) || isPropertyAccessExpression(node) || isElementAccessExpression(node) || isBinaryExpression(node) || isBindingElement(node) || isConstructorDeclaration(node)) {
|
|
103982
103990
|
return getVariableDeclarationTypeVisibilityError;
|
|
103983
103991
|
} else if (isSetAccessor(node) || isGetAccessor(node)) {
|
|
103984
103992
|
return getAccessorDeclarationTypeVisibilityError;
|
|
@@ -104003,7 +104011,7 @@ function createGetSymbolAccessibilityDiagnosticForNode(node) {
|
|
|
104003
104011
|
function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) {
|
|
104004
104012
|
if (node.kind === 258 /* VariableDeclaration */ || node.kind === 206 /* BindingElement */) {
|
|
104005
104013
|
return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : Diagnostics.Exported_variable_0_has_or_is_using_private_name_1;
|
|
104006
|
-
} else if (node.kind === 170 /* PropertyDeclaration */ || node.kind === 209 /* PropertyAccessExpression */ || node.kind === 169 /* PropertySignature */ || node.kind === 167 /* Parameter */ && hasSyntacticModifier(node.parent, 8 /* Private */)) {
|
|
104014
|
+
} else if (node.kind === 170 /* PropertyDeclaration */ || node.kind === 209 /* PropertyAccessExpression */ || node.kind === 210 /* ElementAccessExpression */ || node.kind === 224 /* BinaryExpression */ || node.kind === 169 /* PropertySignature */ || node.kind === 167 /* Parameter */ && hasSyntacticModifier(node.parent, 8 /* Private */)) {
|
|
104007
104015
|
if (isStatic(node)) {
|
|
104008
104016
|
return symbolAccessibilityResult.errorModuleName ? symbolAccessibilityResult.accessibility === 2 /* CannotBeNamed */ ? Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1;
|
|
104009
104017
|
} else if (node.parent.kind === 261 /* ClassDeclaration */ || node.kind === 167 /* Parameter */) {
|
|
@@ -105456,13 +105464,16 @@ function transformDeclarations(context) {
|
|
|
105456
105464
|
fakespace.symbol = props[0].parent;
|
|
105457
105465
|
const exportMappings = [];
|
|
105458
105466
|
let declarations = mapDefined(props, (p) => {
|
|
105459
|
-
if (!p.valueDeclaration || !isPropertyAccessExpression(p.valueDeclaration)) {
|
|
105467
|
+
if (!p.valueDeclaration || !(isPropertyAccessExpression(p.valueDeclaration) || isElementAccessExpression(p.valueDeclaration) || isBinaryExpression(p.valueDeclaration))) {
|
|
105468
|
+
return void 0;
|
|
105469
|
+
}
|
|
105470
|
+
const nameStr = unescapeLeadingUnderscores(p.escapedName);
|
|
105471
|
+
if (!isIdentifierText(nameStr, 99 /* ESNext */)) {
|
|
105460
105472
|
return void 0;
|
|
105461
105473
|
}
|
|
105462
105474
|
getSymbolAccessibilityDiagnostic = createGetSymbolAccessibilityDiagnosticForNode(p.valueDeclaration);
|
|
105463
105475
|
const type = resolver.createTypeOfDeclaration(p.valueDeclaration, fakespace, declarationEmitNodeBuilderFlags, symbolTracker);
|
|
105464
105476
|
getSymbolAccessibilityDiagnostic = oldDiag;
|
|
105465
|
-
const nameStr = unescapeLeadingUnderscores(p.escapedName);
|
|
105466
105477
|
const isNonContextualKeywordName = isStringANonContextualKeyword(nameStr);
|
|
105467
105478
|
const name = isNonContextualKeywordName ? factory2.getGeneratedNameForNode(p.valueDeclaration) : factory2.createIdentifier(nameStr);
|
|
105468
105479
|
if (isNonContextualKeywordName) {
|
|
@@ -119730,21 +119741,22 @@ function createWatchProgram(host) {
|
|
|
119730
119741
|
updateProgram();
|
|
119731
119742
|
}
|
|
119732
119743
|
function updateProgram() {
|
|
119744
|
+
var _a2, _b, _c, _d;
|
|
119733
119745
|
switch (reloadLevel) {
|
|
119734
119746
|
case 1 /* Partial */:
|
|
119735
|
-
perfLogger.logStartUpdateProgram("PartialConfigReload");
|
|
119747
|
+
(_a2 = perfLogger) == null ? void 0 : _a2.logStartUpdateProgram("PartialConfigReload");
|
|
119736
119748
|
reloadFileNamesFromConfigFile();
|
|
119737
119749
|
break;
|
|
119738
119750
|
case 2 /* Full */:
|
|
119739
|
-
perfLogger.logStartUpdateProgram("FullConfigReload");
|
|
119751
|
+
(_b = perfLogger) == null ? void 0 : _b.logStartUpdateProgram("FullConfigReload");
|
|
119740
119752
|
reloadConfigFile();
|
|
119741
119753
|
break;
|
|
119742
119754
|
default:
|
|
119743
|
-
perfLogger.logStartUpdateProgram("SynchronizeProgram");
|
|
119755
|
+
(_c = perfLogger) == null ? void 0 : _c.logStartUpdateProgram("SynchronizeProgram");
|
|
119744
119756
|
synchronizeProgram();
|
|
119745
119757
|
break;
|
|
119746
119758
|
}
|
|
119747
|
-
perfLogger.logStopUpdateProgram("Done");
|
|
119759
|
+
(_d = perfLogger) == null ? void 0 : _d.logStopUpdateProgram("Done");
|
|
119748
119760
|
return getCurrentBuilderProgram();
|
|
119749
119761
|
}
|
|
119750
119762
|
function reloadFileNamesFromConfigFile() {
|