mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 20:14:01 -06:00
Update LKG
This commit is contained in:
parent
bf7d6574d5
commit
6b080fe7c3
61
lib/tsc.js
61
lib/tsc.js
@ -1534,7 +1534,6 @@ var ts;
|
||||
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
|
||||
Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
|
||||
Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
|
||||
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
|
||||
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
|
||||
@ -12631,22 +12630,27 @@ var ts;
|
||||
}
|
||||
return type.resolvedBaseConstructorType;
|
||||
}
|
||||
function hasClassBaseType(type) {
|
||||
return !!ts.forEach(getBaseTypes(type), function (t) { return !!(t.symbol.flags & 32); });
|
||||
}
|
||||
function getBaseTypes(type) {
|
||||
var isClass = type.symbol.flags & 32;
|
||||
var isInterface = type.symbol.flags & 64;
|
||||
if (!type.resolvedBaseTypes) {
|
||||
if (type.symbol.flags & 32) {
|
||||
if (!isClass && !isInterface) {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
if (isClass) {
|
||||
resolveBaseTypesOfClass(type);
|
||||
}
|
||||
else if (type.symbol.flags & 64) {
|
||||
if (isInterface) {
|
||||
resolveBaseTypesOfInterface(type);
|
||||
}
|
||||
else {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
}
|
||||
return type.resolvedBaseTypes;
|
||||
}
|
||||
function resolveBaseTypesOfClass(type) {
|
||||
type.resolvedBaseTypes = emptyArray;
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
var baseContructorType = getBaseConstructorTypeOfClass(type);
|
||||
if (!(baseContructorType.flags & 80896)) {
|
||||
return;
|
||||
@ -12675,10 +12679,15 @@ var ts;
|
||||
error(type.symbol.valueDeclaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1));
|
||||
return;
|
||||
}
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
function resolveBaseTypesOfInterface(type) {
|
||||
type.resolvedBaseTypes = [];
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) {
|
||||
var declaration = _a[_i];
|
||||
if (declaration.kind === 215 && ts.getInterfaceBaseTypeNodes(declaration)) {
|
||||
@ -12688,7 +12697,12 @@ var ts;
|
||||
if (baseType !== unknownType) {
|
||||
if (getTargetType(baseType).flags & (1024 | 2048)) {
|
||||
if (type !== baseType && !hasBaseType(baseType, type)) {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
else {
|
||||
error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1));
|
||||
@ -12986,7 +13000,7 @@ var ts;
|
||||
return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals);
|
||||
}
|
||||
function getDefaultConstructSignatures(classType) {
|
||||
if (!getBaseTypes(classType).length) {
|
||||
if (!hasClassBaseType(classType)) {
|
||||
return [createSignature(undefined, classType.localTypeParameters, emptyArray, classType, undefined, 0, false, false)];
|
||||
}
|
||||
var baseConstructorType = getBaseConstructorTypeOfClass(classType);
|
||||
@ -14967,11 +14981,10 @@ var ts;
|
||||
}
|
||||
source = getErasedSignature(source);
|
||||
target = getErasedSignature(target);
|
||||
var sourceLen = source.parameters.length;
|
||||
var targetLen = target.parameters.length;
|
||||
for (var i = 0; i < targetLen; i++) {
|
||||
var s = source.hasRestParameter && i === sourceLen - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = target.hasRestParameter && i === targetLen - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = isRestParameterIndex(target, i) ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var related = compareTypes(s, t);
|
||||
if (!related) {
|
||||
return 0;
|
||||
@ -14983,6 +14996,9 @@ var ts;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function isRestParameterIndex(signature, parameterIndex) {
|
||||
return signature.hasRestParameter && parameterIndex >= signature.parameters.length - 1;
|
||||
}
|
||||
function isSupertypeOfEach(candidate, types) {
|
||||
for (var _i = 0; _i < types.length; _i++) {
|
||||
var type = types[_i];
|
||||
@ -15921,8 +15937,9 @@ var ts;
|
||||
if (indexOfParameter < len) {
|
||||
return getTypeAtPosition(contextualSignature, indexOfParameter);
|
||||
}
|
||||
if (indexOfParameter === (func.parameters.length - 1) &&
|
||||
funcHasRestParameters && contextualSignature.hasRestParameter && func.parameters.length >= contextualSignature.parameters.length) {
|
||||
if (funcHasRestParameters &&
|
||||
indexOfParameter === (func.parameters.length - 1) &&
|
||||
isRestParameterIndex(contextualSignature, func.parameters.length - 1)) {
|
||||
return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters));
|
||||
}
|
||||
}
|
||||
@ -17042,7 +17059,7 @@ var ts;
|
||||
return false;
|
||||
}
|
||||
if (spreadArgIndex >= 0) {
|
||||
return signature.hasRestParameter && spreadArgIndex >= signature.parameters.length - 1;
|
||||
return isRestParameterIndex(signature, spreadArgIndex);
|
||||
}
|
||||
if (!signature.hasRestParameter && adjustedArgCount > signature.parameters.length) {
|
||||
return false;
|
||||
@ -17640,7 +17657,7 @@ var ts;
|
||||
var contextualParameterType = getTypeAtPosition(context, i);
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
}
|
||||
if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) {
|
||||
if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) {
|
||||
var parameter = ts.lastOrUndefined(signature.parameters);
|
||||
var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters));
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
@ -17651,7 +17668,9 @@ var ts;
|
||||
for (var _i = 0, _a = node.name.elements; _i < _a.length; _i++) {
|
||||
var element = _a[_i];
|
||||
if (element.kind !== 187) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
if (element.name.kind === 69) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
}
|
||||
assignBindingElementTypes(element);
|
||||
}
|
||||
}
|
||||
@ -30506,10 +30525,6 @@ var ts;
|
||||
var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
|
||||
}
|
||||
else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
|
||||
var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
}
|
||||
else if (importedFile.referencedFiles.length) {
|
||||
var firstRef = importedFile.referencedFiles[0];
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
|
||||
100
lib/tsserver.js
100
lib/tsserver.js
@ -1534,7 +1534,6 @@ var ts;
|
||||
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
|
||||
Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
|
||||
Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
|
||||
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
|
||||
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
|
||||
@ -13094,22 +13093,27 @@ var ts;
|
||||
}
|
||||
return type.resolvedBaseConstructorType;
|
||||
}
|
||||
function hasClassBaseType(type) {
|
||||
return !!ts.forEach(getBaseTypes(type), function (t) { return !!(t.symbol.flags & 32); });
|
||||
}
|
||||
function getBaseTypes(type) {
|
||||
var isClass = type.symbol.flags & 32;
|
||||
var isInterface = type.symbol.flags & 64;
|
||||
if (!type.resolvedBaseTypes) {
|
||||
if (type.symbol.flags & 32) {
|
||||
if (!isClass && !isInterface) {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
if (isClass) {
|
||||
resolveBaseTypesOfClass(type);
|
||||
}
|
||||
else if (type.symbol.flags & 64) {
|
||||
if (isInterface) {
|
||||
resolveBaseTypesOfInterface(type);
|
||||
}
|
||||
else {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
}
|
||||
return type.resolvedBaseTypes;
|
||||
}
|
||||
function resolveBaseTypesOfClass(type) {
|
||||
type.resolvedBaseTypes = emptyArray;
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
var baseContructorType = getBaseConstructorTypeOfClass(type);
|
||||
if (!(baseContructorType.flags & 80896)) {
|
||||
return;
|
||||
@ -13138,10 +13142,15 @@ var ts;
|
||||
error(type.symbol.valueDeclaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1));
|
||||
return;
|
||||
}
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
function resolveBaseTypesOfInterface(type) {
|
||||
type.resolvedBaseTypes = [];
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) {
|
||||
var declaration = _a[_i];
|
||||
if (declaration.kind === 215 && ts.getInterfaceBaseTypeNodes(declaration)) {
|
||||
@ -13151,7 +13160,12 @@ var ts;
|
||||
if (baseType !== unknownType) {
|
||||
if (getTargetType(baseType).flags & (1024 | 2048)) {
|
||||
if (type !== baseType && !hasBaseType(baseType, type)) {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
else {
|
||||
error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, undefined, 1));
|
||||
@ -13449,7 +13463,7 @@ var ts;
|
||||
return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals);
|
||||
}
|
||||
function getDefaultConstructSignatures(classType) {
|
||||
if (!getBaseTypes(classType).length) {
|
||||
if (!hasClassBaseType(classType)) {
|
||||
return [createSignature(undefined, classType.localTypeParameters, emptyArray, classType, undefined, 0, false, false)];
|
||||
}
|
||||
var baseConstructorType = getBaseConstructorTypeOfClass(classType);
|
||||
@ -15430,11 +15444,10 @@ var ts;
|
||||
}
|
||||
source = getErasedSignature(source);
|
||||
target = getErasedSignature(target);
|
||||
var sourceLen = source.parameters.length;
|
||||
var targetLen = target.parameters.length;
|
||||
for (var i = 0; i < targetLen; i++) {
|
||||
var s = source.hasRestParameter && i === sourceLen - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = target.hasRestParameter && i === targetLen - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = isRestParameterIndex(target, i) ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var related = compareTypes(s, t);
|
||||
if (!related) {
|
||||
return 0;
|
||||
@ -15446,6 +15459,9 @@ var ts;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function isRestParameterIndex(signature, parameterIndex) {
|
||||
return signature.hasRestParameter && parameterIndex >= signature.parameters.length - 1;
|
||||
}
|
||||
function isSupertypeOfEach(candidate, types) {
|
||||
for (var _i = 0; _i < types.length; _i++) {
|
||||
var type = types[_i];
|
||||
@ -16384,8 +16400,9 @@ var ts;
|
||||
if (indexOfParameter < len) {
|
||||
return getTypeAtPosition(contextualSignature, indexOfParameter);
|
||||
}
|
||||
if (indexOfParameter === (func.parameters.length - 1) &&
|
||||
funcHasRestParameters && contextualSignature.hasRestParameter && func.parameters.length >= contextualSignature.parameters.length) {
|
||||
if (funcHasRestParameters &&
|
||||
indexOfParameter === (func.parameters.length - 1) &&
|
||||
isRestParameterIndex(contextualSignature, func.parameters.length - 1)) {
|
||||
return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters));
|
||||
}
|
||||
}
|
||||
@ -17505,7 +17522,7 @@ var ts;
|
||||
return false;
|
||||
}
|
||||
if (spreadArgIndex >= 0) {
|
||||
return signature.hasRestParameter && spreadArgIndex >= signature.parameters.length - 1;
|
||||
return isRestParameterIndex(signature, spreadArgIndex);
|
||||
}
|
||||
if (!signature.hasRestParameter && adjustedArgCount > signature.parameters.length) {
|
||||
return false;
|
||||
@ -18103,7 +18120,7 @@ var ts;
|
||||
var contextualParameterType = getTypeAtPosition(context, i);
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
}
|
||||
if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) {
|
||||
if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) {
|
||||
var parameter = ts.lastOrUndefined(signature.parameters);
|
||||
var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters));
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
@ -18114,7 +18131,9 @@ var ts;
|
||||
for (var _i = 0, _a = node.name.elements; _i < _a.length; _i++) {
|
||||
var element = _a[_i];
|
||||
if (element.kind !== 187) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
if (element.name.kind === 69) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
}
|
||||
assignBindingElementTypes(element);
|
||||
}
|
||||
}
|
||||
@ -30969,10 +30988,6 @@ var ts;
|
||||
var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
|
||||
}
|
||||
else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
|
||||
var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
}
|
||||
else if (importedFile.referencedFiles.length) {
|
||||
var firstRef = importedFile.referencedFiles[0];
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
@ -37691,9 +37706,9 @@ var ts;
|
||||
log("getCompletionData: Get previous token 1: " + (new Date().getTime() - start));
|
||||
var contextToken = previousToken;
|
||||
if (contextToken && position <= contextToken.end && ts.isWord(contextToken.kind)) {
|
||||
var start_4 = new Date().getTime();
|
||||
var start_3 = new Date().getTime();
|
||||
contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile);
|
||||
log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_4));
|
||||
log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_3));
|
||||
}
|
||||
var node = currentToken;
|
||||
var isRightOfDot = false;
|
||||
@ -37915,9 +37930,9 @@ var ts;
|
||||
if (contextToken.kind === 9
|
||||
|| contextToken.kind === 10
|
||||
|| ts.isTemplateLiteralKind(contextToken.kind)) {
|
||||
var start_5 = contextToken.getStart();
|
||||
var start_4 = contextToken.getStart();
|
||||
var end = contextToken.getEnd();
|
||||
if (start_5 < position && position < end) {
|
||||
if (start_4 < position && position < end) {
|
||||
return true;
|
||||
}
|
||||
if (position === end) {
|
||||
@ -43250,11 +43265,15 @@ var ts;
|
||||
if (info.isOpen) {
|
||||
if (this.openFileRoots.indexOf(info) >= 0) {
|
||||
this.openFileRoots = copyListRemovingItem(info, this.openFileRoots);
|
||||
if (info.defaultProject && !info.defaultProject.isConfiguredProject()) {
|
||||
this.removeProject(info.defaultProject);
|
||||
}
|
||||
}
|
||||
if (this.openFilesReferenced.indexOf(info) >= 0) {
|
||||
this.openFilesReferenced = copyListRemovingItem(info, this.openFilesReferenced);
|
||||
}
|
||||
this.openFileRootsConfigured.push(info);
|
||||
info.defaultProject = project;
|
||||
}
|
||||
}
|
||||
project.addRoot(info);
|
||||
@ -44275,6 +44294,33 @@ var ts;
|
||||
return new Logger(fileName, detailLevel);
|
||||
}
|
||||
var logger = createLoggerFromEnv();
|
||||
var pending = [];
|
||||
function queueMessage(s) {
|
||||
pending.push(s);
|
||||
if (pending.length === 1) {
|
||||
drain();
|
||||
}
|
||||
}
|
||||
function drain() {
|
||||
ts.Debug.assert(pending.length > 0);
|
||||
writeBuffer(new Buffer(pending[0], "utf8"), 0);
|
||||
}
|
||||
function writeBuffer(buffer, offset) {
|
||||
var toWrite = buffer.length - offset;
|
||||
fs.write(1, buffer, offset, toWrite, undefined, function (err, written, buffer) {
|
||||
if (toWrite > written) {
|
||||
writeBuffer(buffer, offset + written);
|
||||
}
|
||||
else {
|
||||
ts.Debug.assert(pending.length > 0);
|
||||
pending.shift();
|
||||
if (pending.length > 0) {
|
||||
drain();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
ts.sys.write = function (s) { return queueMessage(s); };
|
||||
var ioSession = new IOSession(ts.sys, logger);
|
||||
process.on('uncaughtException', function (err) {
|
||||
ioSession.logError(err, "unknown");
|
||||
|
||||
@ -2449,7 +2449,6 @@ var ts;
|
||||
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
|
||||
Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
|
||||
Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
|
||||
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
|
||||
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
|
||||
@ -15810,22 +15809,27 @@ var ts;
|
||||
}
|
||||
return type.resolvedBaseConstructorType;
|
||||
}
|
||||
function hasClassBaseType(type) {
|
||||
return !!ts.forEach(getBaseTypes(type), function (t) { return !!(t.symbol.flags & 32 /* Class */); });
|
||||
}
|
||||
function getBaseTypes(type) {
|
||||
var isClass = type.symbol.flags & 32 /* Class */;
|
||||
var isInterface = type.symbol.flags & 64 /* Interface */;
|
||||
if (!type.resolvedBaseTypes) {
|
||||
if (type.symbol.flags & 32 /* Class */) {
|
||||
if (!isClass && !isInterface) {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
if (isClass) {
|
||||
resolveBaseTypesOfClass(type);
|
||||
}
|
||||
else if (type.symbol.flags & 64 /* Interface */) {
|
||||
if (isInterface) {
|
||||
resolveBaseTypesOfInterface(type);
|
||||
}
|
||||
else {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
}
|
||||
return type.resolvedBaseTypes;
|
||||
}
|
||||
function resolveBaseTypesOfClass(type) {
|
||||
type.resolvedBaseTypes = emptyArray;
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
var baseContructorType = getBaseConstructorTypeOfClass(type);
|
||||
if (!(baseContructorType.flags & 80896 /* ObjectType */)) {
|
||||
return;
|
||||
@ -15860,10 +15864,15 @@ var ts;
|
||||
error(type.symbol.valueDeclaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 1 /* WriteArrayAsGenericType */));
|
||||
return;
|
||||
}
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
function resolveBaseTypesOfInterface(type) {
|
||||
type.resolvedBaseTypes = [];
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) {
|
||||
var declaration = _a[_i];
|
||||
if (declaration.kind === 215 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) {
|
||||
@ -15873,7 +15882,12 @@ var ts;
|
||||
if (baseType !== unknownType) {
|
||||
if (getTargetType(baseType).flags & (1024 /* Class */ | 2048 /* Interface */)) {
|
||||
if (type !== baseType && !hasBaseType(baseType, type)) {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
else {
|
||||
error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 1 /* WriteArrayAsGenericType */));
|
||||
@ -16198,7 +16212,7 @@ var ts;
|
||||
return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals);
|
||||
}
|
||||
function getDefaultConstructSignatures(classType) {
|
||||
if (!getBaseTypes(classType).length) {
|
||||
if (!hasClassBaseType(classType)) {
|
||||
return [createSignature(undefined, classType.localTypeParameters, emptyArray, classType, undefined, 0, false, false)];
|
||||
}
|
||||
var baseConstructorType = getBaseConstructorTypeOfClass(classType);
|
||||
@ -18385,11 +18399,10 @@ var ts;
|
||||
// M and N (the signatures) are instantiated using type Any as the type argument for all type parameters declared by M and N
|
||||
source = getErasedSignature(source);
|
||||
target = getErasedSignature(target);
|
||||
var sourceLen = source.parameters.length;
|
||||
var targetLen = target.parameters.length;
|
||||
for (var i = 0; i < targetLen; i++) {
|
||||
var s = source.hasRestParameter && i === sourceLen - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = target.hasRestParameter && i === targetLen - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = isRestParameterIndex(target, i) ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var related = compareTypes(s, t);
|
||||
if (!related) {
|
||||
return 0 /* False */;
|
||||
@ -18401,6 +18414,9 @@ var ts;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function isRestParameterIndex(signature, parameterIndex) {
|
||||
return signature.hasRestParameter && parameterIndex >= signature.parameters.length - 1;
|
||||
}
|
||||
function isSupertypeOfEach(candidate, types) {
|
||||
for (var _i = 0; _i < types.length; _i++) {
|
||||
var type = types[_i];
|
||||
@ -19470,8 +19486,9 @@ var ts;
|
||||
return getTypeAtPosition(contextualSignature, indexOfParameter);
|
||||
}
|
||||
// If last parameter is contextually rest parameter get its type
|
||||
if (indexOfParameter === (func.parameters.length - 1) &&
|
||||
funcHasRestParameters && contextualSignature.hasRestParameter && func.parameters.length >= contextualSignature.parameters.length) {
|
||||
if (funcHasRestParameters &&
|
||||
indexOfParameter === (func.parameters.length - 1) &&
|
||||
isRestParameterIndex(contextualSignature, func.parameters.length - 1)) {
|
||||
return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters));
|
||||
}
|
||||
}
|
||||
@ -20895,7 +20912,7 @@ var ts;
|
||||
// If spread arguments are present, check that they correspond to a rest parameter. If so, no
|
||||
// further checking is necessary.
|
||||
if (spreadArgIndex >= 0) {
|
||||
return signature.hasRestParameter && spreadArgIndex >= signature.parameters.length - 1;
|
||||
return isRestParameterIndex(signature, spreadArgIndex);
|
||||
}
|
||||
// Too many arguments implies incorrect arity.
|
||||
if (!signature.hasRestParameter && adjustedArgCount > signature.parameters.length) {
|
||||
@ -21768,7 +21785,7 @@ var ts;
|
||||
var contextualParameterType = getTypeAtPosition(context, i);
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
}
|
||||
if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) {
|
||||
if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) {
|
||||
var parameter = ts.lastOrUndefined(signature.parameters);
|
||||
var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters));
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
@ -21781,7 +21798,9 @@ var ts;
|
||||
for (var _i = 0, _a = node.name.elements; _i < _a.length; _i++) {
|
||||
var element = _a[_i];
|
||||
if (element.kind !== 187 /* OmittedExpression */) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
if (element.name.kind === 69 /* Identifier */) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
}
|
||||
assignBindingElementTypes(element);
|
||||
}
|
||||
}
|
||||
@ -36684,10 +36703,6 @@ var ts;
|
||||
var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
|
||||
}
|
||||
else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
|
||||
var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
}
|
||||
else if (importedFile.referencedFiles.length) {
|
||||
var firstRef = importedFile.referencedFiles[0];
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
@ -44885,9 +44900,9 @@ var ts;
|
||||
// Check if the caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS|
|
||||
// Skip this partial identifier and adjust the contextToken to the token that precedes it.
|
||||
if (contextToken && position <= contextToken.end && ts.isWord(contextToken.kind)) {
|
||||
var start_4 = new Date().getTime();
|
||||
var start_3 = new Date().getTime();
|
||||
contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile);
|
||||
log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_4));
|
||||
log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_3));
|
||||
}
|
||||
// Find the node where completion is requested on.
|
||||
// Also determine whether we are trying to complete with members of that node
|
||||
@ -45162,13 +45177,13 @@ var ts;
|
||||
if (contextToken.kind === 9 /* StringLiteral */
|
||||
|| contextToken.kind === 10 /* RegularExpressionLiteral */
|
||||
|| ts.isTemplateLiteralKind(contextToken.kind)) {
|
||||
var start_5 = contextToken.getStart();
|
||||
var start_4 = contextToken.getStart();
|
||||
var end = contextToken.getEnd();
|
||||
// To be "in" one of these literals, the position has to be:
|
||||
// 1. entirely within the token text.
|
||||
// 2. at the end position of an unterminated token.
|
||||
// 3. at the end of a regular expression (due to trailing flags like '/foo/g').
|
||||
if (start_5 < position && position < end) {
|
||||
if (start_4 < position && position < end) {
|
||||
return true;
|
||||
}
|
||||
if (position === end) {
|
||||
|
||||
@ -2449,7 +2449,6 @@ var ts;
|
||||
Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead: { code: 2652, category: ts.DiagnosticCategory.Error, key: "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." },
|
||||
Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1: { code: 2653, category: ts.DiagnosticCategory.Error, key: "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." },
|
||||
Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition: { code: 2654, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition: { code: 2655, category: ts.DiagnosticCategory.Error, key: "Exported external package typings can only be in '.d.ts' files. Please contact the package author to update the package definition." },
|
||||
Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition: { code: 2656, category: ts.DiagnosticCategory.Error, key: "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." },
|
||||
Import_declaration_0_is_using_private_name_1: { code: 4000, category: ts.DiagnosticCategory.Error, key: "Import declaration '{0}' is using private name '{1}'." },
|
||||
Type_parameter_0_of_exported_class_has_or_is_using_private_name_1: { code: 4002, category: ts.DiagnosticCategory.Error, key: "Type parameter '{0}' of exported class has or is using private name '{1}'." },
|
||||
@ -15810,22 +15809,27 @@ var ts;
|
||||
}
|
||||
return type.resolvedBaseConstructorType;
|
||||
}
|
||||
function hasClassBaseType(type) {
|
||||
return !!ts.forEach(getBaseTypes(type), function (t) { return !!(t.symbol.flags & 32 /* Class */); });
|
||||
}
|
||||
function getBaseTypes(type) {
|
||||
var isClass = type.symbol.flags & 32 /* Class */;
|
||||
var isInterface = type.symbol.flags & 64 /* Interface */;
|
||||
if (!type.resolvedBaseTypes) {
|
||||
if (type.symbol.flags & 32 /* Class */) {
|
||||
if (!isClass && !isInterface) {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
if (isClass) {
|
||||
resolveBaseTypesOfClass(type);
|
||||
}
|
||||
else if (type.symbol.flags & 64 /* Interface */) {
|
||||
if (isInterface) {
|
||||
resolveBaseTypesOfInterface(type);
|
||||
}
|
||||
else {
|
||||
ts.Debug.fail("type must be class or interface");
|
||||
}
|
||||
}
|
||||
return type.resolvedBaseTypes;
|
||||
}
|
||||
function resolveBaseTypesOfClass(type) {
|
||||
type.resolvedBaseTypes = emptyArray;
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
var baseContructorType = getBaseConstructorTypeOfClass(type);
|
||||
if (!(baseContructorType.flags & 80896 /* ObjectType */)) {
|
||||
return;
|
||||
@ -15860,10 +15864,15 @@ var ts;
|
||||
error(type.symbol.valueDeclaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 1 /* WriteArrayAsGenericType */));
|
||||
return;
|
||||
}
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
function resolveBaseTypesOfInterface(type) {
|
||||
type.resolvedBaseTypes = [];
|
||||
type.resolvedBaseTypes = type.resolvedBaseTypes || emptyArray;
|
||||
for (var _i = 0, _a = type.symbol.declarations; _i < _a.length; _i++) {
|
||||
var declaration = _a[_i];
|
||||
if (declaration.kind === 215 /* InterfaceDeclaration */ && ts.getInterfaceBaseTypeNodes(declaration)) {
|
||||
@ -15873,7 +15882,12 @@ var ts;
|
||||
if (baseType !== unknownType) {
|
||||
if (getTargetType(baseType).flags & (1024 /* Class */ | 2048 /* Interface */)) {
|
||||
if (type !== baseType && !hasBaseType(baseType, type)) {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
if (type.resolvedBaseTypes === emptyArray) {
|
||||
type.resolvedBaseTypes = [baseType];
|
||||
}
|
||||
else {
|
||||
type.resolvedBaseTypes.push(baseType);
|
||||
}
|
||||
}
|
||||
else {
|
||||
error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, /*enclosingDeclaration*/ undefined, 1 /* WriteArrayAsGenericType */));
|
||||
@ -16198,7 +16212,7 @@ var ts;
|
||||
return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals);
|
||||
}
|
||||
function getDefaultConstructSignatures(classType) {
|
||||
if (!getBaseTypes(classType).length) {
|
||||
if (!hasClassBaseType(classType)) {
|
||||
return [createSignature(undefined, classType.localTypeParameters, emptyArray, classType, undefined, 0, false, false)];
|
||||
}
|
||||
var baseConstructorType = getBaseConstructorTypeOfClass(classType);
|
||||
@ -18385,11 +18399,10 @@ var ts;
|
||||
// M and N (the signatures) are instantiated using type Any as the type argument for all type parameters declared by M and N
|
||||
source = getErasedSignature(source);
|
||||
target = getErasedSignature(target);
|
||||
var sourceLen = source.parameters.length;
|
||||
var targetLen = target.parameters.length;
|
||||
for (var i = 0; i < targetLen; i++) {
|
||||
var s = source.hasRestParameter && i === sourceLen - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = target.hasRestParameter && i === targetLen - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var s = isRestParameterIndex(source, i) ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]);
|
||||
var t = isRestParameterIndex(target, i) ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]);
|
||||
var related = compareTypes(s, t);
|
||||
if (!related) {
|
||||
return 0 /* False */;
|
||||
@ -18401,6 +18414,9 @@ var ts;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function isRestParameterIndex(signature, parameterIndex) {
|
||||
return signature.hasRestParameter && parameterIndex >= signature.parameters.length - 1;
|
||||
}
|
||||
function isSupertypeOfEach(candidate, types) {
|
||||
for (var _i = 0; _i < types.length; _i++) {
|
||||
var type = types[_i];
|
||||
@ -19470,8 +19486,9 @@ var ts;
|
||||
return getTypeAtPosition(contextualSignature, indexOfParameter);
|
||||
}
|
||||
// If last parameter is contextually rest parameter get its type
|
||||
if (indexOfParameter === (func.parameters.length - 1) &&
|
||||
funcHasRestParameters && contextualSignature.hasRestParameter && func.parameters.length >= contextualSignature.parameters.length) {
|
||||
if (funcHasRestParameters &&
|
||||
indexOfParameter === (func.parameters.length - 1) &&
|
||||
isRestParameterIndex(contextualSignature, func.parameters.length - 1)) {
|
||||
return getTypeOfSymbol(ts.lastOrUndefined(contextualSignature.parameters));
|
||||
}
|
||||
}
|
||||
@ -20895,7 +20912,7 @@ var ts;
|
||||
// If spread arguments are present, check that they correspond to a rest parameter. If so, no
|
||||
// further checking is necessary.
|
||||
if (spreadArgIndex >= 0) {
|
||||
return signature.hasRestParameter && spreadArgIndex >= signature.parameters.length - 1;
|
||||
return isRestParameterIndex(signature, spreadArgIndex);
|
||||
}
|
||||
// Too many arguments implies incorrect arity.
|
||||
if (!signature.hasRestParameter && adjustedArgCount > signature.parameters.length) {
|
||||
@ -21768,7 +21785,7 @@ var ts;
|
||||
var contextualParameterType = getTypeAtPosition(context, i);
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
}
|
||||
if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) {
|
||||
if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) {
|
||||
var parameter = ts.lastOrUndefined(signature.parameters);
|
||||
var contextualParameterType = getTypeOfSymbol(ts.lastOrUndefined(context.parameters));
|
||||
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType, mapper);
|
||||
@ -21781,7 +21798,9 @@ var ts;
|
||||
for (var _i = 0, _a = node.name.elements; _i < _a.length; _i++) {
|
||||
var element = _a[_i];
|
||||
if (element.kind !== 187 /* OmittedExpression */) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
if (element.name.kind === 69 /* Identifier */) {
|
||||
getSymbolLinks(getSymbolOfNode(element)).type = getTypeForBindingElement(element);
|
||||
}
|
||||
assignBindingElementTypes(element);
|
||||
}
|
||||
}
|
||||
@ -36684,10 +36703,6 @@ var ts;
|
||||
var start_2 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_2, file.imports[i].end - start_2, ts.Diagnostics.Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition, importedFile.fileName));
|
||||
}
|
||||
else if (!ts.fileExtensionIs(importedFile.fileName, ".d.ts")) {
|
||||
var start_3 = ts.getTokenPosOfNode(file.imports[i], file);
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(file, start_3, file.imports[i].end - start_3, ts.Diagnostics.Exported_external_package_typings_can_only_be_in_d_ts_files_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
}
|
||||
else if (importedFile.referencedFiles.length) {
|
||||
var firstRef = importedFile.referencedFiles[0];
|
||||
fileProcessingDiagnostics.add(ts.createFileDiagnostic(importedFile, firstRef.pos, firstRef.end - firstRef.pos, ts.Diagnostics.Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition));
|
||||
@ -44885,9 +44900,9 @@ var ts;
|
||||
// Check if the caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS|
|
||||
// Skip this partial identifier and adjust the contextToken to the token that precedes it.
|
||||
if (contextToken && position <= contextToken.end && ts.isWord(contextToken.kind)) {
|
||||
var start_4 = new Date().getTime();
|
||||
var start_3 = new Date().getTime();
|
||||
contextToken = ts.findPrecedingToken(contextToken.getFullStart(), sourceFile);
|
||||
log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_4));
|
||||
log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start_3));
|
||||
}
|
||||
// Find the node where completion is requested on.
|
||||
// Also determine whether we are trying to complete with members of that node
|
||||
@ -45162,13 +45177,13 @@ var ts;
|
||||
if (contextToken.kind === 9 /* StringLiteral */
|
||||
|| contextToken.kind === 10 /* RegularExpressionLiteral */
|
||||
|| ts.isTemplateLiteralKind(contextToken.kind)) {
|
||||
var start_5 = contextToken.getStart();
|
||||
var start_4 = contextToken.getStart();
|
||||
var end = contextToken.getEnd();
|
||||
// To be "in" one of these literals, the position has to be:
|
||||
// 1. entirely within the token text.
|
||||
// 2. at the end position of an unterminated token.
|
||||
// 3. at the end of a regular expression (due to trailing flags like '/foo/g').
|
||||
if (start_5 < position && position < end) {
|
||||
if (start_4 < position && position < end) {
|
||||
return true;
|
||||
}
|
||||
if (position === end) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user