Skip to content

Commit d511884

Browse files
author
Kanchalai Tanglertsampan
committed
Update baselines from issueing an error for class used before declaration
1 parent ed7a3d0 commit d511884

20 files changed

+140
-110
lines changed

tests/baselines/reference/ModuleAndClassWithSameNameAndCommonRoot.errors.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
tests/cases/conformance/internalModules/DeclarationMerging/module.ts(2,19): error TS2433: A namespace declaration cannot be in a different file from a class or function with which it is merged.
22
tests/cases/conformance/internalModules/DeclarationMerging/simple.ts(1,8): error TS2434: A namespace declaration cannot be located prior to a class or function with which it is merged.
3+
tests/cases/conformance/internalModules/DeclarationMerging/simple.ts(2,31): error TS2449: Class 'A' used before its declaration.
34

45

56
==== tests/cases/conformance/internalModules/DeclarationMerging/module.ts (1 errors) ====
@@ -24,11 +25,13 @@ tests/cases/conformance/internalModules/DeclarationMerging/simple.ts(1,8): error
2425
}
2526
}
2627

27-
==== tests/cases/conformance/internalModules/DeclarationMerging/simple.ts (1 errors) ====
28+
==== tests/cases/conformance/internalModules/DeclarationMerging/simple.ts (2 errors) ====
2829
module A {
2930
~
3031
!!! error TS2434: A namespace declaration cannot be located prior to a class or function with which it is merged.
3132
export var Instance = new A();
33+
~
34+
!!! error TS2449: Class 'A' used before its declaration.
3235
}
3336

3437
// duplicate identifier

tests/baselines/reference/circularImportAlias.errors.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts(5,28): error TS2690: A class must be declared after its base class.
1+
tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts(5,30): error TS2449: Class 'C' used before its declaration.
22

33

44
==== tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts (1 errors) ====
@@ -7,8 +7,8 @@ tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.t
77
module B {
88
export import a = A;
99
export class D extends a.C {
10-
~~~
11-
!!! error TS2690: A class must be declared after its base class.
10+
~
11+
!!! error TS2449: Class 'C' used before its declaration.
1212
id: number;
1313
}
1414
}

tests/baselines/reference/classAbstractInstantiations2.errors.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@ tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbst
33
Cannot assign an abstract constructor type to a non-abstract constructor type.
44
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(17,5): error TS2511: Cannot create an instance of the abstract class 'B'.
55
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(21,1): error TS2511: Cannot create an instance of the abstract class 'B'.
6+
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(23,15): error TS2449: Class 'C' used before its declaration.
67
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(26,7): error TS2515: Non-abstract class 'C' does not implement inherited abstract member 'bar' from class 'B'.
78
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(46,5): error TS2391: Function implementation is missing or not immediately following the declaration.
89
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(46,5): error TS2512: Overload signatures must all be abstract or non-abstract.
910
tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts(50,5): error TS1244: Abstract methods can only appear within an abstract class.
1011

1112

12-
==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts (8 errors) ====
13+
==== tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbstractInstantiations2.ts (9 errors) ====
1314
class A {
1415
// ...
1516
}
@@ -42,6 +43,8 @@ tests/cases/conformance/classes/classDeclarations/classAbstractKeyword/classAbst
4243
!!! error TS2511: Cannot create an instance of the abstract class 'B'.
4344

4445
var x : any = C;
46+
~
47+
!!! error TS2449: Class 'C' used before its declaration.
4548
new x; // okay -- undefined behavior at runtime
4649

4750
class C extends B { } // error -- not declared abstract

tests/baselines/reference/classExtendsItselfIndirectly.errors.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(1,7): error TS2506: 'C' is referenced directly or indirectly in its own base expression.
2+
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(1,17): error TS2449: Class 'E' used before its declaration.
23
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(3,7): error TS2506: 'D' is referenced directly or indirectly in its own base expression.
34
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(5,7): error TS2506: 'E' is referenced directly or indirectly in its own base expression.
45
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(7,7): error TS2506: 'C2' is referenced directly or indirectly in its own base expression.
6+
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(7,21): error TS2449: Class 'E2' used before its declaration.
57
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(9,7): error TS2506: 'D2' is referenced directly or indirectly in its own base expression.
68
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(11,7): error TS2506: 'E2' is referenced directly or indirectly in its own base expression.
79

810

9-
==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts (6 errors) ====
11+
==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts (8 errors) ====
1012
class C extends E { foo: string; } // error
1113
~
1214
!!! error TS2506: 'C' is referenced directly or indirectly in its own base expression.
15+
~
16+
!!! error TS2449: Class 'E' used before its declaration.
1317

1418
class D extends C { bar: string; }
1519
~
@@ -22,6 +26,8 @@ tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/cla
2226
class C2<T> extends E2<T> { foo: T; } // error
2327
~~
2428
!!! error TS2506: 'C2' is referenced directly or indirectly in its own base expression.
29+
~~
30+
!!! error TS2449: Class 'E2' used before its declaration.
2531

2632
class D2<T> extends C2<T> { bar: T; }
2733
~~

tests/baselines/reference/classExtendsItselfIndirectly2.errors.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(1,7): error TS2506: 'C' is referenced directly or indirectly in its own base expression.
2+
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(1,19): error TS2449: Class 'E' used before its declaration.
23
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(4,18): error TS2506: 'D' is referenced directly or indirectly in its own base expression.
34
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(9,18): error TS2506: 'E' is referenced directly or indirectly in its own base expression.
45
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(13,11): error TS2506: 'C2' is referenced directly or indirectly in its own base expression.
6+
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(13,27): error TS2449: Class 'E2' used before its declaration.
57
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(16,22): error TS2506: 'D2' is referenced directly or indirectly in its own base expression.
68
tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts(20,22): error TS2506: 'E2' is referenced directly or indirectly in its own base expression.
79

810

9-
==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts (6 errors) ====
11+
==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts (8 errors) ====
1012
class C extends N.E { foo: string; } // error
1113
~
1214
!!! error TS2506: 'C' is referenced directly or indirectly in its own base expression.
15+
~
16+
!!! error TS2449: Class 'E' used before its declaration.
1317

1418
module M {
1519
export class D extends C { bar: string; }
@@ -28,6 +32,8 @@ tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/cla
2832
class C2<T> extends Q.E2<T> { foo: T; } // error
2933
~~
3034
!!! error TS2506: 'C2' is referenced directly or indirectly in its own base expression.
35+
~~
36+
!!! error TS2449: Class 'E2' used before its declaration.
3137

3238
module P {
3339
export class D2<T> extends C2<T> { bar: T; }
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
tests/cases/compiler/classInheritence.ts(1,17): error TS2690: A class must be declared after its base class.
1+
tests/cases/compiler/classInheritence.ts(1,17): error TS2449: Class 'A' used before its declaration.
22
tests/cases/compiler/classInheritence.ts(2,7): error TS2506: 'A' is referenced directly or indirectly in its own base expression.
33

44

55
==== tests/cases/compiler/classInheritence.ts (2 errors) ====
66
class B extends A { }
77
~
8-
!!! error TS2690: A class must be declared after its base class.
8+
!!! error TS2449: Class 'A' used before its declaration.
99
class A extends A { }
1010
~
1111
!!! error TS2506: 'A' is referenced directly or indirectly in its own base expression.

tests/baselines/reference/classOrder2.errors.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
tests/cases/compiler/classOrder2.ts(2,17): error TS2690: A class must be declared after its base class.
1+
tests/cases/compiler/classOrder2.ts(2,17): error TS2449: Class 'B' used before its declaration.
22

33

44
==== tests/cases/compiler/classOrder2.ts (1 errors) ====
55

66
class A extends B {
77
~
8-
!!! error TS2690: A class must be declared after its base class.
8+
!!! error TS2449: Class 'B' used before its declaration.
99

1010
foo() { this.bar(); }
1111

tests/baselines/reference/classSideInheritance2.errors.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
tests/cases/compiler/classSideInheritance2.ts(7,23): error TS2690: A class must be declared after its base class.
1+
tests/cases/compiler/classSideInheritance2.ts(7,23): error TS2449: Class 'TextBase' used before its declaration.
22

33

44
==== tests/cases/compiler/classSideInheritance2.ts (1 errors) ====
@@ -10,7 +10,7 @@ tests/cases/compiler/classSideInheritance2.ts(7,23): error TS2690: A class must
1010

1111
class SubText extends TextBase {
1212
~~~~~~~~
13-
!!! error TS2690: A class must be declared after its base class.
13+
!!! error TS2449: Class 'TextBase' used before its declaration.
1414

1515
constructor(text: IText, span: TextSpan) {
1616
super();

tests/baselines/reference/complexClassRelationships.errors.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
tests/cases/compiler/complexClassRelationships.ts(2,23): error TS2690: A class must be declared after its base class.
1+
tests/cases/compiler/complexClassRelationships.ts(2,23): error TS2449: Class 'Base' used before its declaration.
22

33

44
==== tests/cases/compiler/complexClassRelationships.ts (1 errors) ====
55
// There should be no errors in this file
66
class Derived extends Base {
77
~~~~
8-
!!! error TS2690: A class must be declared after its base class.
8+
!!! error TS2449: Class 'Base' used before its declaration.
99
public static createEmpty(): Derived {
1010
var item = new Derived();
1111
return item;

tests/baselines/reference/derivedClasses.errors.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
tests/cases/compiler/derivedClasses.ts(1,19): error TS2690: A class must be declared after its base class.
1+
tests/cases/compiler/derivedClasses.ts(1,19): error TS2449: Class 'Color' used before its declaration.
22

33

44
==== tests/cases/compiler/derivedClasses.ts (1 errors) ====
55
class Red extends Color {
66
~~~~~
7-
!!! error TS2690: A class must be declared after its base class.
7+
!!! error TS2449: Class 'Color' used before its declaration.
88
public shade() {
99
var getHue = () => { return this.hue(); };
1010
return getHue() + " red";

0 commit comments

Comments
 (0)