mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-26 21:23:53 -06:00
Update LKG
This commit is contained in:
parent
bb53b8423c
commit
f9338c69fc
401
lib/tsc.js
401
lib/tsc.js
@ -2281,6 +2281,9 @@ var ts;
|
||||
Resolving_real_path_for_0_result_1: { code: 6130, category: ts.DiagnosticCategory.Message, key: "Resolving_real_path_for_0_result_1_6130", message: "Resolving real path for '{0}', result '{1}'" },
|
||||
Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: { code: 6131, category: ts.DiagnosticCategory.Error, key: "Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131", message: "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'." },
|
||||
File_name_0_has_a_1_extension_stripping_it: { code: 6132, category: ts.DiagnosticCategory.Message, key: "File_name_0_has_a_1_extension_stripping_it_6132", message: "File name '{0}' has a '{1}' extension - stripping it" },
|
||||
_0_is_declared_but_never_used: { code: 6133, category: ts.DiagnosticCategory.Error, key: "_0_is_declared_but_never_used_6133", message: "'{0}' is declared but never used." },
|
||||
Report_Errors_on_Unused_Locals: { code: 6134, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Locals_6134", message: "Report Errors on Unused Locals." },
|
||||
Report_Errors_on_Unused_Parameters: { code: 6135, category: ts.DiagnosticCategory.Message, key: "Report_Errors_on_Unused_Parameters_6135", message: "Report Errors on Unused Parameters." },
|
||||
Variable_0_implicitly_has_an_1_type: { code: 7005, category: ts.DiagnosticCategory.Error, key: "Variable_0_implicitly_has_an_1_type_7005", message: "Variable '{0}' implicitly has an '{1}' type." },
|
||||
Parameter_0_implicitly_has_an_1_type: { code: 7006, category: ts.DiagnosticCategory.Error, key: "Parameter_0_implicitly_has_an_1_type_7006", message: "Parameter '{0}' implicitly has an '{1}' type." },
|
||||
Member_0_implicitly_has_an_1_type: { code: 7008, category: ts.DiagnosticCategory.Error, key: "Member_0_implicitly_has_an_1_type_7008", message: "Member '{0}' implicitly has an '{1}' type." },
|
||||
@ -8736,8 +8739,11 @@ var ts;
|
||||
if (lhs.kind === 69) {
|
||||
return lhs.text === rhs.text;
|
||||
}
|
||||
return lhs.right.text === rhs.right.text &&
|
||||
tagNamesAreEquivalent(lhs.left, rhs.left);
|
||||
if (lhs.kind === 97) {
|
||||
return true;
|
||||
}
|
||||
return lhs.name.text === rhs.name.text &&
|
||||
tagNamesAreEquivalent(lhs.expression, rhs.expression);
|
||||
}
|
||||
function parseJsxElementOrSelfClosingElement(inExpressionContext) {
|
||||
var opening = parseJsxOpeningOrSelfClosingElement(inExpressionContext);
|
||||
@ -8834,15 +8840,15 @@ var ts;
|
||||
}
|
||||
function parseJsxElementName() {
|
||||
scanJsxIdentifier();
|
||||
var elementName = parseIdentifierName();
|
||||
var expression = token === 97 ?
|
||||
parseTokenNode() : parseIdentifierName();
|
||||
while (parseOptional(21)) {
|
||||
scanJsxIdentifier();
|
||||
var node = createNode(139, elementName.pos);
|
||||
node.left = elementName;
|
||||
node.right = parseIdentifierName();
|
||||
elementName = finishNode(node);
|
||||
var propertyAccess = createNode(172, expression.pos);
|
||||
propertyAccess.expression = expression;
|
||||
propertyAccess.name = parseRightSideOfDot(true);
|
||||
expression = finishNode(propertyAccess);
|
||||
}
|
||||
return elementName;
|
||||
return expression;
|
||||
}
|
||||
function parseJsxExpression(inExpressionContext) {
|
||||
var node = createNode(248);
|
||||
@ -9620,7 +9626,7 @@ var ts;
|
||||
case 56:
|
||||
return parseExportAssignment(fullStart, decorators, modifiers);
|
||||
case 116:
|
||||
return parseGlobalModuleExportDeclaration(fullStart, decorators, modifiers);
|
||||
return parseNamespaceExportDeclaration(fullStart, decorators, modifiers);
|
||||
default:
|
||||
return parseExportDeclaration(fullStart, decorators, modifiers);
|
||||
}
|
||||
@ -10134,7 +10140,7 @@ var ts;
|
||||
function nextTokenIsSlash() {
|
||||
return nextToken() === 39;
|
||||
}
|
||||
function parseGlobalModuleExportDeclaration(fullStart, decorators, modifiers) {
|
||||
function parseNamespaceExportDeclaration(fullStart, decorators, modifiers) {
|
||||
var exportDeclaration = createNode(228, fullStart);
|
||||
exportDeclaration.decorators = decorators;
|
||||
exportDeclaration.modifiers = modifiers;
|
||||
@ -13805,7 +13811,7 @@ var ts;
|
||||
function getTargetOfImportSpecifier(node) {
|
||||
return getExternalModuleMember(node.parent.parent.parent, node);
|
||||
}
|
||||
function getTargetOfGlobalModuleExportDeclaration(node) {
|
||||
function getTargetOfNamespaceExportDeclaration(node) {
|
||||
return resolveExternalModuleSymbol(node.parent.symbol);
|
||||
}
|
||||
function getTargetOfExportSpecifier(node) {
|
||||
@ -13831,7 +13837,7 @@ var ts;
|
||||
case 235:
|
||||
return getTargetOfExportAssignment(node);
|
||||
case 228:
|
||||
return getTargetOfGlobalModuleExportDeclaration(node);
|
||||
return getTargetOfNamespaceExportDeclaration(node);
|
||||
}
|
||||
}
|
||||
function resolveSymbol(symbol) {
|
||||
@ -13914,9 +13920,12 @@ var ts;
|
||||
var left = name.kind === 139 ? name.left : name.expression;
|
||||
var right = name.kind === 139 ? name.right : name.name;
|
||||
var namespace = resolveEntityName(left, 1536, ignoreErrors);
|
||||
if (!namespace || namespace === unknownSymbol || ts.nodeIsMissing(right)) {
|
||||
if (!namespace || ts.nodeIsMissing(right)) {
|
||||
return undefined;
|
||||
}
|
||||
else if (namespace === unknownSymbol) {
|
||||
return namespace;
|
||||
}
|
||||
symbol = getSymbol(getExportsOfSymbol(namespace), right.text, meaning);
|
||||
if (!symbol) {
|
||||
if (!ignoreErrors) {
|
||||
@ -14877,16 +14886,13 @@ var ts;
|
||||
writePunctuation(writer, 27);
|
||||
}
|
||||
}
|
||||
function buildDisplayForParametersAndDelimiters(thisType, parameters, writer, enclosingDeclaration, flags, symbolStack) {
|
||||
function buildDisplayForParametersAndDelimiters(thisParameter, parameters, writer, enclosingDeclaration, flags, symbolStack) {
|
||||
writePunctuation(writer, 17);
|
||||
if (thisType) {
|
||||
writeKeyword(writer, 97);
|
||||
writePunctuation(writer, 54);
|
||||
writeSpace(writer);
|
||||
buildTypeDisplay(thisType, writer, enclosingDeclaration, flags, symbolStack);
|
||||
if (thisParameter) {
|
||||
buildParameterDisplay(thisParameter, writer, enclosingDeclaration, flags, symbolStack);
|
||||
}
|
||||
for (var i = 0; i < parameters.length; i++) {
|
||||
if (i > 0 || thisType) {
|
||||
if (i > 0 || thisParameter) {
|
||||
writePunctuation(writer, 24);
|
||||
writeSpace(writer);
|
||||
}
|
||||
@ -14934,7 +14940,7 @@ var ts;
|
||||
else {
|
||||
buildDisplayForTypeParametersAndDelimiters(signature.typeParameters, writer, enclosingDeclaration, flags, symbolStack);
|
||||
}
|
||||
buildDisplayForParametersAndDelimiters(signature.thisType, signature.parameters, writer, enclosingDeclaration, flags, symbolStack);
|
||||
buildDisplayForParametersAndDelimiters(signature.thisParameter, signature.parameters, writer, enclosingDeclaration, flags, symbolStack);
|
||||
buildReturnTypeDisplay(signature, writer, enclosingDeclaration, flags, symbolStack);
|
||||
}
|
||||
return _displayBuilder || (_displayBuilder = {
|
||||
@ -15265,12 +15271,13 @@ var ts;
|
||||
if (func.kind === 150 && !ts.hasDynamicName(func)) {
|
||||
var getter = ts.getDeclarationOfKind(declaration.parent.symbol, 149);
|
||||
if (getter) {
|
||||
var signature = getSignatureFromDeclaration(getter);
|
||||
var getterSignature = getSignatureFromDeclaration(getter);
|
||||
var thisParameter = getAccessorThisParameter(func);
|
||||
if (thisParameter && declaration === thisParameter) {
|
||||
return signature.thisType;
|
||||
ts.Debug.assert(!thisParameter.type);
|
||||
return getTypeOfSymbol(getterSignature.thisParameter);
|
||||
}
|
||||
return getReturnTypeOfSignature(signature);
|
||||
return getReturnTypeOfSignature(getterSignature);
|
||||
}
|
||||
}
|
||||
var type = declaration.symbol.name === "this"
|
||||
@ -15428,14 +15435,12 @@ var ts;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
function getAnnotatedAccessorThisType(accessor) {
|
||||
if (accessor) {
|
||||
var parameter = getAccessorThisParameter(accessor);
|
||||
if (parameter && parameter.type) {
|
||||
return getTypeFromTypeNode(accessor.parameters[0].type);
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
function getAnnotatedAccessorThisParameter(accessor) {
|
||||
var parameter = getAccessorThisParameter(accessor);
|
||||
return parameter && parameter.symbol;
|
||||
}
|
||||
function getThisTypeOfDeclaration(declaration) {
|
||||
return getThisTypeOfSignature(getSignatureFromDeclaration(declaration));
|
||||
}
|
||||
function getTypeOfAccessors(symbol) {
|
||||
var links = getSymbolLinks(symbol);
|
||||
@ -16015,12 +16020,12 @@ var ts;
|
||||
type.typeArguments : ts.concatenate(type.typeArguments, [type]);
|
||||
resolveObjectTypeMembers(type, source, typeParameters, typeArguments);
|
||||
}
|
||||
function createSignature(declaration, typeParameters, thisType, parameters, resolvedReturnType, typePredicate, minArgumentCount, hasRestParameter, hasStringLiterals) {
|
||||
function createSignature(declaration, typeParameters, thisParameter, parameters, resolvedReturnType, typePredicate, minArgumentCount, hasRestParameter, hasStringLiterals) {
|
||||
var sig = new Signature(checker);
|
||||
sig.declaration = declaration;
|
||||
sig.typeParameters = typeParameters;
|
||||
sig.parameters = parameters;
|
||||
sig.thisType = thisType;
|
||||
sig.thisParameter = thisParameter;
|
||||
sig.resolvedReturnType = resolvedReturnType;
|
||||
sig.typePredicate = typePredicate;
|
||||
sig.minArgumentCount = minArgumentCount;
|
||||
@ -16029,7 +16034,7 @@ var ts;
|
||||
return sig;
|
||||
}
|
||||
function cloneSignature(sig) {
|
||||
return createSignature(sig.declaration, sig.typeParameters, sig.thisType, sig.parameters, sig.resolvedReturnType, sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals);
|
||||
return createSignature(sig.declaration, sig.typeParameters, sig.thisParameter, sig.parameters, sig.resolvedReturnType, sig.typePredicate, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals);
|
||||
}
|
||||
function getDefaultConstructSignatures(classType) {
|
||||
var baseConstructorType = getBaseConstructorTypeOfClass(classType);
|
||||
@ -16113,8 +16118,9 @@ var ts;
|
||||
var s = signature;
|
||||
if (unionSignatures.length > 1) {
|
||||
s = cloneSignature(signature);
|
||||
if (ts.forEach(unionSignatures, function (sig) { return sig.thisType; })) {
|
||||
s.thisType = getUnionType(ts.map(unionSignatures, function (sig) { return sig.thisType || anyType; }));
|
||||
if (ts.forEach(unionSignatures, function (sig) { return sig.thisParameter; })) {
|
||||
var thisType = getUnionType(ts.map(unionSignatures, function (sig) { return getTypeOfSymbol(sig.thisParameter) || anyType; }));
|
||||
s.thisParameter = createTransientSymbol(signature.thisParameter, thisType);
|
||||
}
|
||||
s.resolvedReturnType = undefined;
|
||||
s.unionSignatures = unionSignatures;
|
||||
@ -16299,6 +16305,7 @@ var ts;
|
||||
var types = containingType.types;
|
||||
var props;
|
||||
var commonFlags = (containingType.flags & 32768) ? 536870912 : 0;
|
||||
var isReadonly = false;
|
||||
for (var _i = 0, types_2 = types; _i < types_2.length; _i++) {
|
||||
var current = types_2[_i];
|
||||
var type = getApparentType(current);
|
||||
@ -16312,6 +16319,9 @@ var ts;
|
||||
else if (!ts.contains(props, prop)) {
|
||||
props.push(prop);
|
||||
}
|
||||
if (isReadonlySymbol(prop)) {
|
||||
isReadonly = true;
|
||||
}
|
||||
}
|
||||
else if (containingType.flags & 16384) {
|
||||
return undefined;
|
||||
@ -16339,6 +16349,7 @@ var ts;
|
||||
commonFlags, name);
|
||||
result.containingType = containingType;
|
||||
result.declarations = declarations;
|
||||
result.isReadonly = isReadonly;
|
||||
result.type = containingType.flags & 16384 ? getUnionType(propTypes) : getIntersectionType(propTypes);
|
||||
return result;
|
||||
}
|
||||
@ -16497,7 +16508,7 @@ var ts;
|
||||
var parameters = [];
|
||||
var hasStringLiterals = false;
|
||||
var minArgumentCount = -1;
|
||||
var thisType = undefined;
|
||||
var thisParameter = undefined;
|
||||
var hasThisParameter = void 0;
|
||||
var isJSConstructSignature = ts.isJSDocConstructSignature(declaration);
|
||||
for (var i = isJSConstructSignature ? 1 : 0, n = declaration.parameters.length; i < n; i++) {
|
||||
@ -16509,7 +16520,7 @@ var ts;
|
||||
}
|
||||
if (i === 0 && paramSymbol.name === "this") {
|
||||
hasThisParameter = true;
|
||||
thisType = param.type ? getTypeFromTypeNode(param.type) : unknownType;
|
||||
thisParameter = param.symbol;
|
||||
}
|
||||
else {
|
||||
parameters.push(paramSymbol);
|
||||
@ -16528,10 +16539,12 @@ var ts;
|
||||
}
|
||||
if ((declaration.kind === 149 || declaration.kind === 150) &&
|
||||
!ts.hasDynamicName(declaration) &&
|
||||
(!hasThisParameter || thisType === unknownType)) {
|
||||
(!hasThisParameter || !thisParameter)) {
|
||||
var otherKind = declaration.kind === 149 ? 150 : 149;
|
||||
var setter = ts.getDeclarationOfKind(declaration.symbol, otherKind);
|
||||
thisType = getAnnotatedAccessorThisType(setter);
|
||||
var other = ts.getDeclarationOfKind(declaration.symbol, otherKind);
|
||||
if (other) {
|
||||
thisParameter = getAnnotatedAccessorThisParameter(other);
|
||||
}
|
||||
}
|
||||
if (minArgumentCount < 0) {
|
||||
minArgumentCount = declaration.parameters.length - (hasThisParameter ? 1 : 0);
|
||||
@ -16549,7 +16562,7 @@ var ts;
|
||||
var typePredicate = declaration.type && declaration.type.kind === 154 ?
|
||||
createTypePredicateFromTypePredicateNode(declaration.type) :
|
||||
undefined;
|
||||
links.resolvedSignature = createSignature(declaration, typeParameters, thisType, parameters, returnType, typePredicate, minArgumentCount, ts.hasRestParameter(declaration), hasStringLiterals);
|
||||
links.resolvedSignature = createSignature(declaration, typeParameters, thisParameter, parameters, returnType, typePredicate, minArgumentCount, ts.hasRestParameter(declaration), hasStringLiterals);
|
||||
}
|
||||
return links.resolvedSignature;
|
||||
}
|
||||
@ -16619,6 +16632,11 @@ var ts;
|
||||
}
|
||||
return anyType;
|
||||
}
|
||||
function getThisTypeOfSignature(signature) {
|
||||
if (signature.thisParameter) {
|
||||
return getTypeOfSymbol(signature.thisParameter);
|
||||
}
|
||||
}
|
||||
function getReturnTypeOfSignature(signature) {
|
||||
if (!signature.resolvedReturnType) {
|
||||
if (!pushTypeResolution(signature, 3)) {
|
||||
@ -17336,7 +17354,7 @@ var ts;
|
||||
if (signature.typePredicate) {
|
||||
freshTypePredicate = cloneTypePredicate(signature.typePredicate, mapper);
|
||||
}
|
||||
var result = createSignature(signature.declaration, freshTypeParameters, signature.thisType && instantiateType(signature.thisType, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), instantiateType(signature.resolvedReturnType, mapper), freshTypePredicate, signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals);
|
||||
var result = createSignature(signature.declaration, freshTypeParameters, signature.thisParameter && instantiateSymbol(signature.thisParameter, mapper), instantiateList(signature.parameters, mapper, instantiateSymbol), instantiateType(signature.resolvedReturnType, mapper), freshTypePredicate, signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals);
|
||||
result.target = signature;
|
||||
result.mapper = mapper;
|
||||
return result;
|
||||
@ -17539,16 +17557,20 @@ var ts;
|
||||
source = getErasedSignature(source);
|
||||
target = getErasedSignature(target);
|
||||
var result = -1;
|
||||
if (source.thisType && target.thisType && source.thisType !== voidType) {
|
||||
var related = compareTypes(source.thisType, target.thisType, false)
|
||||
|| compareTypes(target.thisType, source.thisType, reportErrors);
|
||||
if (!related) {
|
||||
if (reportErrors) {
|
||||
errorReporter(ts.Diagnostics.The_this_types_of_each_signature_are_incompatible);
|
||||
var sourceThisType = getThisTypeOfSignature(source);
|
||||
if (sourceThisType && sourceThisType !== voidType) {
|
||||
var targetThisType = getThisTypeOfSignature(target);
|
||||
if (targetThisType) {
|
||||
var related = compareTypes(sourceThisType, targetThisType, false)
|
||||
|| compareTypes(targetThisType, sourceThisType, reportErrors);
|
||||
if (!related) {
|
||||
if (reportErrors) {
|
||||
errorReporter(ts.Diagnostics.The_this_types_of_each_signature_are_incompatible);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
result &= related;
|
||||
}
|
||||
result &= related;
|
||||
}
|
||||
var sourceMax = getNumNonRestParameters(source);
|
||||
var targetMax = getNumNonRestParameters(target);
|
||||
@ -18366,12 +18388,18 @@ var ts;
|
||||
source = getErasedSignature(source);
|
||||
target = getErasedSignature(target);
|
||||
var result = -1;
|
||||
if (!ignoreThisTypes && source.thisType && target.thisType) {
|
||||
var related = compareTypes(source.thisType, target.thisType);
|
||||
if (!related) {
|
||||
return 0;
|
||||
if (!ignoreThisTypes) {
|
||||
var sourceThisType = getThisTypeOfSignature(source);
|
||||
if (sourceThisType) {
|
||||
var targetThisType = getThisTypeOfSignature(target);
|
||||
if (targetThisType) {
|
||||
var related = compareTypes(sourceThisType, targetThisType);
|
||||
if (!related) {
|
||||
return 0;
|
||||
}
|
||||
result &= related;
|
||||
}
|
||||
}
|
||||
result &= related;
|
||||
}
|
||||
var targetLen = target.parameters.length;
|
||||
for (var i = 0; i < targetLen; i++) {
|
||||
@ -19634,8 +19662,20 @@ var ts;
|
||||
}
|
||||
return container === declarationContainer;
|
||||
}
|
||||
function updateReferencesForInterfaceHeritiageClauseTargets(node) {
|
||||
var extendedTypeNode = ts.getClassExtendsHeritageClauseElement(node);
|
||||
if (extendedTypeNode) {
|
||||
var t = getTypeFromTypeNode(extendedTypeNode);
|
||||
if (t !== unknownType && t.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !ts.isInAmbientContext(node)) {
|
||||
t.symbol.hasReference = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkIdentifier(node) {
|
||||
var symbol = getResolvedSymbol(node);
|
||||
if (symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !ts.isInAmbientContext(node)) {
|
||||
symbol.hasReference = true;
|
||||
}
|
||||
if (symbol === argumentsSymbol) {
|
||||
var container = ts.getContainingFunction(node);
|
||||
if (container.kind === 180) {
|
||||
@ -19845,9 +19885,9 @@ var ts;
|
||||
if (type) {
|
||||
return type;
|
||||
}
|
||||
var signature = getSignatureFromDeclaration(container);
|
||||
if (signature.thisType) {
|
||||
return signature.thisType;
|
||||
var thisType = getThisTypeOfDeclaration(container);
|
||||
if (thisType) {
|
||||
return thisType;
|
||||
}
|
||||
}
|
||||
if (ts.isClassLike(container.parent)) {
|
||||
@ -19990,7 +20030,7 @@ var ts;
|
||||
if (isContextSensitiveFunctionOrObjectLiteralMethod(func) && func.kind !== 180) {
|
||||
var contextualSignature = getContextualSignature(func);
|
||||
if (contextualSignature) {
|
||||
return contextualSignature.thisType;
|
||||
return getThisTypeOfSignature(contextualSignature);
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
@ -20572,7 +20612,7 @@ var ts;
|
||||
return name.indexOf("-") < 0;
|
||||
}
|
||||
function isJsxIntrinsicIdentifier(tagName) {
|
||||
if (tagName.kind === 139) {
|
||||
if (tagName.kind === 172 || tagName.kind === 97) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
@ -20708,6 +20748,25 @@ var ts;
|
||||
return getResolvedJsxType(node, type, elemClassType);
|
||||
}));
|
||||
}
|
||||
if (elemType.flags & 2) {
|
||||
return anyType;
|
||||
}
|
||||
else if (elemType.flags & 256) {
|
||||
var intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements);
|
||||
if (intrinsicElementsType !== unknownType) {
|
||||
var stringLiteralTypeName = elemType.text;
|
||||
var intrinsicProp = getPropertyOfType(intrinsicElementsType, stringLiteralTypeName);
|
||||
if (intrinsicProp) {
|
||||
return getTypeOfSymbol(intrinsicProp);
|
||||
}
|
||||
var indexSignatureType = getIndexTypeOfType(intrinsicElementsType, 0);
|
||||
if (indexSignatureType) {
|
||||
return indexSignatureType;
|
||||
}
|
||||
error(node, ts.Diagnostics.Property_0_does_not_exist_on_type_1, stringLiteralTypeName, "JSX." + JsxNames.IntrinsicElements);
|
||||
}
|
||||
return anyType;
|
||||
}
|
||||
var elemInstanceType = getJsxElementInstanceType(node, elemType);
|
||||
if (!elemClassType || !isTypeAssignableTo(elemInstanceType, elemClassType)) {
|
||||
if (jsxElementType) {
|
||||
@ -20952,6 +21011,9 @@ var ts;
|
||||
}
|
||||
return unknownType;
|
||||
}
|
||||
if ((compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !ts.isInAmbientContext(node)) {
|
||||
prop.hasReference = true;
|
||||
}
|
||||
getNodeLinks(node).resolvedSymbol = prop;
|
||||
if (prop.parent && prop.parent.flags & 32) {
|
||||
checkClassPropertyAccess(node, left, apparentType, prop);
|
||||
@ -21264,10 +21326,11 @@ var ts;
|
||||
if (context.failedTypeParameterIndex !== undefined && !context.inferences[context.failedTypeParameterIndex].isFixed) {
|
||||
context.failedTypeParameterIndex = undefined;
|
||||
}
|
||||
if (signature.thisType) {
|
||||
var thisType = getThisTypeOfSignature(signature);
|
||||
if (thisType) {
|
||||
var thisArgumentNode = getThisArgumentOfCall(node);
|
||||
var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType;
|
||||
inferTypes(context, thisArgumentType, signature.thisType);
|
||||
inferTypes(context, thisArgumentType, thisType);
|
||||
}
|
||||
var argCount = getEffectiveArgumentCount(node, args, signature);
|
||||
for (var i = 0; i < argCount; i++) {
|
||||
@ -21318,12 +21381,13 @@ var ts;
|
||||
return typeArgumentsAreAssignable;
|
||||
}
|
||||
function checkApplicableSignature(node, args, signature, relation, excludeArgument, reportErrors) {
|
||||
if (signature.thisType && signature.thisType !== voidType && node.kind !== 175) {
|
||||
var thisType = getThisTypeOfSignature(signature);
|
||||
if (thisType && thisType !== voidType && node.kind !== 175) {
|
||||
var thisArgumentNode = getThisArgumentOfCall(node);
|
||||
var thisArgumentType = thisArgumentNode ? checkExpression(thisArgumentNode) : voidType;
|
||||
var errorNode = reportErrors ? (thisArgumentNode || node) : undefined;
|
||||
var headMessage_1 = ts.Diagnostics.The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1;
|
||||
if (!checkTypeRelatedTo(thisArgumentType, signature.thisType, relation, errorNode, headMessage_1)) {
|
||||
if (!checkTypeRelatedTo(thisArgumentType, getThisTypeOfSignature(signature), relation, errorNode, headMessage_1)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -21739,7 +21803,7 @@ var ts;
|
||||
if (getReturnTypeOfSignature(signature) !== voidType) {
|
||||
error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword);
|
||||
}
|
||||
if (signature.thisType === voidType) {
|
||||
if (getThisTypeOfSignature(signature) === voidType) {
|
||||
error(node, ts.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void);
|
||||
}
|
||||
return signature;
|
||||
@ -22219,6 +22283,8 @@ var ts;
|
||||
}
|
||||
}
|
||||
}
|
||||
checkUnusedIdentifiers(node);
|
||||
checkUnusedTypeParameters(node);
|
||||
}
|
||||
}
|
||||
function checkArithmeticOperandType(operand, type, diagnostic) {
|
||||
@ -22229,7 +22295,8 @@ var ts;
|
||||
return true;
|
||||
}
|
||||
function isReadonlySymbol(symbol) {
|
||||
return symbol.flags & 4 && (getDeclarationFlagsFromSymbol(symbol) & 64) !== 0 ||
|
||||
return symbol.isReadonly ||
|
||||
symbol.flags & 4 && (getDeclarationFlagsFromSymbol(symbol) & 64) !== 0 ||
|
||||
symbol.flags & 3 && (getDeclarationFlagsFromSymbol(symbol) & 2048) !== 0 ||
|
||||
symbol.flags & 98304 && !(symbol.flags & 65536) ||
|
||||
(symbol.flags & 8) !== 0;
|
||||
@ -23064,6 +23131,9 @@ var ts;
|
||||
checkAsyncFunctionReturnType(node);
|
||||
}
|
||||
}
|
||||
if (!node.body) {
|
||||
checkUnusedTypeParameters(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkClassForDuplicateDeclarations(node) {
|
||||
@ -23191,6 +23261,8 @@ var ts;
|
||||
checkSignatureDeclaration(node);
|
||||
checkGrammarConstructorTypeParameters(node) || checkGrammarConstructorTypeAnnotation(node);
|
||||
checkSourceElement(node.body);
|
||||
checkUnusedIdentifiers(node);
|
||||
checkUnusedTypeParameters(node);
|
||||
var symbol = getSymbolOfNode(node);
|
||||
var firstDeclaration = ts.getDeclarationOfKind(symbol, node.kind);
|
||||
if (node === firstDeclaration) {
|
||||
@ -23294,7 +23366,7 @@ var ts;
|
||||
error(node.name, ts.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract);
|
||||
}
|
||||
checkAccessorDeclarationTypesIdentical(node, otherAccessor, getAnnotatedAccessorType, ts.Diagnostics.get_and_set_accessor_must_have_the_same_type);
|
||||
checkAccessorDeclarationTypesIdentical(node, otherAccessor, getAnnotatedAccessorThisType, ts.Diagnostics.get_and_set_accessor_must_have_the_same_this_type);
|
||||
checkAccessorDeclarationTypesIdentical(node, otherAccessor, getThisTypeOfDeclaration, ts.Diagnostics.get_and_set_accessor_must_have_the_same_this_type);
|
||||
}
|
||||
}
|
||||
getTypeOfAccessors(getSymbolOfNode(node));
|
||||
@ -23339,12 +23411,17 @@ var ts;
|
||||
function checkTypeReferenceNode(node) {
|
||||
checkGrammarTypeArguments(node, node.typeArguments);
|
||||
var type = getTypeFromTypeReference(node);
|
||||
if (type !== unknownType && node.typeArguments) {
|
||||
ts.forEach(node.typeArguments, checkSourceElement);
|
||||
if (produceDiagnostics) {
|
||||
var symbol = getNodeLinks(node).resolvedSymbol;
|
||||
var typeParameters = symbol.flags & 524288 ? getSymbolLinks(symbol).typeParameters : type.target.localTypeParameters;
|
||||
checkTypeArgumentConstraints(typeParameters, node.typeArguments);
|
||||
if (type !== unknownType) {
|
||||
if (type.symbol && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !ts.isInAmbientContext(node)) {
|
||||
type.symbol.hasReference = true;
|
||||
}
|
||||
if (node.typeArguments) {
|
||||
ts.forEach(node.typeArguments, checkSourceElement);
|
||||
if (produceDiagnostics) {
|
||||
var symbol = getNodeLinks(node).resolvedSymbol;
|
||||
var typeParameters = symbol.flags & 524288 ? getSymbolLinks(symbol).typeParameters : type.target.localTypeParameters;
|
||||
checkTypeArgumentConstraints(typeParameters, node.typeArguments);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -23874,6 +23951,8 @@ var ts;
|
||||
}
|
||||
}
|
||||
checkSourceElement(node.body);
|
||||
checkUnusedIdentifiers(node);
|
||||
checkUnusedTypeParameters(node);
|
||||
if (!node.asteriskToken) {
|
||||
var returnOrPromisedType = node.type && (isAsync ? checkAsyncFunctionReturnType(node) : getTypeFromTypeNode(node.type));
|
||||
checkAllCodePathsInNonVoidFunctionReturnOrThrow(node, returnOrPromisedType);
|
||||
@ -23887,11 +23966,83 @@ var ts;
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkUnusedIdentifiers(node) {
|
||||
if (node.parent.kind !== 222 && (compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !ts.isInAmbientContext(node)) {
|
||||
for (var key in node.locals) {
|
||||
if (ts.hasProperty(node.locals, key)) {
|
||||
var local = node.locals[key];
|
||||
if (!local.hasReference && local.valueDeclaration) {
|
||||
if (local.valueDeclaration.kind !== 142 && compilerOptions.noUnusedLocals) {
|
||||
error(local.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local.name);
|
||||
}
|
||||
else if (local.valueDeclaration.kind === 142 && compilerOptions.noUnusedParameters) {
|
||||
if (local.valueDeclaration.flags === 0) {
|
||||
error(local.valueDeclaration.name, ts.Diagnostics._0_is_declared_but_never_used, local.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkUnusedClassLocals(node) {
|
||||
if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) {
|
||||
if (node.members) {
|
||||
for (var _i = 0, _a = node.members; _i < _a.length; _i++) {
|
||||
var member = _a[_i];
|
||||
if (member.kind === 147 || member.kind === 145) {
|
||||
if (isPrivateNode(member) && !member.symbol.hasReference) {
|
||||
error(member.name, ts.Diagnostics._0_is_declared_but_never_used, member.symbol.name);
|
||||
}
|
||||
}
|
||||
else if (member.kind === 148) {
|
||||
for (var _b = 0, _c = member.parameters; _b < _c.length; _b++) {
|
||||
var parameter = _c[_b];
|
||||
if (isPrivateNode(parameter) && !parameter.symbol.hasReference) {
|
||||
error(parameter.name, ts.Diagnostics._0_is_declared_but_never_used, parameter.symbol.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkUnusedTypeParameters(node) {
|
||||
if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) {
|
||||
if (node.typeParameters) {
|
||||
for (var _i = 0, _a = node.typeParameters; _i < _a.length; _i++) {
|
||||
var typeParameter = _a[_i];
|
||||
if (!typeParameter.symbol.hasReference) {
|
||||
error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function isPrivateNode(node) {
|
||||
return (node.flags & 8) !== 0;
|
||||
}
|
||||
function checkUnusedModuleLocals(node) {
|
||||
if (compilerOptions.noUnusedLocals && !ts.isInAmbientContext(node)) {
|
||||
var _loop_1 = function(key) {
|
||||
if (ts.hasProperty(node.locals, key)) {
|
||||
var local_1 = node.locals[key];
|
||||
if (!local_1.hasReference && !local_1.exportSymbol) {
|
||||
ts.forEach(local_1.declarations, function (d) { return error(d.name, ts.Diagnostics._0_is_declared_but_never_used, local_1.name); });
|
||||
}
|
||||
}
|
||||
};
|
||||
for (var key in node.locals) {
|
||||
_loop_1(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkBlock(node) {
|
||||
if (node.kind === 199) {
|
||||
checkGrammarStatementInAmbientContext(node);
|
||||
}
|
||||
ts.forEach(node.statements, checkSourceElement);
|
||||
checkUnusedIdentifiers(node);
|
||||
}
|
||||
function checkCollisionWithArgumentsInGeneratedCode(node) {
|
||||
if (!ts.hasDeclaredRestParameter(node) || ts.isInAmbientContext(node) || ts.nodeIsMissing(node.body)) {
|
||||
@ -24237,6 +24388,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
checkSourceElement(node.statement);
|
||||
checkUnusedIdentifiers(node);
|
||||
}
|
||||
function checkForInStatement(node) {
|
||||
checkGrammarForInOrForOfStatement(node);
|
||||
@ -24265,6 +24417,7 @@ var ts;
|
||||
error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter);
|
||||
}
|
||||
checkSourceElement(node.statement);
|
||||
checkUnusedIdentifiers(node);
|
||||
}
|
||||
function checkForInOrForOfVariableDeclaration(iterationStatement) {
|
||||
var variableDeclarationList = iterationStatement.initializer;
|
||||
@ -24561,6 +24714,7 @@ var ts;
|
||||
}
|
||||
}
|
||||
checkBlock(catchClause.block);
|
||||
checkUnusedIdentifiers(catchClause);
|
||||
}
|
||||
if (node.finallyBlock) {
|
||||
checkBlock(node.finallyBlock);
|
||||
@ -24683,6 +24837,8 @@ var ts;
|
||||
}
|
||||
checkClassLikeDeclaration(node);
|
||||
ts.forEach(node.members, checkSourceElement);
|
||||
checkUnusedClassLocals(node);
|
||||
checkUnusedTypeParameters(node);
|
||||
}
|
||||
function checkClassLikeDeclaration(node) {
|
||||
checkGrammarClassDeclarationHeritageClauses(node);
|
||||
@ -24923,6 +25079,8 @@ var ts;
|
||||
ts.forEach(node.members, checkSourceElement);
|
||||
if (produceDiagnostics) {
|
||||
checkTypeForDuplicateIndexSignatures(node);
|
||||
updateReferencesForInterfaceHeritiageClauseTargets(node);
|
||||
checkUnusedTypeParameters(node);
|
||||
}
|
||||
}
|
||||
function checkTypeAliasDeclaration(node) {
|
||||
@ -25242,6 +25400,7 @@ var ts;
|
||||
}
|
||||
if (node.body) {
|
||||
checkSourceElement(node.body);
|
||||
checkUnusedModuleLocals(node);
|
||||
}
|
||||
}
|
||||
function checkModuleAugmentationElement(node, isGlobalAugmentation) {
|
||||
@ -25392,6 +25551,9 @@ var ts;
|
||||
if (target.flags & 793056) {
|
||||
checkTypeNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0);
|
||||
}
|
||||
if ((compilerOptions.noUnusedLocals || compilerOptions.noUnusedParameters) && !ts.isInAmbientContext(node)) {
|
||||
target.hasReference = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -25679,6 +25841,9 @@ var ts;
|
||||
potentialThisCollisions.length = 0;
|
||||
deferredNodes = [];
|
||||
ts.forEach(node.statements, checkSourceElement);
|
||||
if (ts.isExternalModule(node)) {
|
||||
checkUnusedModuleLocals(node);
|
||||
}
|
||||
checkDeferredNodes();
|
||||
deferredNodes = undefined;
|
||||
if (ts.isExternalOrCommonJsModule(node)) {
|
||||
@ -25967,6 +26132,13 @@ var ts;
|
||||
case 139:
|
||||
return getSymbolOfEntityNameOrPropertyAccessExpression(node);
|
||||
case 97:
|
||||
var container = ts.getThisContainer(node, false);
|
||||
if (ts.isFunctionLike(container)) {
|
||||
var sig = getSignatureFromDeclaration(container);
|
||||
if (sig.thisParameter) {
|
||||
return sig.thisParameter;
|
||||
}
|
||||
}
|
||||
case 95:
|
||||
var type = ts.isExpression(node) ? checkExpression(node) : getTypeFromTypeNode(node);
|
||||
return type.symbol;
|
||||
@ -26155,7 +26327,9 @@ var ts;
|
||||
var parentSymbol = getParentOfSymbol(symbol);
|
||||
if (parentSymbol) {
|
||||
if (parentSymbol.flags & 512 && parentSymbol.valueDeclaration.kind === 256) {
|
||||
return parentSymbol.valueDeclaration;
|
||||
if (parentSymbol.valueDeclaration === ts.getSourceFileOfNode(node)) {
|
||||
return parentSymbol.valueDeclaration;
|
||||
}
|
||||
}
|
||||
for (var n = node.parent; n; n = n.parent) {
|
||||
if ((n.kind === 225 || n.kind === 224) && getSymbolOfNode(n) === parentSymbol) {
|
||||
@ -27048,7 +27222,7 @@ var ts;
|
||||
var GetAccessor = 2;
|
||||
var SetAccessor = 4;
|
||||
var GetOrSetAccessor = GetAccessor | SetAccessor;
|
||||
var _loop_1 = function(prop) {
|
||||
var _loop_2 = function(prop) {
|
||||
var name_21 = prop.name;
|
||||
if (prop.kind === 193 ||
|
||||
name_21.kind === 140) {
|
||||
@ -27109,8 +27283,8 @@ var ts;
|
||||
};
|
||||
for (var _i = 0, _a = node.properties; _i < _a.length; _i++) {
|
||||
var prop = _a[_i];
|
||||
var state_2 = _loop_1(prop);
|
||||
if (typeof state_2 === "object") return state_2.value;
|
||||
var state_3 = _loop_2(prop);
|
||||
if (typeof state_3 === "object") return state_3.value;
|
||||
}
|
||||
}
|
||||
function checkGrammarJsxElement(node) {
|
||||
@ -29740,6 +29914,8 @@ var ts;
|
||||
return generateNameForExportDefault();
|
||||
case 192:
|
||||
return generateNameForClassExpression();
|
||||
default:
|
||||
ts.Debug.fail();
|
||||
}
|
||||
}
|
||||
function getGeneratedNameForNode(node) {
|
||||
@ -30437,6 +30613,20 @@ var ts;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function getClassExpressionInPropertyAccessInStaticPropertyDeclaration(node) {
|
||||
if (languageVersion >= 2) {
|
||||
var parent_14 = node.parent;
|
||||
if (parent_14.kind === 172 && parent_14.expression === node) {
|
||||
parent_14 = parent_14.parent;
|
||||
while (parent_14 && parent_14.kind !== 145) {
|
||||
parent_14 = parent_14.parent;
|
||||
}
|
||||
return parent_14 && parent_14.kind === 145 && (parent_14.flags & 32) !== 0 &&
|
||||
parent_14.parent.kind === 192 ? parent_14.parent : undefined;
|
||||
}
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
function emitIdentifier(node) {
|
||||
if (convertedLoopState) {
|
||||
if (node.text == "arguments" && resolver.isArgumentsLocalBinding(node)) {
|
||||
@ -30449,6 +30639,14 @@ var ts;
|
||||
write(node.text);
|
||||
}
|
||||
else if (isExpressionIdentifier(node)) {
|
||||
var classExpression = getClassExpressionInPropertyAccessInStaticPropertyDeclaration(node);
|
||||
if (classExpression) {
|
||||
var declaration = resolver.getReferencedValueDeclaration(node);
|
||||
if (declaration === classExpression) {
|
||||
write(getGeneratedNameForNode(declaration.name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
emitExpressionIdentifier(node);
|
||||
}
|
||||
else if (isNameOfNestedBlockScopedRedeclarationOrCapturedBinding(node)) {
|
||||
@ -32988,7 +33186,7 @@ var ts;
|
||||
emitStart(property);
|
||||
emitStart(property.name);
|
||||
if (receiver) {
|
||||
emit(receiver);
|
||||
write(receiver);
|
||||
}
|
||||
else {
|
||||
if (property.flags & 32) {
|
||||
@ -33271,12 +33469,15 @@ var ts;
|
||||
}
|
||||
var staticProperties = getInitializedProperties(node, true);
|
||||
var isClassExpressionWithStaticProperties = staticProperties.length > 0 && node.kind === 192;
|
||||
var tempVariable;
|
||||
var generatedName;
|
||||
if (isClassExpressionWithStaticProperties) {
|
||||
tempVariable = createAndRecordTempVariable(0);
|
||||
generatedName = getGeneratedNameForNode(node.name);
|
||||
var synthesizedNode = ts.createSynthesizedNode(69);
|
||||
synthesizedNode.text = generatedName;
|
||||
recordTempDeclaration(synthesizedNode);
|
||||
write("(");
|
||||
increaseIndent();
|
||||
emit(tempVariable);
|
||||
emit(synthesizedNode);
|
||||
write(" = ");
|
||||
}
|
||||
write("class");
|
||||
@ -33316,11 +33517,11 @@ var ts;
|
||||
var property = staticProperties_1[_a];
|
||||
write(",");
|
||||
writeLine();
|
||||
emitPropertyDeclaration(node, property, tempVariable, true);
|
||||
emitPropertyDeclaration(node, property, generatedName, true);
|
||||
}
|
||||
write(",");
|
||||
writeLine();
|
||||
emit(tempVariable);
|
||||
write(generatedName);
|
||||
decreaseIndent();
|
||||
write(")");
|
||||
}
|
||||
@ -35498,7 +35699,7 @@ var ts;
|
||||
ts.emitTime = 0;
|
||||
ts.ioReadTime = 0;
|
||||
ts.ioWriteTime = 0;
|
||||
ts.version = "1.9.0";
|
||||
ts.version = "2.0.0";
|
||||
var emptyArray = [];
|
||||
var defaultTypeRoots = ["node_modules/@types"];
|
||||
function findConfigFile(searchPath, fileExists) {
|
||||
@ -37341,6 +37542,16 @@ var ts;
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type
|
||||
},
|
||||
{
|
||||
name: "noUnusedLocals",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Report_Errors_on_Unused_Locals
|
||||
},
|
||||
{
|
||||
name: "noUnusedParameters",
|
||||
type: "boolean",
|
||||
description: ts.Diagnostics.Report_Errors_on_Unused_Parameters
|
||||
},
|
||||
{
|
||||
name: "noLib",
|
||||
type: "boolean"
|
||||
@ -37530,16 +37741,6 @@ var ts;
|
||||
isFilePath: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "typesSearchPaths",
|
||||
type: "list",
|
||||
isTSConfigOnly: true,
|
||||
element: {
|
||||
name: "typesSearchPaths",
|
||||
type: "string",
|
||||
isFilePath: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "typeRoots",
|
||||
type: "list",
|
||||
@ -37614,7 +37815,7 @@ var ts;
|
||||
description: ts.Diagnostics.Specify_library_files_to_be_included_in_the_compilation_Colon
|
||||
},
|
||||
{
|
||||
name: "disableProjectSizeLimit",
|
||||
name: "disableSizeLimit",
|
||||
type: "boolean"
|
||||
},
|
||||
{
|
||||
@ -38629,7 +38830,7 @@ var ts;
|
||||
var usageColumn = [];
|
||||
var descriptionColumn = [];
|
||||
var optionsDescriptionMap = {};
|
||||
var _loop_2 = function(i) {
|
||||
var _loop_3 = function(i) {
|
||||
var option = optsList[i];
|
||||
if (!option.description) {
|
||||
return "continue";
|
||||
@ -38660,7 +38861,7 @@ var ts;
|
||||
marginLength = Math.max(usageText_1.length, marginLength);
|
||||
};
|
||||
for (var i = 0; i < optsList.length; i++) {
|
||||
_loop_2(i);
|
||||
_loop_3(i);
|
||||
}
|
||||
var usageText = " @<" + getDiagnosticText(ts.Diagnostics.file) + ">";
|
||||
usageColumn.push(usageText);
|
||||
|
||||
602
lib/tsserver.js
602
lib/tsserver.js
File diff suppressed because it is too large
Load Diff
48
lib/tsserverlibrary.d.ts
vendored
48
lib/tsserverlibrary.d.ts
vendored
@ -744,9 +744,10 @@ declare namespace ts {
|
||||
children: NodeArray<JsxChild>;
|
||||
closingElement: JsxClosingElement;
|
||||
}
|
||||
type JsxTagNameExpression = PrimaryExpression | PropertyAccessExpression;
|
||||
interface JsxOpeningElement extends Expression {
|
||||
_openingElementBrand?: any;
|
||||
tagName: EntityName;
|
||||
tagName: JsxTagNameExpression;
|
||||
attributes: NodeArray<JsxAttribute | JsxSpreadAttribute>;
|
||||
}
|
||||
interface JsxSelfClosingElement extends PrimaryExpression, JsxOpeningElement {
|
||||
@ -761,7 +762,7 @@ declare namespace ts {
|
||||
expression: Expression;
|
||||
}
|
||||
interface JsxClosingElement extends Node {
|
||||
tagName: EntityName;
|
||||
tagName: JsxTagNameExpression;
|
||||
}
|
||||
interface JsxExpression extends Expression {
|
||||
expression?: Expression;
|
||||
@ -1263,7 +1264,7 @@ declare namespace ts {
|
||||
buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForParametersAndDelimiters(thisType: Type, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
}
|
||||
@ -1446,11 +1447,13 @@ declare namespace ts {
|
||||
members?: SymbolTable;
|
||||
exports?: SymbolTable;
|
||||
globalExports?: SymbolTable;
|
||||
isReadonly?: boolean;
|
||||
id?: number;
|
||||
mergeId?: number;
|
||||
parent?: Symbol;
|
||||
exportSymbol?: Symbol;
|
||||
constEnumOnlyModule?: boolean;
|
||||
hasReference?: boolean;
|
||||
}
|
||||
interface SymbolLinks {
|
||||
target?: Symbol;
|
||||
@ -1639,7 +1642,7 @@ declare namespace ts {
|
||||
declaration: SignatureDeclaration;
|
||||
typeParameters: TypeParameter[];
|
||||
parameters: Symbol[];
|
||||
thisType?: Type;
|
||||
thisParameter?: Symbol;
|
||||
resolvedReturnType: Type;
|
||||
minArgumentCount: number;
|
||||
hasRestParameter: boolean;
|
||||
@ -1757,6 +1760,8 @@ declare namespace ts {
|
||||
noImplicitAny?: boolean;
|
||||
noImplicitReturns?: boolean;
|
||||
noImplicitThis?: boolean;
|
||||
noUnusedLocals?: boolean;
|
||||
noUnusedParameters?: boolean;
|
||||
noImplicitUseStrict?: boolean;
|
||||
noLib?: boolean;
|
||||
noResolve?: boolean;
|
||||
@ -1785,7 +1790,6 @@ declare namespace ts {
|
||||
disableSizeLimit?: boolean;
|
||||
types?: string[];
|
||||
typeRoots?: string[];
|
||||
typesSearchPaths?: string[];
|
||||
version?: boolean;
|
||||
watch?: boolean;
|
||||
[option: string]: CompilerOptionsValue | undefined;
|
||||
@ -6438,6 +6442,24 @@ declare namespace ts {
|
||||
key: string;
|
||||
message: string;
|
||||
};
|
||||
_0_is_declared_but_never_used: {
|
||||
code: number;
|
||||
category: DiagnosticCategory;
|
||||
key: string;
|
||||
message: string;
|
||||
};
|
||||
Report_Errors_on_Unused_Locals: {
|
||||
code: number;
|
||||
category: DiagnosticCategory;
|
||||
key: string;
|
||||
message: string;
|
||||
};
|
||||
Report_Errors_on_Unused_Parameters: {
|
||||
code: number;
|
||||
category: DiagnosticCategory;
|
||||
key: string;
|
||||
message: string;
|
||||
};
|
||||
Variable_0_implicitly_has_an_1_type: {
|
||||
code: number;
|
||||
category: DiagnosticCategory;
|
||||
@ -6981,7 +7003,7 @@ declare namespace ts {
|
||||
function isLiteralComputedPropertyDeclarationName(node: Node): boolean;
|
||||
function isIdentifierName(node: Identifier): boolean;
|
||||
function isAliasSymbolDeclaration(node: Node): boolean;
|
||||
function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration): ExpressionWithTypeArguments;
|
||||
function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration | InterfaceDeclaration): ExpressionWithTypeArguments;
|
||||
function getClassImplementsHeritageClauseElements(node: ClassLikeDeclaration): NodeArray<ExpressionWithTypeArguments>;
|
||||
function getInterfaceBaseTypeNodes(node: InterfaceDeclaration): NodeArray<ExpressionWithTypeArguments>;
|
||||
function getHeritageClause(clauses: NodeArray<HeritageClause>, kind: SyntaxKind): HeritageClause;
|
||||
@ -7688,6 +7710,7 @@ declare namespace ts.formatting {
|
||||
declare namespace ts.formatting {
|
||||
namespace SmartIndenter {
|
||||
function getIndentation(position: number, sourceFile: SourceFile, options: EditorOptions): number;
|
||||
function getBaseIndentation(options: EditorOptions): number;
|
||||
function getIndentationForNode(n: Node, ignoreActualIndentationRange: TextRange, sourceFile: SourceFile, options: FormatCodeOptions): number;
|
||||
function childStartsOnTheSameLineWithElseInIfStatement(parent: Node, child: TextRangeWithKind, childStartLine: number, sourceFile: SourceFile): boolean;
|
||||
function findFirstNonWhitespaceCharacterAndColumn(startPos: number, endPos: number, sourceFile: SourceFile, options: EditorOptions): {
|
||||
@ -7826,7 +7849,7 @@ declare namespace ts {
|
||||
getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[];
|
||||
getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[];
|
||||
getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion;
|
||||
isValidBraceCompletionAtPostion(fileName: string, position: number, openingBrace: number): boolean;
|
||||
isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;
|
||||
getEmitOutput(fileName: string): EmitOutput;
|
||||
getProgram(): Program;
|
||||
getNonBoundSourceFile(fileName: string): SourceFile;
|
||||
@ -7904,6 +7927,7 @@ declare namespace ts {
|
||||
containerKind: string;
|
||||
}
|
||||
interface EditorOptions {
|
||||
BaseIndentSize?: number;
|
||||
IndentSize: number;
|
||||
TabSize: number;
|
||||
NewLineCharacter: string;
|
||||
@ -7926,7 +7950,7 @@ declare namespace ts {
|
||||
InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean;
|
||||
PlaceOpenBraceOnNewLineForFunctions: boolean;
|
||||
PlaceOpenBraceOnNewLineForControlBlocks: boolean;
|
||||
[s: string]: boolean | number | string;
|
||||
[s: string]: boolean | number | string | undefined;
|
||||
}
|
||||
interface DefinitionInfo {
|
||||
fileName: string;
|
||||
@ -8231,6 +8255,8 @@ declare namespace ts.server {
|
||||
const Formatonkey: string;
|
||||
const Geterr: string;
|
||||
const GeterrForProject: string;
|
||||
const SemanticDiagnosticsSync: string;
|
||||
const SyntacticDiagnosticsSync: string;
|
||||
const NavBar: string;
|
||||
const Navto: string;
|
||||
const Occurrences: string;
|
||||
@ -8277,6 +8303,9 @@ declare namespace ts.server {
|
||||
private getDefinition(line, offset, fileName);
|
||||
private getTypeDefinition(line, offset, fileName);
|
||||
private getOccurrences(line, offset, fileName);
|
||||
private getDiagnosticsWorker(args, selector);
|
||||
private getSyntacticDiagnosticsSync(args);
|
||||
private getSemanticDiagnosticsSync(args);
|
||||
private getDocumentHighlights(line, offset, fileName, filesToSearch);
|
||||
private getProjectInfo(fileName, needFileNameList);
|
||||
private getRenameLocations(line, offset, fileName, findInComments, findInStrings);
|
||||
@ -8300,6 +8329,7 @@ declare namespace ts.server {
|
||||
getDiagnosticsForProject(delay: number, fileName: string): void;
|
||||
getCanonicalFileName(fileName: string): string;
|
||||
exit(): void;
|
||||
private requiredResponse(response);
|
||||
private handlers;
|
||||
addProtocolHandler(command: string, handler: (request: protocol.Request) => {
|
||||
response?: any;
|
||||
@ -8731,7 +8761,7 @@ declare namespace ts {
|
||||
getFormattingEditsForDocument(fileName: string, options: string): string;
|
||||
getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: string): string;
|
||||
getDocCommentTemplateAtPosition(fileName: string, position: number): string;
|
||||
isValidBraceCompletionAtPostion(fileName: string, position: number, openingBrace: number): string;
|
||||
isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): string;
|
||||
getEmitOutput(fileName: string): string;
|
||||
}
|
||||
interface ClassifierShim extends Shim {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
16
lib/typescript.d.ts
vendored
16
lib/typescript.d.ts
vendored
@ -753,9 +753,10 @@ declare namespace ts {
|
||||
children: NodeArray<JsxChild>;
|
||||
closingElement: JsxClosingElement;
|
||||
}
|
||||
type JsxTagNameExpression = PrimaryExpression | PropertyAccessExpression;
|
||||
interface JsxOpeningElement extends Expression {
|
||||
_openingElementBrand?: any;
|
||||
tagName: EntityName;
|
||||
tagName: JsxTagNameExpression;
|
||||
attributes: NodeArray<JsxAttribute | JsxSpreadAttribute>;
|
||||
}
|
||||
interface JsxSelfClosingElement extends PrimaryExpression, JsxOpeningElement {
|
||||
@ -770,7 +771,7 @@ declare namespace ts {
|
||||
expression: Expression;
|
||||
}
|
||||
interface JsxClosingElement extends Node {
|
||||
tagName: EntityName;
|
||||
tagName: JsxTagNameExpression;
|
||||
}
|
||||
interface JsxExpression extends Expression {
|
||||
expression?: Expression;
|
||||
@ -1271,7 +1272,7 @@ declare namespace ts {
|
||||
buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForParametersAndDelimiters(thisType: Type, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
}
|
||||
@ -1483,7 +1484,6 @@ declare namespace ts {
|
||||
declaration: SignatureDeclaration;
|
||||
typeParameters: TypeParameter[];
|
||||
parameters: Symbol[];
|
||||
thisType?: Type;
|
||||
}
|
||||
enum IndexKind {
|
||||
String = 0,
|
||||
@ -1564,6 +1564,8 @@ declare namespace ts {
|
||||
noImplicitAny?: boolean;
|
||||
noImplicitReturns?: boolean;
|
||||
noImplicitThis?: boolean;
|
||||
noUnusedLocals?: boolean;
|
||||
noUnusedParameters?: boolean;
|
||||
noImplicitUseStrict?: boolean;
|
||||
noLib?: boolean;
|
||||
noResolve?: boolean;
|
||||
@ -1590,7 +1592,6 @@ declare namespace ts {
|
||||
types?: string[];
|
||||
/** Paths used to used to compute primary types search locations */
|
||||
typeRoots?: string[];
|
||||
typesSearchPaths?: string[];
|
||||
[option: string]: CompilerOptionsValue | undefined;
|
||||
}
|
||||
interface TypingOptions {
|
||||
@ -2055,7 +2056,7 @@ declare namespace ts {
|
||||
getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[];
|
||||
getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[];
|
||||
getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion;
|
||||
isValidBraceCompletionAtPostion(fileName: string, position: number, openingBrace: number): boolean;
|
||||
isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;
|
||||
getEmitOutput(fileName: string): EmitOutput;
|
||||
getProgram(): Program;
|
||||
dispose(): void;
|
||||
@ -2133,6 +2134,7 @@ declare namespace ts {
|
||||
containerKind: string;
|
||||
}
|
||||
interface EditorOptions {
|
||||
BaseIndentSize?: number;
|
||||
IndentSize: number;
|
||||
TabSize: number;
|
||||
NewLineCharacter: string;
|
||||
@ -2155,7 +2157,7 @@ declare namespace ts {
|
||||
InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean;
|
||||
PlaceOpenBraceOnNewLineForFunctions: boolean;
|
||||
PlaceOpenBraceOnNewLineForControlBlocks: boolean;
|
||||
[s: string]: boolean | number | string;
|
||||
[s: string]: boolean | number | string | undefined;
|
||||
}
|
||||
interface DefinitionInfo {
|
||||
fileName: string;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
16
lib/typescriptServices.d.ts
vendored
16
lib/typescriptServices.d.ts
vendored
@ -753,9 +753,10 @@ declare namespace ts {
|
||||
children: NodeArray<JsxChild>;
|
||||
closingElement: JsxClosingElement;
|
||||
}
|
||||
type JsxTagNameExpression = PrimaryExpression | PropertyAccessExpression;
|
||||
interface JsxOpeningElement extends Expression {
|
||||
_openingElementBrand?: any;
|
||||
tagName: EntityName;
|
||||
tagName: JsxTagNameExpression;
|
||||
attributes: NodeArray<JsxAttribute | JsxSpreadAttribute>;
|
||||
}
|
||||
interface JsxSelfClosingElement extends PrimaryExpression, JsxOpeningElement {
|
||||
@ -770,7 +771,7 @@ declare namespace ts {
|
||||
expression: Expression;
|
||||
}
|
||||
interface JsxClosingElement extends Node {
|
||||
tagName: EntityName;
|
||||
tagName: JsxTagNameExpression;
|
||||
}
|
||||
interface JsxExpression extends Expression {
|
||||
expression?: Expression;
|
||||
@ -1271,7 +1272,7 @@ declare namespace ts {
|
||||
buildTypeParameterDisplay(tp: TypeParameter, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildTypePredicateDisplay(predicate: TypePredicate, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildTypeParameterDisplayFromSymbol(symbol: Symbol, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForParametersAndDelimiters(thisType: Type, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForParametersAndDelimiters(thisParameter: Symbol, parameters: Symbol[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildDisplayForTypeParametersAndDelimiters(typeParameters: TypeParameter[], writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
buildReturnTypeDisplay(signature: Signature, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
|
||||
}
|
||||
@ -1483,7 +1484,6 @@ declare namespace ts {
|
||||
declaration: SignatureDeclaration;
|
||||
typeParameters: TypeParameter[];
|
||||
parameters: Symbol[];
|
||||
thisType?: Type;
|
||||
}
|
||||
enum IndexKind {
|
||||
String = 0,
|
||||
@ -1564,6 +1564,8 @@ declare namespace ts {
|
||||
noImplicitAny?: boolean;
|
||||
noImplicitReturns?: boolean;
|
||||
noImplicitThis?: boolean;
|
||||
noUnusedLocals?: boolean;
|
||||
noUnusedParameters?: boolean;
|
||||
noImplicitUseStrict?: boolean;
|
||||
noLib?: boolean;
|
||||
noResolve?: boolean;
|
||||
@ -1590,7 +1592,6 @@ declare namespace ts {
|
||||
types?: string[];
|
||||
/** Paths used to used to compute primary types search locations */
|
||||
typeRoots?: string[];
|
||||
typesSearchPaths?: string[];
|
||||
[option: string]: CompilerOptionsValue | undefined;
|
||||
}
|
||||
interface TypingOptions {
|
||||
@ -2055,7 +2056,7 @@ declare namespace ts {
|
||||
getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions): TextChange[];
|
||||
getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions): TextChange[];
|
||||
getDocCommentTemplateAtPosition(fileName: string, position: number): TextInsertion;
|
||||
isValidBraceCompletionAtPostion(fileName: string, position: number, openingBrace: number): boolean;
|
||||
isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;
|
||||
getEmitOutput(fileName: string): EmitOutput;
|
||||
getProgram(): Program;
|
||||
dispose(): void;
|
||||
@ -2133,6 +2134,7 @@ declare namespace ts {
|
||||
containerKind: string;
|
||||
}
|
||||
interface EditorOptions {
|
||||
BaseIndentSize?: number;
|
||||
IndentSize: number;
|
||||
TabSize: number;
|
||||
NewLineCharacter: string;
|
||||
@ -2155,7 +2157,7 @@ declare namespace ts {
|
||||
InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean;
|
||||
PlaceOpenBraceOnNewLineForFunctions: boolean;
|
||||
PlaceOpenBraceOnNewLineForControlBlocks: boolean;
|
||||
[s: string]: boolean | number | string;
|
||||
[s: string]: boolean | number | string | undefined;
|
||||
}
|
||||
interface DefinitionInfo {
|
||||
fileName: string;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user