Merge pull request #18392 from Microsoft/fix-contextually-typing-arguments-object

Fix contextually typing arguments object
This commit is contained in:
Nathan Shively-Sanders
2017-09-11 16:22:17 -07:00
committed by GitHub
4 changed files with 45 additions and 1 deletions
+2 -1
View File
@@ -16703,8 +16703,9 @@ namespace ts {
}
}
if (signature.hasRestParameter && isRestParameterIndex(context, signature.parameters.length - 1)) {
// parameter might be a transient symbol generated by use of `arguments` in the function body.
const parameter = lastOrUndefined(signature.parameters);
if (!getEffectiveTypeAnnotationNode(<ParameterDeclaration>parameter.valueDeclaration)) {
if (isTransientSymbol(parameter) || !getEffectiveTypeAnnotationNode(<ParameterDeclaration>parameter.valueDeclaration)) {
const contextualParameterType = getTypeOfSymbol(lastOrUndefined(context.parameters));
assignTypeToParameterAndFixTypeParameters(parameter, contextualParameterType);
}