Files
codeql/javascript/ql/test/query-tests/Declarations/UnreachableOverloads/tst.ts
2025-02-28 13:27:28 +01:00

62 lines
1.2 KiB
TypeScript

declare class Foobar {
method(foo: number): string;
method(foo: number): number; // $ Alert
types1<T>(): T[]
types1(): any[] // $ Alert
types2(): any[]
types2<T>(): T[]
types3<T extends Array<T>>(t: T): number;
types3<T extends string>(t: T): number
on(event: string, fn?: (event?: any, ...args: any[]) => void): Function;
on(event: string, fn?: (event?: any, ...args: any[]) => void): Function; // $ Alert
foo(this: string): string;
foo(this: number): number;
bar(this: number): string;
bar(this: number): number; // $ Alert
}
declare class Base {
method(foo: number): string;
method(foo: number): number; // $ Alert
overRiddenInSub(): string;
overRiddenInSub(): number;
existsInBase(): string;
}
declare class Sub extends Base {
overRiddenInSub(): string;
overRiddenInSub(): number;
existsInBase(): string;
existsInBase(): number;
}
interface Base1 {
method(): "foo";
}
interface Base2 {
method(): "bar";
}
interface MultiInheritanceI extends Base1, Base2 {
method(): "foo";
method(): "bar";
}
declare class MultiInheritanceC implements Base1, Base2 {
method(): "foo";
method(): "bar";
}