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.
246 lines
No EOL
6.9 KiB
Text
246 lines
No EOL
6.9 KiB
Text
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(79,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(85,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(94,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(100,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(111,25): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(119,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(125,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts(217,24): error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
|
|
|
|
==== tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts (8 errors) ====
|
|
/** i1 is interface with properties*/
|
|
interface i1 {
|
|
/** i1_p1*/
|
|
i1_p1: number;
|
|
/** i1_f1*/
|
|
i1_f1(): void;
|
|
/** i1_l1*/
|
|
i1_l1: () => void;
|
|
i1_nc_p1: number;
|
|
i1_nc_f1(): void;
|
|
i1_nc_l1: () => void;
|
|
p1: number;
|
|
f1(): void;
|
|
l1: () => void;
|
|
nc_p1: number;
|
|
nc_f1(): void;
|
|
nc_l1: () => void;
|
|
}
|
|
class c1 implements i1 {
|
|
public i1_p1: number;
|
|
public i1_f1() {
|
|
}
|
|
public i1_l1: () => void;
|
|
public i1_nc_p1: number;
|
|
public i1_nc_f1() {
|
|
}
|
|
public i1_nc_l1: () => void;
|
|
/** c1_p1*/
|
|
public p1: number;
|
|
/** c1_f1*/
|
|
public f1() {
|
|
}
|
|
/** c1_l1*/
|
|
public l1: () => void;
|
|
/** c1_nc_p1*/
|
|
public nc_p1: number;
|
|
/** c1_nc_f1*/
|
|
public nc_f1() {
|
|
}
|
|
/** c1_nc_l1*/
|
|
public nc_l1: () => void;
|
|
}
|
|
var i1_i: i1;
|
|
i1_i.i1_f1();
|
|
i1_i.i1_nc_f1();
|
|
i1_i.f1();
|
|
i1_i.nc_f1();
|
|
i1_i.i1_l1();
|
|
i1_i.i1_nc_l1();
|
|
i1_i.l1();
|
|
i1_i.nc_l1();
|
|
var c1_i = new c1();
|
|
c1_i.i1_f1();
|
|
c1_i.i1_nc_f1();
|
|
c1_i.f1();
|
|
c1_i.nc_f1();
|
|
c1_i.i1_l1();
|
|
c1_i.i1_nc_l1();
|
|
c1_i.l1();
|
|
c1_i.nc_l1();
|
|
// assign to interface
|
|
i1_i = c1_i;
|
|
i1_i.i1_f1();
|
|
i1_i.i1_nc_f1();
|
|
i1_i.f1();
|
|
i1_i.nc_f1();
|
|
i1_i.i1_l1();
|
|
i1_i.i1_nc_l1();
|
|
i1_i.l1();
|
|
i1_i.nc_l1();
|
|
|
|
class c2 {
|
|
/** c2 c2_p1*/
|
|
public c2_p1: number;
|
|
/** c2 c2_f1*/
|
|
public c2_f1() {
|
|
}
|
|
/** c2 c2_prop*/
|
|
public get c2_prop() {
|
|
~~~~~~~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
return 10;
|
|
}
|
|
public c2_nc_p1: number;
|
|
public c2_nc_f1() {
|
|
}
|
|
public get c2_nc_prop() {
|
|
~~~~~~~~~~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
return 10;
|
|
}
|
|
/** c2 p1*/
|
|
public p1: number;
|
|
/** c2 f1*/
|
|
public f1() {
|
|
}
|
|
/** c2 prop*/
|
|
public get prop() {
|
|
~~~~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
return 10;
|
|
}
|
|
public nc_p1: number;
|
|
public nc_f1() {
|
|
}
|
|
public get nc_prop() {
|
|
~~~~~~~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
return 10;
|
|
}
|
|
/** c2 constructor*/
|
|
constructor(a: number) {
|
|
this.c2_p1 = a;
|
|
}
|
|
}
|
|
class c3 extends c2 {
|
|
constructor() {
|
|
super(10);
|
|
this.p1 = super.c2_p1;
|
|
~~~~~
|
|
!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
}
|
|
/** c3 p1*/
|
|
public p1: number;
|
|
/** c3 f1*/
|
|
public f1() {
|
|
}
|
|
/** c3 prop*/
|
|
public get prop() {
|
|
~~~~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
return 10;
|
|
}
|
|
public nc_p1: number;
|
|
public nc_f1() {
|
|
}
|
|
public get nc_prop() {
|
|
~~~~~~~
|
|
!!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
|
|
return 10;
|
|
}
|
|
}
|
|
var c2_i = new c2(10);
|
|
var c3_i = new c3();
|
|
c2_i.c2_f1();
|
|
c2_i.c2_nc_f1();
|
|
c2_i.f1();
|
|
c2_i.nc_f1();
|
|
c3_i.c2_f1();
|
|
c3_i.c2_nc_f1();
|
|
c3_i.f1();
|
|
c3_i.nc_f1();
|
|
// assign
|
|
c2_i = c3_i;
|
|
c2_i.c2_f1();
|
|
c2_i.c2_nc_f1();
|
|
c2_i.f1();
|
|
c2_i.nc_f1();
|
|
class c4 extends c2 {
|
|
}
|
|
var c4_i = new c4(10);
|
|
|
|
interface i2 {
|
|
/** i2_p1*/
|
|
i2_p1: number;
|
|
/** i2_f1*/
|
|
i2_f1(): void;
|
|
/** i2_l1*/
|
|
i2_l1: () => void;
|
|
i2_nc_p1: number;
|
|
i2_nc_f1(): void;
|
|
i2_nc_l1: () => void;
|
|
/** i2 p1*/
|
|
p1: number;
|
|
/** i2 f1*/
|
|
f1(): void;
|
|
/** i2 l1*/
|
|
l1: () => void;
|
|
nc_p1: number;
|
|
nc_f1(): void;
|
|
nc_l1: () => void;
|
|
}
|
|
interface i3 extends i2 {
|
|
/** i3 p1*/
|
|
p1: number;
|
|
/** i3 f1*/
|
|
f1(): void;
|
|
/** i3 l1*/
|
|
l1: () => void;
|
|
nc_p1: number;
|
|
nc_f1(): void;
|
|
nc_l1: () => void;
|
|
}
|
|
var i2_i: i2;
|
|
var i3_i: i3;
|
|
i2_i.i2_f1();
|
|
i2_i.i2_nc_f1();
|
|
i2_i.f1();
|
|
i2_i.nc_f1();
|
|
i2_i.i2_l1();
|
|
i2_i.i2_nc_l1();
|
|
i2_i.l1();
|
|
i2_i.nc_l1();
|
|
i3_i.i2_f1();
|
|
i3_i.i2_nc_f1();
|
|
i3_i.f1();
|
|
i3_i.nc_f1();
|
|
i3_i.i2_l1();
|
|
i3_i.i2_nc_l1();
|
|
i3_i.l1();
|
|
i3_i.nc_l1();
|
|
// assign to interface
|
|
i2_i = i3_i;
|
|
i2_i.i2_f1();
|
|
i2_i.i2_nc_f1();
|
|
i2_i.f1();
|
|
i2_i.nc_f1();
|
|
i2_i.i2_l1();
|
|
i2_i.i2_nc_l1();
|
|
i2_i.l1();
|
|
i2_i.nc_l1();
|
|
|
|
/**c5 class*/
|
|
class c5 {
|
|
public b: number;
|
|
}
|
|
class c6 extends c5 {
|
|
public d;
|
|
constructor() {
|
|
super();
|
|
this.d = super.b;
|
|
~
|
|
!!! error TS2340: Only public and protected methods of the base class are accessible via the 'super' keyword
|
|
}
|
|
} |