2014-09-12 22:35:07 +02:00
tests/cases/compiler/objectCreationOfElementAccessExpression.ts(53,17): error TS2342: An index expression argument must be of type 'string', 'number', 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', 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'?
2014-07-13 01:04:16 +02:00
==== 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)];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS2342: An index expression argument must be of type 'string', 'number', or 'any'.
2014-07-13 01:04:16 +02:00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS2348: Value of type 'typeof Cookie' is not callable. Did you mean to include 'new'?
2014-07-13 01:04:16 +02:00
var foods2: MonsterFood[] = new PetFood[new IceCream('Mint chocolate chip') , Cookie('Chocolate chip', false) , new Cookie('Peanut butter', true)];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS2342: An index expression argument must be of type 'string', 'number', or 'any'.
2014-07-13 01:04:16 +02:00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2014-09-12 00:19:57 +02:00
!!! error TS2348: Value of type 'typeof Cookie' is not callable. Did you mean to include 'new'?
2014-07-13 01:04:16 +02:00