tests/cases/compiler/objectCreationOfElementAccessExpression.ts(53,17): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol, or 'any'. tests/cases/compiler/objectCreationOfElementAccessExpression.ts(53,63): error TS2348: Value of type 'typeof Cookie' is not callable. Did you mean to include 'new'? tests/cases/compiler/objectCreationOfElementAccessExpression.ts(54,33): error TS2342: An index expression argument must be of type 'string', 'number', 'symbol, or 'any'. tests/cases/compiler/objectCreationOfElementAccessExpression.ts(54,79): error TS2348: Value of type 'typeof Cookie' is not callable. Did you mean to include 'new'? ==== tests/cases/compiler/objectCreationOfElementAccessExpression.ts (4 errors) ==== class Food { private amount: number; constructor(public name: string) { this.amount = 100; } public eat(amountToEat: number): boolean { this.amount -= amountToEat; if (this.amount <= 0) { this.amount = 0; return false; } else { return true; } } } class MonsterFood extends Food { constructor(name: string, public flavor: string) { super(name); } } class IceCream extends MonsterFood { private isDairyFree: boolean; constructor(public flavor: string) { super("Ice Cream", flavor); } } class Cookie extends MonsterFood { constructor(public flavor: string, public isGlutenFree: boolean) { super("Cookie", flavor); } } class PetFood extends Food { constructor(name: string, public whereToBuy: number) { super(name); } } class ExpensiveOrganicDogFood extends PetFood { constructor(public whereToBuy: number) { super("Origen", whereToBuy); } } class ExpensiveOrganicCatFood extends PetFood { constructor(public whereToBuy: number, public containsFish: boolean) { super("Nature's Logic", whereToBuy); } } class Slug { // This is NOT a food!!! } // ElementAccessExpressions can only contain one expression. There should be a parse error here. var foods = new PetFood[new IceCream('Mint chocolate chip') , Cookie('Chocolate chip', false) , new Cookie('Peanut butter', true)]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2342: An index expression argument must be of type 'string', 'number', 'symbol, or 'any'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2348: Value of type 'typeof Cookie' is not callable. Did you mean to include 'new'? var foods2: MonsterFood[] = new PetFood[new IceCream('Mint chocolate chip') , Cookie('Chocolate chip', false) , new Cookie('Peanut butter', true)]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2342: An index expression argument must be of type 'string', 'number', 'symbol, or 'any'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2348: Value of type 'typeof Cookie' is not callable. Did you mean to include 'new'?