Skip to content

Commit efa19f6

Browse files
ajafffRyanCavanaugh
authored andcommitted
remove useless condition as argumentExpression is always defined (microsoft#31567)
* remove useless condition as argumentExpression is always defined * fix formatting * remove obsolete diagnostic
1 parent 0bc3468 commit efa19f6

File tree

3 files changed

+2
-23
lines changed

3 files changed

+2
-23
lines changed

src/compiler/binder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ namespace ts {
778778
function isNarrowableReference(expr: Expression): boolean {
779779
return expr.kind === SyntaxKind.Identifier || expr.kind === SyntaxKind.ThisKeyword || expr.kind === SyntaxKind.SuperKeyword ||
780780
(isPropertyAccessExpression(expr) || isNonNullExpression(expr) || isParenthesizedExpression(expr)) && isNarrowableReference(expr.expression) ||
781-
isElementAccessExpression(expr) && expr.argumentExpression &&
781+
isElementAccessExpression(expr) &&
782782
(isStringLiteral(expr.argumentExpression) || isNumericLiteral(expr.argumentExpression)) &&
783783
isNarrowableReference(expr.expression);
784784
}

src/compiler/checker.ts

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21062,21 +21062,6 @@ namespace ts {
2106221062
const objectType = getAssignmentTargetKind(node) !== AssignmentKind.None || isMethodAccessForCall(node) ? getWidenedType(exprType) : exprType;
2106321063

2106421064
const indexExpression = node.argumentExpression;
21065-
if (!indexExpression) {
21066-
const sourceFile = getSourceFileOfNode(node);
21067-
if (node.parent.kind === SyntaxKind.NewExpression && (<NewExpression>node.parent).expression === node) {
21068-
const start = skipTrivia(sourceFile.text, node.expression.end);
21069-
const end = node.end;
21070-
grammarErrorAtPos(sourceFile, start, end - start, Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead);
21071-
}
21072-
else {
21073-
const start = node.end - "]".length;
21074-
const end = node.end;
21075-
grammarErrorAtPos(sourceFile, start, end - start, Diagnostics.Expression_expected);
21076-
}
21077-
return errorType;
21078-
}
21079-
2108021065
const indexType = checkExpression(indexExpression);
2108121066

2108221067
if (objectType === errorType || objectType === silentNeverType) {
@@ -29742,9 +29727,7 @@ namespace ts {
2974229727
name = ex.name.escapedText;
2974329728
}
2974429729
else {
29745-
const argument = ex.argumentExpression;
29746-
Debug.assert(isLiteralExpression(argument));
29747-
name = escapeLeadingUnderscores((argument as LiteralExpression).text);
29730+
name = escapeLeadingUnderscores(cast(ex.argumentExpression, isLiteralExpression).text);
2974829731
}
2974929732
return evaluateEnumMember(expr, type.symbol, name);
2975029733
}

src/compiler/diagnosticMessages.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -459,10 +459,6 @@
459459
"category": "Error",
460460
"code": 1149
461461
},
462-
"'new T[]' cannot be used to create an array. Use 'new Array<T>()' instead.": {
463-
"category": "Error",
464-
"code": 1150
465-
},
466462
"'const' declarations must be initialized.": {
467463
"category": "Error",
468464
"code": 1155

0 commit comments

Comments
 (0)