mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-03-15 05:55:11 -05:00
Assert that ambient classes merge with interfaces
Specifically, overloads are recognised as having the same export/ambient flags when merging the two.
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
//// [ambientClassMergesOverloadsWithInterface.ts]
|
||||
declare class C {
|
||||
baz(): any;
|
||||
foo(n: number): any;
|
||||
}
|
||||
interface C {
|
||||
foo(n: number): any;
|
||||
bar(): any;
|
||||
}
|
||||
|
||||
|
||||
//// [ambientClassMergesOverloadsWithInterface.js]
|
||||
@@ -0,0 +1,22 @@
|
||||
=== tests/cases/compiler/ambientClassMergesOverloadsWithInterface.ts ===
|
||||
declare class C {
|
||||
>C : Symbol(C, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 0), Decl(ambientClassMergesOverloadsWithInterface.ts, 3, 1))
|
||||
|
||||
baz(): any;
|
||||
>baz : Symbol(baz, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 17))
|
||||
|
||||
foo(n: number): any;
|
||||
>foo : Symbol(foo, Decl(ambientClassMergesOverloadsWithInterface.ts, 1, 15), Decl(ambientClassMergesOverloadsWithInterface.ts, 4, 13))
|
||||
>n : Symbol(n, Decl(ambientClassMergesOverloadsWithInterface.ts, 2, 8))
|
||||
}
|
||||
interface C {
|
||||
>C : Symbol(C, Decl(ambientClassMergesOverloadsWithInterface.ts, 0, 0), Decl(ambientClassMergesOverloadsWithInterface.ts, 3, 1))
|
||||
|
||||
foo(n: number): any;
|
||||
>foo : Symbol(foo, Decl(ambientClassMergesOverloadsWithInterface.ts, 1, 15), Decl(ambientClassMergesOverloadsWithInterface.ts, 4, 13))
|
||||
>n : Symbol(n, Decl(ambientClassMergesOverloadsWithInterface.ts, 5, 8))
|
||||
|
||||
bar(): any;
|
||||
>bar : Symbol(bar, Decl(ambientClassMergesOverloadsWithInterface.ts, 5, 24))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
=== tests/cases/compiler/ambientClassMergesOverloadsWithInterface.ts ===
|
||||
declare class C {
|
||||
>C : C
|
||||
|
||||
baz(): any;
|
||||
>baz : () => any
|
||||
|
||||
foo(n: number): any;
|
||||
>foo : { (n: number): any; (n: number): any; }
|
||||
>n : number
|
||||
}
|
||||
interface C {
|
||||
>C : C
|
||||
|
||||
foo(n: number): any;
|
||||
>foo : { (n: number): any; (n: number): any; }
|
||||
>n : number
|
||||
|
||||
bar(): any;
|
||||
>bar : () => any
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
declare class C {
|
||||
baz(): any;
|
||||
foo(n: number): any;
|
||||
}
|
||||
interface C {
|
||||
foo(n: number): any;
|
||||
bar(): any;
|
||||
}
|
||||
Reference in New Issue
Block a user