TypeScript/tests/cases/conformance/expressions/thisKeyword/thisInInvalidContextsExternalModule.ts
2015-11-30 09:43:30 -08:00

48 lines
No EOL
1 KiB
TypeScript

//'this' in static member initializer
class ErrClass1 {
static t = this; // Error
}
class BaseErrClass {
constructor(t: any) { }
}
class ClassWithNoInitializer extends BaseErrClass {
t;
//'this' in optional super call
constructor() {
super(this); // error: "super" has to be called before "this" accessing
}
}
class ClassWithInitializer extends BaseErrClass {
t = 4;
//'this' in required super call
constructor() {
super(this); // Error
}
}
module M {
//'this' in module variable
var x = this; // Error
}
//'this' as type parameter constraint
// function fn<T extends this >() { } // Error
//'this' as a type argument
function genericFunc<T>(x: T) { }
genericFunc<this>(undefined); // Should be an error
class ErrClass3 extends this {
}
//'this' as a computed enum value
enum SomeEnum {
A = this, // Should not be allowed
B = this.spaaaace // Also should not be allowed
}
export = this; // Should be an error