1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
=== tests/cases/compiler/collisionArgumentsFunction.ts ===
// Functions
function f1(arguments: number, ...restParameters) { //arguments is error
>f1 : (arguments: number, ...restParameters: any[]) => void
>arguments : number
>restParameters : any[]
var arguments = 10; // no error
>arguments : number
>10 : 10
}
function f12(i: number, ...arguments) { //arguments is error
>f12 : (i: number, ...arguments: any[]) => void
>i : number
>arguments : any[]
var arguments: any[]; // no error
>arguments : any[]
}
function f1NoError(arguments: number) { // no error
>f1NoError : (arguments: number) => void
>arguments : number
var arguments = 10; // no error
>arguments : number
>10 : 10
}
declare function f2(i: number, ...arguments); // no error - no code gen
>f2 : (i: number, ...arguments: any[]) => any
>i : number
>arguments : any[]
declare function f21(arguments: number, ...rest); // no error - no code gen
>f21 : (arguments: number, ...rest: any[]) => any
>arguments : number
>rest : any[]
declare function f2NoError(arguments: number); // no error
>f2NoError : (arguments: number) => any
>arguments : number
function f3(...restParameters) {
>f3 : (...restParameters: any[]) => void
>restParameters : any[]
var arguments = 10; // no error
>arguments : number
>10 : 10
}
function f3NoError() {
>f3NoError : () => void
var arguments = 10; // no error
>arguments : number
>10 : 10
}
function f4(arguments: number, ...rest); // no codegen no error
>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; }
>arguments : number
>rest : any[]
function f4(arguments: string, ...rest); // no codegen no error
>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; }
>arguments : string
>rest : any[]
function f4(arguments: any, ...rest) { // error
>f4 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; }
>arguments : any
>rest : any[]
var arguments: any; // No error
>arguments : any
}
function f42(i: number, ...arguments); // no codegen no error
>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; }
>i : number
>arguments : any[]
function f42(i: string, ...arguments); // no codegen no error
>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; }
>i : string
>arguments : any[]
function f42(i: any, ...arguments) { // error
>f42 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; }
>i : any
>arguments : any[]
var arguments: any[]; // No error
>arguments : any[]
}
function f4NoError(arguments: number); // no error
>f4NoError : { (arguments: number): any; (arguments: string): any; }
>arguments : number
function f4NoError(arguments: string); // no error
>f4NoError : { (arguments: number): any; (arguments: string): any; }
>arguments : string
function f4NoError(arguments: any) { // no error
>f4NoError : { (arguments: number): any; (arguments: string): any; }
>arguments : any
var arguments: any; // No error
>arguments : any
}
declare function f5(arguments: number, ...rest); // no codegen no error
>f5 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; }
>arguments : number
>rest : any[]
declare function f5(arguments: string, ...rest); // no codegen no error
>f5 : { (arguments: number, ...rest: any[]): any; (arguments: string, ...rest: any[]): any; }
>arguments : string
>rest : any[]
declare function f52(i: number, ...arguments); // no codegen no error
>f52 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; }
>i : number
>arguments : any[]
declare function f52(i: string, ...arguments); // no codegen no error
>f52 : { (i: number, ...arguments: any[]): any; (i: string, ...arguments: any[]): any; }
>i : string
>arguments : any[]
declare function f6(arguments: number); // no codegen no error
>f6 : { (arguments: number): any; (arguments: string): any; }
>arguments : number
declare function f6(arguments: string); // no codegen no error
>f6 : { (arguments: number): any; (arguments: string): any; }
>arguments : string
|