When handling an array type, the lookup should use the position index instead of the identifier name. Also uncomment the tests in the `staticFieldWithInterfaceContext.ts` test which failed because of this bug. Fixes #40158.
26 lines
923 B
TypeScript
26 lines
923 B
TypeScript
interface I {
|
|
x: { a: "a" };
|
|
}
|
|
let c: I = class {
|
|
// should typecheck the same as the last line
|
|
static x = { a: "a" };
|
|
};
|
|
c.x = { a: "a" };
|
|
|
|
const ex = "x";
|
|
let c2: I = class { static [ex] = { a: "a" }; };
|
|
c[ex] = { a: "a" };
|
|
|
|
function f(c: I = class { static x = { a: "a" } }) { }
|
|
|
|
let { c: c3 }: { c: I } = { c: class { static x = { a: "a" } } };
|
|
let { c: c4 = class { static x = { a: "a" } }}: { c?: I } = { };
|
|
let { c: c5 = class { static x = { a: "a" } }}: { c?: I } = { c: class { static x = { a: "a" } } };
|
|
let [ c6 ]: [I] = [class { static x = { a: "a" } }];
|
|
let [ c7 ]: I[] = [class { static x = { a: "a" } }];
|
|
|
|
let [ c8 = class { static x = { a: "a" } } ]: [I?] = [];
|
|
let [ c9 = class { static x = { a: "a" } } ]: I[] = [];
|
|
let [ c10 = class { static x = { a: "a" } } ]: [I?] = [class { static x = { a: "a" } }];
|
|
let [ c11 = class { static x = { a: "a" } } ]: I[] = [class { static x = { a: "a" } }];
|