remove useless condition as argumentExpression is always defined (#31567)

* remove useless condition as argumentExpression is always defined

* fix formatting

* remove obsolete diagnostic
This commit is contained in:
Klaus Meinhardt 2019-08-16 00:25:10 +02:00 committed by Ryan Cavanaugh
parent 0bc3468733
commit efa19f6777
3 changed files with 2 additions and 23 deletions

View File

@ -778,7 +778,7 @@ namespace ts {
function isNarrowableReference(expr: Expression): boolean {
return expr.kind === SyntaxKind.Identifier || expr.kind === SyntaxKind.ThisKeyword || expr.kind === SyntaxKind.SuperKeyword ||
(isPropertyAccessExpression(expr) || isNonNullExpression(expr) || isParenthesizedExpression(expr)) && isNarrowableReference(expr.expression) ||
isElementAccessExpression(expr) && expr.argumentExpression &&
isElementAccessExpression(expr) &&
(isStringLiteral(expr.argumentExpression) || isNumericLiteral(expr.argumentExpression)) &&
isNarrowableReference(expr.expression);
}

View File

@ -21062,21 +21062,6 @@ namespace ts {
const objectType = getAssignmentTargetKind(node) !== AssignmentKind.None || isMethodAccessForCall(node) ? getWidenedType(exprType) : exprType;
const indexExpression = node.argumentExpression;
if (!indexExpression) {
const sourceFile = getSourceFileOfNode(node);
if (node.parent.kind === SyntaxKind.NewExpression && (<NewExpression>node.parent).expression === node) {
const start = skipTrivia(sourceFile.text, node.expression.end);
const end = node.end;
grammarErrorAtPos(sourceFile, start, end - start, Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead);
}
else {
const start = node.end - "]".length;
const end = node.end;
grammarErrorAtPos(sourceFile, start, end - start, Diagnostics.Expression_expected);
}
return errorType;
}
const indexType = checkExpression(indexExpression);
if (objectType === errorType || objectType === silentNeverType) {
@ -29742,9 +29727,7 @@ namespace ts {
name = ex.name.escapedText;
}
else {
const argument = ex.argumentExpression;
Debug.assert(isLiteralExpression(argument));
name = escapeLeadingUnderscores((argument as LiteralExpression).text);
name = escapeLeadingUnderscores(cast(ex.argumentExpression, isLiteralExpression).text);
}
return evaluateEnumMember(expr, type.symbol, name);
}

View File

@ -459,10 +459,6 @@
"category": "Error",
"code": 1149
},
"'new T[]' cannot be used to create an array. Use 'new Array<T>()' instead.": {
"category": "Error",
"code": 1150
},
"'const' declarations must be initialized.": {
"category": "Error",
"code": 1155