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.
75 lines
No EOL
4 KiB
Text
75 lines
No EOL
4 KiB
Text
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(4,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(5,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(16,16): error TS2339: Property 'foo' does not exist on type 'C'.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(17,16): error TS2339: Property 'bar' does not exist on type 'C'.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(18,16): error TS2339: Property 'x' does not exist on type 'C'.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(24,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(25,20): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(27,21): error TS2302: Static members cannot reference class type parameters.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(36,16): error TS2339: Property 'foo' does not exist on type 'C<number, string>'.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(37,16): error TS2339: Property 'bar' does not exist on type 'C<number, string>'.
|
|
tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts(38,16): error TS2339: Property 'x' does not exist on type 'C<number, string>'.
|
|
|
|
|
|
==== tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts (11 errors) ====
|
|
module NonGeneric {
|
|
class C {
|
|
fn() { return this; }
|
|
static get x() { return 1; }
|
|
~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
static set x(v) { }
|
|
~
|
|
!!! error TS1056: 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
|
|
~~~
|
|
!!! error TS2339: Property 'foo' does not exist on type 'C'.
|
|
var r5 = c.bar; // error
|
|
~~~
|
|
!!! error TS2339: Property 'bar' does not exist on type 'C'.
|
|
var r6 = c.x; // error
|
|
~
|
|
!!! error TS2339: Property 'x' does not exist on type 'C'.
|
|
}
|
|
|
|
module Generic {
|
|
class C<T, U> {
|
|
fn() { return this; }
|
|
static get x() { return 1; }
|
|
~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
static set x(v) { }
|
|
~
|
|
!!! error TS1056: 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
|
|
~
|
|
!!! error TS2302: 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
|
|
~~~
|
|
!!! error TS2339: Property 'foo' does not exist on type 'C<number, string>'.
|
|
var r5 = c.bar; // error
|
|
~~~
|
|
!!! error TS2339: Property 'bar' does not exist on type 'C<number, string>'.
|
|
var r6 = c.x; // error
|
|
~
|
|
!!! error TS2339: Property 'x' does not exist on type 'C<number, string>'.
|
|
} |