==== tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts (11 errors) ==== module NonGeneric { class C { fn() { return this; } static get x() { return 1; } ~ !!! Accessors are only available when targeting ECMAScript 5 and higher. static set x(v) { } ~ !!! Accessors are only available when targeting ECMAScript 5 and higher. constructor(public a: number, private b: number) { } static foo: string; // not reflected in class type } module C { export var bar = ''; // not reflected in class type } var c = new C(1, 2); var r = c.fn(); var r4 = c.foo; // error ~~~ !!! Property 'foo' does not exist on type 'C'. var r5 = c.bar; // error ~~~ !!! Property 'bar' does not exist on type 'C'. var r6 = c.x; // error ~ !!! Property 'x' does not exist on type 'C'. } module Generic { class C { fn() { return this; } static get x() { return 1; } ~ !!! Accessors are only available when targeting ECMAScript 5 and higher. static set x(v) { } ~ !!! Accessors are only available when targeting ECMAScript 5 and higher. constructor(public a: T, private b: U) { } static foo: T; // not reflected in class type ~ !!! Static members cannot reference class type parameters. } module C { export var bar = ''; // not reflected in class type } var c = new C(1, ''); var r = c.fn(); var r4 = c.foo; // error ~~~ !!! Property 'foo' does not exist on type 'C'. var r5 = c.bar; // error ~~~ !!! Property 'bar' does not exist on type 'C'. var r6 = c.x; // error ~ !!! Property 'x' does not exist on type 'C'. }