updated baselines
This commit is contained in:
parent
e4bc29e9a0
commit
b293da4f9b
|
@ -1,5 +1,5 @@
|
|||
tests/cases/compiler/augmentedTypesClass2.ts(4,7): error TS2300: Duplicate identifier 'c11'.
|
||||
tests/cases/compiler/augmentedTypesClass2.ts(10,11): error TS2300: Duplicate identifier 'c11'.
|
||||
tests/cases/compiler/augmentedTypesClass2.ts(4,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/augmentedTypesClass2.ts(10,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/augmentedTypesClass2.ts(16,7): error TS2300: Duplicate identifier 'c33'.
|
||||
tests/cases/compiler/augmentedTypesClass2.ts(21,6): error TS2300: Duplicate identifier 'c33'.
|
||||
|
||||
|
@ -10,7 +10,7 @@ tests/cases/compiler/augmentedTypesClass2.ts(21,6): error TS2300: Duplicate iden
|
|||
// class then interface
|
||||
class c11 { // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'c11'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
foo() {
|
||||
return 1;
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ tests/cases/compiler/augmentedTypesClass2.ts(21,6): error TS2300: Duplicate iden
|
|||
|
||||
interface c11 { // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'c11'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
bar(): void;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
tests/cases/compiler/augmentedTypesInterface.ts(12,11): error TS2300: Duplicate identifier 'i2'.
|
||||
tests/cases/compiler/augmentedTypesInterface.ts(16,7): error TS2300: Duplicate identifier 'i2'.
|
||||
tests/cases/compiler/augmentedTypesInterface.ts(12,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/augmentedTypesInterface.ts(16,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/augmentedTypesInterface.ts(23,11): error TS2300: Duplicate identifier 'i3'.
|
||||
tests/cases/compiler/augmentedTypesInterface.ts(26,6): error TS2300: Duplicate identifier 'i3'.
|
||||
|
||||
|
@ -18,13 +18,13 @@ tests/cases/compiler/augmentedTypesInterface.ts(26,6): error TS2300: Duplicate i
|
|||
// interface then class
|
||||
interface i2 { // error
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'i2'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
foo(): void;
|
||||
}
|
||||
|
||||
class i2 { // error
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'i2'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
bar() {
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
tests/cases/compiler/class1.ts(1,11): error TS2300: Duplicate identifier 'foo'.
|
||||
tests/cases/compiler/class1.ts(2,7): error TS2300: Duplicate identifier 'foo'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/class1.ts (2 errors) ====
|
||||
interface foo{ } // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'foo'.
|
||||
class foo{ } // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'foo'.
|
|
@ -1,10 +0,0 @@
|
|||
//// [class1.ts]
|
||||
interface foo{ } // error
|
||||
class foo{ } // error
|
||||
|
||||
//// [class1.js]
|
||||
var foo = (function () {
|
||||
function foo() {
|
||||
}
|
||||
return foo;
|
||||
})(); // error
|
|
@ -1,11 +0,0 @@
|
|||
tests/cases/compiler/classAndInterface1.ts(1,8): error TS2300: Duplicate identifier 'cli'.
|
||||
tests/cases/compiler/classAndInterface1.ts(2,11): error TS2300: Duplicate identifier 'cli'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/classAndInterface1.ts (2 errors) ====
|
||||
class cli { } // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'cli'.
|
||||
interface cli { } // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'cli'.
|
|
@ -1,10 +0,0 @@
|
|||
//// [classAndInterface1.ts]
|
||||
class cli { } // error
|
||||
interface cli { } // error
|
||||
|
||||
//// [classAndInterface1.js]
|
||||
var cli = (function () {
|
||||
function cli() {
|
||||
}
|
||||
return cli;
|
||||
})(); // error
|
|
@ -0,0 +1,46 @@
|
|||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts(12,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts(14,11): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts(16,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts(18,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts(20,18): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts(24,22): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/classAndInterfaceMerge.d.ts (6 errors) ====
|
||||
|
||||
interface C { }
|
||||
|
||||
declare class C { }
|
||||
|
||||
interface C { }
|
||||
|
||||
interface C { }
|
||||
|
||||
declare module M {
|
||||
|
||||
interface C1 { }
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
class C1 { }
|
||||
~~
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
interface C1 { }
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
interface C1 { }
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
export class C2 { }
|
||||
~~
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
}
|
||||
|
||||
declare module M {
|
||||
export interface C2 { }
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
}
|
|
@ -1,27 +1,39 @@
|
|||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(1,7): error TS2300: Duplicate identifier 'C'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(2,11): error TS2300: Duplicate identifier 'C'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(5,11): error TS2300: Duplicate identifier 'D'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(9,15): error TS2300: Duplicate identifier 'D'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(1,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(1,11): error TS2300: Duplicate identifier 'foo'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(2,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(2,15): error TS2300: Duplicate identifier 'foo'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(5,11): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(6,9): error TS2300: Duplicate identifier 'bar'.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(9,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts(10,9): error TS2300: Duplicate identifier 'bar'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts (4 errors) ====
|
||||
==== tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts (8 errors) ====
|
||||
class C { foo: string; }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'C'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'foo'.
|
||||
interface C { foo: string; } // error
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'C'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'foo'.
|
||||
|
||||
module M {
|
||||
class D {
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'D'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
bar: string;
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'bar'.
|
||||
}
|
||||
|
||||
interface D { // error
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'D'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
bar: string;
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'bar'.
|
||||
}
|
||||
}
|
|
@ -1,50 +1,50 @@
|
|||
tests/cases/compiler/clinterfaces.ts(2,11): error TS2300: Duplicate identifier 'C'.
|
||||
tests/cases/compiler/clinterfaces.ts(3,15): error TS2300: Duplicate identifier 'C'.
|
||||
tests/cases/compiler/clinterfaces.ts(4,15): error TS2300: Duplicate identifier 'D'.
|
||||
tests/cases/compiler/clinterfaces.ts(5,11): error TS2300: Duplicate identifier 'D'.
|
||||
tests/cases/compiler/clinterfaces.ts(8,11): error TS2300: Duplicate identifier 'Foo'.
|
||||
tests/cases/compiler/clinterfaces.ts(12,7): error TS2300: Duplicate identifier 'Foo'.
|
||||
tests/cases/compiler/clinterfaces.ts(16,7): error TS2300: Duplicate identifier 'Bar'.
|
||||
tests/cases/compiler/clinterfaces.ts(20,11): error TS2300: Duplicate identifier 'Bar'.
|
||||
tests/cases/compiler/clinterfaces.ts(2,11): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/clinterfaces.ts(3,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/clinterfaces.ts(4,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/clinterfaces.ts(5,11): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/clinterfaces.ts(8,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/clinterfaces.ts(12,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/clinterfaces.ts(16,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/clinterfaces.ts(20,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
|
||||
==== tests/cases/compiler/clinterfaces.ts (8 errors) ====
|
||||
module M {
|
||||
class C { }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'C'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
interface C { }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'C'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
interface D { }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'D'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
class D { }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'D'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
}
|
||||
|
||||
interface Foo<T> {
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'Foo'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
a: string;
|
||||
}
|
||||
|
||||
class Foo<T>{
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'Foo'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
b: number;
|
||||
}
|
||||
|
||||
class Bar<T>{
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'Bar'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
b: number;
|
||||
}
|
||||
|
||||
interface Bar<T> {
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'Bar'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
a: string;
|
||||
}
|
||||
|
||||
|
|
|
@ -49,3 +49,4 @@ var Bar = (function () {
|
|||
}
|
||||
return Bar;
|
||||
})();
|
||||
module.exports = Foo;
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
tests/cases/compiler/declInput.ts(1,11): error TS2300: Duplicate identifier 'bar'.
|
||||
tests/cases/compiler/declInput.ts(5,7): error TS2300: Duplicate identifier 'bar'.
|
||||
tests/cases/compiler/declInput.ts(1,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/declInput.ts(5,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
|
||||
==== tests/cases/compiler/declInput.ts (2 errors) ====
|
||||
interface bar {
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'bar'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
}
|
||||
|
||||
class bar {
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'bar'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
public f() { return ''; }
|
||||
public g() { return {a: <bar>null, b: undefined, c: void 4 }; }
|
||||
public h(x = 4, y = null, z = '') { x++; }
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts(1,15): error TS2300: Duplicate identifier 'C1'.
|
||||
tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts(3,15): error TS2300: Duplicate identifier 'C1'.
|
||||
tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts(5,15): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts(7,11): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts(9,15): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(3,15): error TS2300: Duplicate identifier 'C1'.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(5,15): error TS2300: Duplicate identifier 'C1'.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(7,15): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(9,11): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(11,15): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/conformance/classes/classDeclarations/file2.ts(2,15): error TS2300: Duplicate identifier 'C3'.
|
||||
tests/cases/conformance/classes/classDeclarations/file3.ts(2,15): error TS2300: Duplicate identifier 'C3'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts (5 errors) ====
|
||||
==== tests/cases/conformance/classes/classDeclarations/file1.ts (5 errors) ====
|
||||
|
||||
|
||||
declare class C1 {}
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'C1'.
|
||||
|
@ -24,4 +28,16 @@ tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts
|
|||
|
||||
declare class C2 {}
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'C2'.
|
||||
!!! error TS2300: Duplicate identifier 'C2'.
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/file2.ts (1 errors) ====
|
||||
|
||||
declare class C3 { }
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'C3'.
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/file3.ts (1 errors) ====
|
||||
|
||||
declare class C3 { }
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'C3'.
|
|
@ -1,4 +1,8 @@
|
|||
//// [declaredClassMergedwithSelf.ts]
|
||||
//// [tests/cases/conformance/classes/classDeclarations/declaredClassMergedwithSelf.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
|
||||
|
||||
declare class C1 {}
|
||||
|
||||
declare class C1 {}
|
||||
|
@ -7,6 +11,16 @@ declare class C2 {}
|
|||
|
||||
interface C2 {}
|
||||
|
||||
declare class C2 {}
|
||||
declare class C2 {}
|
||||
|
||||
//// [declaredClassMergedwithSelf.js]
|
||||
//// [file2.ts]
|
||||
|
||||
declare class C3 { }
|
||||
|
||||
//// [file3.ts]
|
||||
|
||||
declare class C3 { }
|
||||
|
||||
//// [file1.js]
|
||||
//// [file2.js]
|
||||
//// [file3.js]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(2,22): error TS2300: Duplicate identifier 'I'.
|
||||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(5,18): error TS2300: Duplicate identifier 'I'.
|
||||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(2,22): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(5,18): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(9,21): error TS2300: Duplicate identifier 'f'.
|
||||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(12,18): error TS2300: Duplicate identifier 'f'.
|
||||
tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(37,12): error TS2300: Duplicate identifier 'x'.
|
||||
|
@ -10,12 +10,12 @@ tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts(41,16): er
|
|||
module M {
|
||||
export interface I { }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'I'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
}
|
||||
module M {
|
||||
export class I { } // error
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'I'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
}
|
||||
|
||||
module M {
|
||||
|
|
|
@ -0,0 +1,67 @@
|
|||
tests/cases/compiler/file1.ts(1,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/file1.ts(2,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/file1.ts(3,7): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/compiler/file1.ts(4,10): error TS2300: Duplicate identifier 'f'.
|
||||
tests/cases/compiler/file1.ts(8,12): error TS2300: Duplicate identifier 'x'.
|
||||
tests/cases/compiler/file2.ts(1,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/file2.ts(2,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/file2.ts(3,10): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/compiler/file2.ts(4,7): error TS2300: Duplicate identifier 'f'.
|
||||
tests/cases/compiler/file2.ts(7,8): error TS2433: A namespace declaration cannot be in a different file from a class or function with which it is merged
|
||||
tests/cases/compiler/file2.ts(8,16): error TS2300: Duplicate identifier 'x'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/file1.ts (5 errors) ====
|
||||
interface I { }
|
||||
~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
class C1 { }
|
||||
~~
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
class C2 { }
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'C2'.
|
||||
function f() { }
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'f'.
|
||||
var v = 3;
|
||||
|
||||
class Foo {
|
||||
static x: number;
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'x'.
|
||||
}
|
||||
|
||||
module N {
|
||||
export module F {
|
||||
var t;
|
||||
}
|
||||
}
|
||||
|
||||
==== tests/cases/compiler/file2.ts (6 errors) ====
|
||||
class I { } // error -- cannot merge interface with non-ambient class
|
||||
~
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
interface C1 { } // error -- cannot merge interface with non-ambient class
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
function C2() { } // error -- cannot merge function with non-ambient class
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'C2'.
|
||||
class f { } // error -- cannot merge function with non-ambient class
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'f'.
|
||||
var v = 3;
|
||||
|
||||
module Foo {
|
||||
~~~
|
||||
!!! error TS2433: A namespace declaration cannot be in a different file from a class or function with which it is merged
|
||||
export var x: number; // error for redeclaring var in a different parent
|
||||
~
|
||||
!!! error TS2300: Duplicate identifier 'x'.
|
||||
}
|
||||
|
||||
declare module N {
|
||||
export function F(); // no error because function is ambient
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
//// [tests/cases/compiler/duplicateIdentifiersAcrossFileBoundaries.ts] ////
|
||||
|
||||
//// [file1.ts]
|
||||
interface I { }
|
||||
class C1 { }
|
||||
class C2 { }
|
||||
function f() { }
|
||||
var v = 3;
|
||||
|
||||
class Foo {
|
||||
static x: number;
|
||||
}
|
||||
|
||||
module N {
|
||||
export module F {
|
||||
var t;
|
||||
}
|
||||
}
|
||||
|
||||
//// [file2.ts]
|
||||
class I { } // error -- cannot merge interface with non-ambient class
|
||||
interface C1 { } // error -- cannot merge interface with non-ambient class
|
||||
function C2() { } // error -- cannot merge function with non-ambient class
|
||||
class f { } // error -- cannot merge function with non-ambient class
|
||||
var v = 3;
|
||||
|
||||
module Foo {
|
||||
export var x: number; // error for redeclaring var in a different parent
|
||||
}
|
||||
|
||||
declare module N {
|
||||
export function F(); // no error because function is ambient
|
||||
}
|
||||
|
||||
|
||||
//// [file1.js]
|
||||
var C1 = (function () {
|
||||
function C1() {
|
||||
}
|
||||
return C1;
|
||||
})();
|
||||
var C2 = (function () {
|
||||
function C2() {
|
||||
}
|
||||
return C2;
|
||||
})();
|
||||
function f() { }
|
||||
var v = 3;
|
||||
var Foo = (function () {
|
||||
function Foo() {
|
||||
}
|
||||
return Foo;
|
||||
})();
|
||||
var N;
|
||||
(function (N) {
|
||||
var F;
|
||||
(function (F) {
|
||||
var t;
|
||||
})(F = N.F || (N.F = {}));
|
||||
})(N || (N = {}));
|
||||
//// [file2.js]
|
||||
var I = (function () {
|
||||
function I() {
|
||||
}
|
||||
return I;
|
||||
})(); // error -- cannot merge interface with non-ambient class
|
||||
function C2() { } // error -- cannot merge function with non-ambient class
|
||||
var f = (function () {
|
||||
function f() {
|
||||
}
|
||||
return f;
|
||||
})(); // error -- cannot merge function with non-ambient class
|
||||
var v = 3;
|
||||
var Foo;
|
||||
(function (Foo) {
|
||||
})(Foo || (Foo = {}));
|
|
@ -1,5 +1,5 @@
|
|||
tests/cases/compiler/interfaceDeclaration2.ts(4,11): error TS2300: Duplicate identifier 'I2'.
|
||||
tests/cases/compiler/interfaceDeclaration2.ts(5,7): error TS2300: Duplicate identifier 'I2'.
|
||||
tests/cases/compiler/interfaceDeclaration2.ts(4,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/interfaceDeclaration2.ts(5,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
|
||||
==== tests/cases/compiler/interfaceDeclaration2.ts (2 errors) ====
|
||||
|
@ -8,10 +8,10 @@ tests/cases/compiler/interfaceDeclaration2.ts(5,7): error TS2300: Duplicate iden
|
|||
|
||||
interface I2 { }
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'I2'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
class I2 { }
|
||||
~~
|
||||
!!! error TS2300: Duplicate identifier 'I2'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
interface I3 { }
|
||||
function I3() { }
|
||||
|
|
67
tests/baselines/reference/mergedClassInterface.errors.txt
Normal file
67
tests/baselines/reference/mergedClassInterface.errors.txt
Normal file
|
@ -0,0 +1,67 @@
|
|||
tests/cases/conformance/classes/classDeclarations/file1.ts(11,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(13,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(15,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/conformance/classes/classDeclarations/file1.ts(17,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/file1.ts (4 errors) ====
|
||||
|
||||
|
||||
declare class C1 { }
|
||||
|
||||
interface C1 { }
|
||||
|
||||
interface C2 { }
|
||||
|
||||
declare class C2 { }
|
||||
|
||||
class C3 { } // error -- cannot merge non-ambient class and interface
|
||||
~~
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
interface C3 { } // error -- cannot merge non-ambient class and interface
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
interface C4 { } // error -- cannot merge non-ambient class and interface
|
||||
~~
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
class C4 { } // error -- cannot merge non-ambient class and interface
|
||||
~~
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
interface C5 {
|
||||
x1: number;
|
||||
}
|
||||
|
||||
declare class C5 {
|
||||
x2: number;
|
||||
}
|
||||
|
||||
interface C5 {
|
||||
x3: number;
|
||||
}
|
||||
|
||||
interface C5 {
|
||||
x4: number;
|
||||
}
|
||||
|
||||
// checks if properties actually were merged
|
||||
var c5 : C5;
|
||||
c5.x1;
|
||||
c5.x2;
|
||||
c5.x3;
|
||||
c5.x4;
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/file2.ts (0 errors) ====
|
||||
|
||||
declare class C6 { }
|
||||
|
||||
interface C7 { }
|
||||
|
||||
==== tests/cases/conformance/classes/classDeclarations/file3.ts (0 errors) ====
|
||||
|
||||
interface C6 { }
|
||||
|
||||
declare class C7 { }
|
|
@ -1,14 +1,117 @@
|
|||
//// [mergedClassInterface.ts]
|
||||
declare class C1 {}
|
||||
|
||||
interface C1 {}
|
||||
|
||||
interface C2 {}
|
||||
|
||||
declare class C2 {}
|
||||
|
||||
interface C2 {}
|
||||
|
||||
interface C2 {}
|
||||
//// [tests/cases/conformance/classes/classDeclarations/mergedClassInterface.ts] ////
|
||||
|
||||
//// [mergedClassInterface.js]
|
||||
//// [file1.ts]
|
||||
|
||||
|
||||
declare class C1 { }
|
||||
|
||||
interface C1 { }
|
||||
|
||||
interface C2 { }
|
||||
|
||||
declare class C2 { }
|
||||
|
||||
class C3 { } // error -- cannot merge non-ambient class and interface
|
||||
|
||||
interface C3 { } // error -- cannot merge non-ambient class and interface
|
||||
|
||||
interface C4 { } // error -- cannot merge non-ambient class and interface
|
||||
|
||||
class C4 { } // error -- cannot merge non-ambient class and interface
|
||||
|
||||
interface C5 {
|
||||
x1: number;
|
||||
}
|
||||
|
||||
declare class C5 {
|
||||
x2: number;
|
||||
}
|
||||
|
||||
interface C5 {
|
||||
x3: number;
|
||||
}
|
||||
|
||||
interface C5 {
|
||||
x4: number;
|
||||
}
|
||||
|
||||
// checks if properties actually were merged
|
||||
var c5 : C5;
|
||||
c5.x1;
|
||||
c5.x2;
|
||||
c5.x3;
|
||||
c5.x4;
|
||||
|
||||
//// [file2.ts]
|
||||
|
||||
declare class C6 { }
|
||||
|
||||
interface C7 { }
|
||||
|
||||
//// [file3.ts]
|
||||
|
||||
interface C6 { }
|
||||
|
||||
declare class C7 { }
|
||||
|
||||
//// [file1.js]
|
||||
var C3 = (function () {
|
||||
function C3() {
|
||||
}
|
||||
return C3;
|
||||
})(); // error -- cannot merge non-ambient class and interface
|
||||
var C4 = (function () {
|
||||
function C4() {
|
||||
}
|
||||
return C4;
|
||||
})(); // error -- cannot merge non-ambient class and interface
|
||||
// checks if properties actually were merged
|
||||
var c5;
|
||||
c5.x1;
|
||||
c5.x2;
|
||||
c5.x3;
|
||||
c5.x4;
|
||||
//// [file2.js]
|
||||
//// [file3.js]
|
||||
|
||||
|
||||
//// [file1.d.ts]
|
||||
declare class C1 {
|
||||
}
|
||||
interface C1 {
|
||||
}
|
||||
interface C2 {
|
||||
}
|
||||
declare class C2 {
|
||||
}
|
||||
declare class C3 {
|
||||
}
|
||||
interface C3 {
|
||||
}
|
||||
interface C4 {
|
||||
}
|
||||
declare class C4 {
|
||||
}
|
||||
interface C5 {
|
||||
x1: number;
|
||||
}
|
||||
declare class C5 {
|
||||
x2: number;
|
||||
}
|
||||
interface C5 {
|
||||
x3: number;
|
||||
}
|
||||
interface C5 {
|
||||
x4: number;
|
||||
}
|
||||
declare var c5: C5;
|
||||
//// [file2.d.ts]
|
||||
declare class C6 {
|
||||
}
|
||||
interface C7 {
|
||||
}
|
||||
//// [file3.d.ts]
|
||||
interface C6 {
|
||||
}
|
||||
declare class C7 {
|
||||
}
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
=== tests/cases/conformance/classes/classDeclarations/mergedClassInterface.ts ===
|
||||
declare class C1 {}
|
||||
>C1 : Symbol(C1, Decl(mergedClassInterface.ts, 0, 0), Decl(mergedClassInterface.ts, 0, 19))
|
||||
|
||||
interface C1 {}
|
||||
>C1 : Symbol(C1, Decl(mergedClassInterface.ts, 0, 0), Decl(mergedClassInterface.ts, 0, 19))
|
||||
|
||||
interface C2 {}
|
||||
>C2 : Symbol(C2, Decl(mergedClassInterface.ts, 2, 15), Decl(mergedClassInterface.ts, 4, 15), Decl(mergedClassInterface.ts, 6, 19), Decl(mergedClassInterface.ts, 8, 15))
|
||||
|
||||
declare class C2 {}
|
||||
>C2 : Symbol(C2, Decl(mergedClassInterface.ts, 2, 15), Decl(mergedClassInterface.ts, 4, 15), Decl(mergedClassInterface.ts, 6, 19), Decl(mergedClassInterface.ts, 8, 15))
|
||||
|
||||
interface C2 {}
|
||||
>C2 : Symbol(C2, Decl(mergedClassInterface.ts, 2, 15), Decl(mergedClassInterface.ts, 4, 15), Decl(mergedClassInterface.ts, 6, 19), Decl(mergedClassInterface.ts, 8, 15))
|
||||
|
||||
interface C2 {}
|
||||
>C2 : Symbol(C2, Decl(mergedClassInterface.ts, 2, 15), Decl(mergedClassInterface.ts, 4, 15), Decl(mergedClassInterface.ts, 6, 19), Decl(mergedClassInterface.ts, 8, 15))
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
=== tests/cases/conformance/classes/classDeclarations/mergedClassInterface.ts ===
|
||||
declare class C1 {}
|
||||
>C1 : C1
|
||||
|
||||
interface C1 {}
|
||||
>C1 : C1
|
||||
|
||||
interface C2 {}
|
||||
>C2 : C2
|
||||
|
||||
declare class C2 {}
|
||||
>C2 : C2
|
||||
|
||||
interface C2 {}
|
||||
>C2 : C2
|
||||
|
||||
interface C2 {}
|
||||
>C2 : C2
|
||||
|
|
@ -11,10 +11,10 @@ tests/cases/compiler/nameCollisions.ts(33,11): error TS2300: Duplicate identifie
|
|||
tests/cases/compiler/nameCollisions.ts(34,14): error TS2300: Duplicate identifier 'C'.
|
||||
tests/cases/compiler/nameCollisions.ts(36,14): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/compiler/nameCollisions.ts(37,11): error TS2300: Duplicate identifier 'C2'.
|
||||
tests/cases/compiler/nameCollisions.ts(42,11): error TS2300: Duplicate identifier 'cli'.
|
||||
tests/cases/compiler/nameCollisions.ts(43,15): error TS2300: Duplicate identifier 'cli'.
|
||||
tests/cases/compiler/nameCollisions.ts(45,15): error TS2300: Duplicate identifier 'cli2'.
|
||||
tests/cases/compiler/nameCollisions.ts(46,11): error TS2300: Duplicate identifier 'cli2'.
|
||||
tests/cases/compiler/nameCollisions.ts(42,11): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/nameCollisions.ts(43,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/nameCollisions.ts(45,15): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/nameCollisions.ts(46,11): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
|
||||
|
||||
==== tests/cases/compiler/nameCollisions.ts (17 errors) ====
|
||||
|
@ -87,15 +87,15 @@ tests/cases/compiler/nameCollisions.ts(46,11): error TS2300: Duplicate identifie
|
|||
|
||||
class cli { }
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'cli'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
interface cli { } // error
|
||||
~~~
|
||||
!!! error TS2300: Duplicate identifier 'cli'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
|
||||
interface cli2 { }
|
||||
~~~~
|
||||
!!! error TS2300: Duplicate identifier 'cli2'.
|
||||
!!! error TS2507: An interface cannot merge with a non-ambient class.
|
||||
class cli2 { } // error
|
||||
~~~~
|
||||
!!! error TS2300: Duplicate identifier 'cli2'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
lib.d.ts(521,11): error TS2300: Duplicate identifier 'TemplateStringsArray'.
|
||||
tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(2,7): error TS2300: Duplicate identifier 'TemplateStringsArray'.
|
||||
tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(8,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
Property 'raw' is missing in type '{ [x: number]: undefined; }'.
|
||||
lib.d.ts(521,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(2,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(8,3): error TS2345: Argument of type '{}' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
Property 'raw' is missing in type '{}'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts (2 errors) ====
|
||||
|
||||
class TemplateStringsArray {
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'TemplateStringsArray'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
}
|
||||
|
||||
function f(x: TemplateStringsArray, y: number, z: number) {
|
||||
|
@ -16,7 +16,7 @@ tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(8,3): error TS2
|
|||
|
||||
f({}, 10, 10);
|
||||
~~
|
||||
!!! error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
!!! error TS2345: Property 'raw' is missing in type '{ [x: number]: undefined; }'.
|
||||
!!! error TS2345: Argument of type '{}' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
!!! error TS2345: Property 'raw' is missing in type '{}'.
|
||||
|
||||
f `abcdef${ 1234 }${ 5678 }ghijkl`;
|
|
@ -1,14 +1,14 @@
|
|||
lib.d.ts(521,11): error TS2300: Duplicate identifier 'TemplateStringsArray'.
|
||||
tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(2,7): error TS2300: Duplicate identifier 'TemplateStringsArray'.
|
||||
tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(8,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
Property 'raw' is missing in type '{ [x: number]: undefined; }'.
|
||||
lib.d.ts(521,11): error TS2507: An interface cannot merge with a non-ambient class.
|
||||
tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(2,7): error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(8,3): error TS2345: Argument of type '{}' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
Property 'raw' is missing in type '{}'.
|
||||
|
||||
|
||||
==== tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts (2 errors) ====
|
||||
|
||||
class TemplateStringsArray {
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2300: Duplicate identifier 'TemplateStringsArray'.
|
||||
!!! error TS2506: A non-ambient class cannot be merged with an interface.
|
||||
}
|
||||
|
||||
function f(x: TemplateStringsArray, y: number, z: number) {
|
||||
|
@ -16,7 +16,7 @@ tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(8,3): error T
|
|||
|
||||
f({}, 10, 10);
|
||||
~~
|
||||
!!! error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
!!! error TS2345: Property 'raw' is missing in type '{ [x: number]: undefined; }'.
|
||||
!!! error TS2345: Argument of type '{}' is not assignable to parameter of type 'TemplateStringsArray'.
|
||||
!!! error TS2345: Property 'raw' is missing in type '{}'.
|
||||
|
||||
f `abcdef${ 1234 }${ 5678 }ghijkl`;
|
Loading…
Reference in a new issue