* rewrite void-returning statements in constructors that capture result of super call * linter
52 lines
837 B
TypeScript
52 lines
837 B
TypeScript
let oneA: A;
|
|
|
|
class A {
|
|
constructor() {
|
|
return oneA;
|
|
}
|
|
}
|
|
|
|
class B extends A {
|
|
constructor(x: number) {
|
|
super();
|
|
if (x === 1) {
|
|
return;
|
|
}
|
|
while (x < 2) {
|
|
return;
|
|
}
|
|
try {
|
|
return
|
|
}
|
|
catch (e) {
|
|
return;
|
|
}
|
|
finally {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
class C extends A {
|
|
constructor(x: number) {
|
|
super();
|
|
for (let i = 0; i < 10; ++i) {
|
|
() => i + x;
|
|
if (x === 1) {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class D extends A {
|
|
constructor(x: number) {
|
|
super();
|
|
() => {
|
|
return;
|
|
}
|
|
function foo() {
|
|
return;
|
|
}
|
|
}
|
|
} |