Skip to content

Commit 139d0f4

Browse files
author
Arthur Ozga
committed
updated baselines
1 parent c93bde6 commit 139d0f4

File tree

4 files changed

+269
-0
lines changed

4 files changed

+269
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(10,7): error TS2515: Non-abstract class 'C<T>' does not implement inherited abstract member 'bar' from class 'A<T>'.
2+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(10,7): error TS2515: Non-abstract class 'C<T>' does not implement inherited abstract member 'foo' from class 'A<T>'.
3+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(12,7): error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'bar' from class 'A<number>'.
4+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(12,7): error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'foo' from class 'A<number>'.
5+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(14,7): error TS2515: Non-abstract class 'E<T>' does not implement inherited abstract member 'bar' from class 'A<T>'.
6+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts(18,7): error TS2515: Non-abstract class 'F<T>' does not implement inherited abstract member 'foo' from class 'A<T>'.
7+
8+
9+
==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractGeneric.ts (6 errors) ====
10+
abstract class A<T> {
11+
t: T;
12+
13+
abstract foo(): T;
14+
abstract bar(t: T);
15+
}
16+
17+
abstract class B<T> extends A<T> {}
18+
19+
class C<T> extends A<T> {} // error -- inherits abstract methods
20+
~
21+
!!! error TS2515: Non-abstract class 'C<T>' does not implement inherited abstract member 'bar' from class 'A<T>'.
22+
~
23+
!!! error TS2515: Non-abstract class 'C<T>' does not implement inherited abstract member 'foo' from class 'A<T>'.
24+
25+
class D extends A<number> {} // error -- inherits abstract methods
26+
~
27+
!!! error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'bar' from class 'A<number>'.
28+
~
29+
!!! error TS2515: Non-abstract class 'D' does not implement inherited abstract member 'foo' from class 'A<number>'.
30+
31+
class E<T> extends A<T> { // error -- doesn't implement bar
32+
~
33+
!!! error TS2515: Non-abstract class 'E<T>' does not implement inherited abstract member 'bar' from class 'A<T>'.
34+
foo() { return this.t; }
35+
}
36+
37+
class F<T> extends A<T> { // error -- doesn't implement foo
38+
~
39+
!!! error TS2515: Non-abstract class 'F<T>' does not implement inherited abstract member 'foo' from class 'A<T>'.
40+
bar(t : T) {}
41+
}
42+
43+
class G<T> extends A<T> {
44+
foo() { return this.t; }
45+
bar(t: T) { }
46+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
//// [classAbstractGeneric.ts]
2+
abstract class A<T> {
3+
t: T;
4+
5+
abstract foo(): T;
6+
abstract bar(t: T);
7+
}
8+
9+
abstract class B<T> extends A<T> {}
10+
11+
class C<T> extends A<T> {} // error -- inherits abstract methods
12+
13+
class D extends A<number> {} // error -- inherits abstract methods
14+
15+
class E<T> extends A<T> { // error -- doesn't implement bar
16+
foo() { return this.t; }
17+
}
18+
19+
class F<T> extends A<T> { // error -- doesn't implement foo
20+
bar(t : T) {}
21+
}
22+
23+
class G<T> extends A<T> {
24+
foo() { return this.t; }
25+
bar(t: T) { }
26+
}
27+
28+
//// [classAbstractGeneric.js]
29+
var __extends = (this && this.__extends) || function (d, b) {
30+
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
31+
function __() { this.constructor = d; }
32+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
33+
};
34+
var A = (function () {
35+
function A() {
36+
}
37+
return A;
38+
})();
39+
var B = (function (_super) {
40+
__extends(B, _super);
41+
function B() {
42+
_super.apply(this, arguments);
43+
}
44+
return B;
45+
})(A);
46+
var C = (function (_super) {
47+
__extends(C, _super);
48+
function C() {
49+
_super.apply(this, arguments);
50+
}
51+
return C;
52+
})(A); // error -- inherits abstract methods
53+
var D = (function (_super) {
54+
__extends(D, _super);
55+
function D() {
56+
_super.apply(this, arguments);
57+
}
58+
return D;
59+
})(A); // error -- inherits abstract methods
60+
var E = (function (_super) {
61+
__extends(E, _super);
62+
function E() {
63+
_super.apply(this, arguments);
64+
}
65+
E.prototype.foo = function () { return this.t; };
66+
return E;
67+
})(A);
68+
var F = (function (_super) {
69+
__extends(F, _super);
70+
function F() {
71+
_super.apply(this, arguments);
72+
}
73+
F.prototype.bar = function (t) { };
74+
return F;
75+
})(A);
76+
var G = (function (_super) {
77+
__extends(G, _super);
78+
function G() {
79+
_super.apply(this, arguments);
80+
}
81+
G.prototype.foo = function () { return this.t; };
82+
G.prototype.bar = function (t) { };
83+
return G;
84+
})(A);
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(7,16): error TS2300: Duplicate identifier 'CI'.
2+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(8,11): error TS2300: Duplicate identifier 'CI'.
3+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(10,11): error TS2300: Duplicate identifier 'IC'.
4+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(11,16): error TS2300: Duplicate identifier 'IC'.
5+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(13,16): error TS2300: Duplicate identifier 'CC1'.
6+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(14,7): error TS2300: Duplicate identifier 'CC1'.
7+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(16,7): error TS2300: Duplicate identifier 'CC2'.
8+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(17,16): error TS2300: Duplicate identifier 'CC2'.
9+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(19,1): error TS2511: Cannot create an instance of the abstract class 'CM'.
10+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(20,1): error TS2511: Cannot create an instance of the abstract class 'MC'.
11+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(21,1): error TS2511: Cannot create an instance of the abstract class 'CI'.
12+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(22,5): error TS2304: Cannot find name 'IC'.
13+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts(23,1): error TS2511: Cannot create an instance of the abstract class 'CC1'.
14+
15+
16+
==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractMergedDeclaration.ts (13 errors) ====
17+
abstract class CM {}
18+
module CM {}
19+
20+
module MC {}
21+
abstract class MC {}
22+
23+
abstract class CI {}
24+
~~
25+
!!! error TS2300: Duplicate identifier 'CI'.
26+
interface CI {}
27+
~~
28+
!!! error TS2300: Duplicate identifier 'CI'.
29+
30+
interface IC {}
31+
~~
32+
!!! error TS2300: Duplicate identifier 'IC'.
33+
abstract class IC {}
34+
~~
35+
!!! error TS2300: Duplicate identifier 'IC'.
36+
37+
abstract class CC1 {}
38+
~~~
39+
!!! error TS2300: Duplicate identifier 'CC1'.
40+
class CC1 {}
41+
~~~
42+
!!! error TS2300: Duplicate identifier 'CC1'.
43+
44+
class CC2 {}
45+
~~~
46+
!!! error TS2300: Duplicate identifier 'CC2'.
47+
abstract class CC2 {}
48+
~~~
49+
!!! error TS2300: Duplicate identifier 'CC2'.
50+
51+
new CM;
52+
~~~~~~
53+
!!! error TS2511: Cannot create an instance of the abstract class 'CM'.
54+
new MC;
55+
~~~~~~
56+
!!! error TS2511: Cannot create an instance of the abstract class 'MC'.
57+
new CI;
58+
~~~~~~
59+
!!! error TS2511: Cannot create an instance of the abstract class 'CI'.
60+
new IC;
61+
~~
62+
!!! error TS2304: Cannot find name 'IC'.
63+
new CC1;
64+
~~~~~~~
65+
!!! error TS2511: Cannot create an instance of the abstract class 'CC1'.
66+
new CC2;
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
//// [classAbstractMergedDeclaration.ts]
2+
abstract class CM {}
3+
module CM {}
4+
5+
module MC {}
6+
abstract class MC {}
7+
8+
abstract class CI {}
9+
interface CI {}
10+
11+
interface IC {}
12+
abstract class IC {}
13+
14+
abstract class CC1 {}
15+
class CC1 {}
16+
17+
class CC2 {}
18+
abstract class CC2 {}
19+
20+
new CM;
21+
new MC;
22+
new CI;
23+
new IC;
24+
new CC1;
25+
new CC2;
26+
27+
//// [classAbstractMergedDeclaration.js]
28+
var CM = (function () {
29+
function CM() {
30+
}
31+
return CM;
32+
})();
33+
var MC = (function () {
34+
function MC() {
35+
}
36+
return MC;
37+
})();
38+
var CI = (function () {
39+
function CI() {
40+
}
41+
return CI;
42+
})();
43+
var IC = (function () {
44+
function IC() {
45+
}
46+
return IC;
47+
})();
48+
var CC1 = (function () {
49+
function CC1() {
50+
}
51+
return CC1;
52+
})();
53+
var CC1 = (function () {
54+
function CC1() {
55+
}
56+
return CC1;
57+
})();
58+
var CC2 = (function () {
59+
function CC2() {
60+
}
61+
return CC2;
62+
})();
63+
var CC2 = (function () {
64+
function CC2() {
65+
}
66+
return CC2;
67+
})();
68+
new CM;
69+
new MC;
70+
new CI;
71+
new IC;
72+
new CC1;
73+
new CC2;

0 commit comments

Comments
 (0)