This was we don't get noisy baselines just because a different phase of the compiler reported the diagnostic. This helps with Yui's refactoring work to move grammar checks into the type checker.
82 lines
No EOL
3.1 KiB
Text
82 lines
No EOL
3.1 KiB
Text
tests/cases/compiler/superInLambdas.ts(47,49): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
tests/cases/compiler/superInLambdas.ts(51,49): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
tests/cases/compiler/superInLambdas.ts(61,34): error TS1034: 'super' must be followed by an argument list or member access.
|
|
tests/cases/compiler/superInLambdas.ts(65,34): error TS1034: 'super' must be followed by an argument list or member access.
|
|
|
|
|
|
==== tests/cases/compiler/superInLambdas.ts (4 errors) ====
|
|
class User {
|
|
name: string = "Bob";
|
|
sayHello(): void {
|
|
//console.log("Hello, " + this.name);
|
|
}
|
|
}
|
|
|
|
class RegisteredUser extends User {
|
|
name: string = "Frank";
|
|
constructor() {
|
|
super();
|
|
|
|
// super call in a constructor
|
|
super.sayHello();
|
|
|
|
// super call in a lambda in a constructor
|
|
var x = () => super.sayHello();
|
|
}
|
|
sayHello(): void {
|
|
// super call in a method
|
|
super.sayHello();
|
|
|
|
// super call in a lambda in a method
|
|
var x = () => super.sayHello();
|
|
}
|
|
}
|
|
class RegisteredUser2 extends User {
|
|
name: string = "Joe";
|
|
constructor() {
|
|
super();
|
|
|
|
// super call in a nested lambda in a constructor
|
|
var x = () => () => () => super.sayHello();
|
|
}
|
|
sayHello(): void {
|
|
// super call in a nested lambda in a method
|
|
var x = () => () => () => super.sayHello();
|
|
}
|
|
}
|
|
|
|
class RegisteredUser3 extends User {
|
|
name: string = "Sam";
|
|
constructor() {
|
|
super();
|
|
|
|
// super property in a nested lambda in a constructor
|
|
var superName = () => () => () => super.name;
|
|
~~~~
|
|
!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
}
|
|
sayHello(): void {
|
|
// super property in a nested lambda in a method
|
|
var superName = () => () => () => super.name;
|
|
~~~~
|
|
!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
}
|
|
}
|
|
|
|
class RegisteredUser4 extends User {
|
|
name: string = "Mark";
|
|
constructor() {
|
|
super();
|
|
|
|
// super in a nested lambda in a constructor
|
|
var x = () => () => super;
|
|
~
|
|
!!! error TS1034: 'super' must be followed by an argument list or member access.
|
|
}
|
|
sayHello(): void {
|
|
// super in a nested lambda in a method
|
|
var x = () => () => super;
|
|
~
|
|
!!! error TS1034: 'super' must be followed by an argument list or member access.
|
|
}
|
|
} |