Update LKG

This commit is contained in:
Mohamed Hegazy 2016-06-27 16:28:31 -07:00
parent bb53b8423c
commit f9338c69fc
8 changed files with 2100 additions and 805 deletions

View File

@ -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);

File diff suppressed because it is too large Load Diff

View File

@ -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
View File

@ -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

View File

@ -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