diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 27ec079f614ab..3fbd4a6a807dd 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -630,14 +630,8 @@ function createBinder(): (file: SourceFile, options: CompilerOptions) => void { emitFlags = NodeFlags.None; } - function bindInStrictMode(file: SourceFile, opts: CompilerOptions): boolean { - if (getStrictOptionValue(opts, "alwaysStrict") && !file.isDeclarationFile) { - // bind in strict mode source files with alwaysStrict option - return true; - } - else { - return !!file.externalModuleIndicator; - } + function bindInStrictMode(_file: SourceFile, _opts: CompilerOptions): boolean { + return true; } function createSymbol(flags: SymbolFlags, name: __String): Symbol { diff --git a/tests/baselines/reference/ES5For-of19.errors.txt b/tests/baselines/reference/ES5For-of19.errors.txt new file mode 100644 index 0000000000000..f44152785e780 --- /dev/null +++ b/tests/baselines/reference/ES5For-of19.errors.txt @@ -0,0 +1,15 @@ +ES5For-of19.ts(3,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + + +==== ES5For-of19.ts (1 errors) ==== + for (let v of []) { + v; + function foo() { + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + for (const v of []) { + v; + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-of19.types b/tests/baselines/reference/ES5For-of19.types index 30cb86bfdb2ef..67affcfc4c249 100644 --- a/tests/baselines/reference/ES5For-of19.types +++ b/tests/baselines/reference/ES5For-of19.types @@ -3,11 +3,13 @@ === ES5For-of19.ts === for (let v of []) { >v : any +> : ^^^ >[] : undefined[] > : ^^^^^^^^^^^ v; >v : any +> : ^^^ function foo() { >foo : () => void @@ -15,11 +17,13 @@ for (let v of []) { for (const v of []) { >v : any +> : ^^^ >[] : undefined[] > : ^^^^^^^^^^^ v; >v : any +> : ^^^ } } } diff --git a/tests/baselines/reference/FunctionDeclaration11_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration11_es6.errors.txt new file mode 100644 index 0000000000000..ed6c795761e21 --- /dev/null +++ b/tests/baselines/reference/FunctionDeclaration11_es6.errors.txt @@ -0,0 +1,8 @@ +FunctionDeclaration11_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +==== FunctionDeclaration11_es6.ts (1 errors) ==== + function * yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration12_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration12_es6.errors.txt index acdc5c9b2f32d..432b3035193ce 100644 --- a/tests/baselines/reference/FunctionDeclaration12_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration12_es6.errors.txt @@ -1,7 +1,7 @@ -FunctionDeclaration12_es6.ts(1,20): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +FunctionDeclaration12_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ==== FunctionDeclaration12_es6.ts (1 errors) ==== var v = function * yield() { } ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. \ No newline at end of file +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt index ba913e897b998..a828d0def89e6 100644 --- a/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration13_es6.errors.txt @@ -1,11 +1,14 @@ +FunctionDeclaration13_es6.ts(3,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration13_es6.ts(3,11): error TS2304: Cannot find name 'yield'. -==== FunctionDeclaration13_es6.ts (1 errors) ==== +==== FunctionDeclaration13_es6.ts (2 errors) ==== function * foo() { // Legal to use 'yield' in a type context. var v: yield; ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration2_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration2_es6.errors.txt new file mode 100644 index 0000000000000..ed45ffd2e325f --- /dev/null +++ b/tests/baselines/reference/FunctionDeclaration2_es6.errors.txt @@ -0,0 +1,8 @@ +FunctionDeclaration2_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +==== FunctionDeclaration2_es6.ts (1 errors) ==== + function f(yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration2_es6.types b/tests/baselines/reference/FunctionDeclaration2_es6.types index eb85c4124006f..ab3967a8e9039 100644 --- a/tests/baselines/reference/FunctionDeclaration2_es6.types +++ b/tests/baselines/reference/FunctionDeclaration2_es6.types @@ -5,4 +5,5 @@ function f(yield) { >f : (yield: any) => void > : ^ ^^^^^^^^^^^^^^ >yield : any +> : ^^^ } diff --git a/tests/baselines/reference/FunctionDeclaration3_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration3_es6.errors.txt index 131c54c9f1e20..4876db4fa8053 100644 --- a/tests/baselines/reference/FunctionDeclaration3_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration3_es6.errors.txt @@ -1,8 +1,14 @@ +FunctionDeclaration3_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +FunctionDeclaration3_es6.ts(1,20): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration3_es6.ts(1,20): error TS2372: Parameter 'yield' cannot reference itself. -==== FunctionDeclaration3_es6.ts (1 errors) ==== +==== FunctionDeclaration3_es6.ts (3 errors) ==== function f(yield = yield) { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ~~~~~ !!! error TS2372: Parameter 'yield' cannot reference itself. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration4_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration4_es6.errors.txt new file mode 100644 index 0000000000000..30e994926cbc5 --- /dev/null +++ b/tests/baselines/reference/FunctionDeclaration4_es6.errors.txt @@ -0,0 +1,8 @@ +FunctionDeclaration4_es6.ts(1,10): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +==== FunctionDeclaration4_es6.ts (1 errors) ==== + function yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration5_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration5_es6.errors.txt index f3aeba6c9c1ee..80454ec161941 100644 --- a/tests/baselines/reference/FunctionDeclaration5_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration5_es6.errors.txt @@ -1,8 +1,8 @@ -FunctionDeclaration5_es6.ts(1,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +FunctionDeclaration5_es6.ts(1,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. ==== FunctionDeclaration5_es6.ts (1 errors) ==== function*foo(yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration6.errors.txt b/tests/baselines/reference/FunctionDeclaration6.errors.txt index 11495f5d341e5..cf45b1af20afc 100644 --- a/tests/baselines/reference/FunctionDeclaration6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration6.errors.txt @@ -1,10 +1,16 @@ +FunctionDeclaration6.ts(2,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +FunctionDeclaration6.ts(3,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. FunctionDeclaration6.ts(3,14): error TS2389: Function implementation name must be 'foo'. -==== FunctionDeclaration6.ts (1 errors) ==== +==== FunctionDeclaration6.ts (3 errors) ==== { function foo(); + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. function bar() { } ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~~~ !!! error TS2389: Function implementation name must be 'foo'. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt b/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt index d649f8ef8b34b..972a640900c1b 100644 --- a/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt +++ b/tests/baselines/reference/FunctionDeclaration8_es6.errors.txt @@ -1,10 +1,13 @@ +FunctionDeclaration8_es6.ts(1,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. FunctionDeclaration8_es6.ts(1,12): error TS2304: Cannot find name 'yield'. FunctionDeclaration8_es6.ts(1,20): error TS2304: Cannot find name 'foo'. -==== FunctionDeclaration8_es6.ts (2 errors) ==== +==== FunctionDeclaration8_es6.ts (3 errors) ==== var v = { [yield]: foo } ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. ~~~ !!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/NonInitializedExportInInternalModule.errors.txt b/tests/baselines/reference/NonInitializedExportInInternalModule.errors.txt index 38c0480c6bf35..7bccdfc88a548 100644 --- a/tests/baselines/reference/NonInitializedExportInInternalModule.errors.txt +++ b/tests/baselines/reference/NonInitializedExportInInternalModule.errors.txt @@ -1,15 +1,18 @@ NonInitializedExportInInternalModule.ts(2,8): error TS1123: Variable declaration list cannot be empty. +NonInitializedExportInInternalModule.ts(3,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. NonInitializedExportInInternalModule.ts(3,5): error TS2304: Cannot find name 'let'. NonInitializedExportInInternalModule.ts(4,10): error TS1123: Variable declaration list cannot be empty. -==== NonInitializedExportInInternalModule.ts (3 errors) ==== +==== NonInitializedExportInInternalModule.ts (4 errors) ==== module Inner { var; !!! error TS1123: Variable declaration list cannot be empty. let; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2304: Cannot find name 'let'. const; diff --git a/tests/baselines/reference/VariableDeclaration6_es6.errors.txt b/tests/baselines/reference/VariableDeclaration6_es6.errors.txt index a475016684007..f6d10640284d3 100644 --- a/tests/baselines/reference/VariableDeclaration6_es6.errors.txt +++ b/tests/baselines/reference/VariableDeclaration6_es6.errors.txt @@ -1,7 +1,10 @@ +VariableDeclaration6_es6.ts(1,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. VariableDeclaration6_es6.ts(1,1): error TS2304: Cannot find name 'let'. -==== VariableDeclaration6_es6.ts (1 errors) ==== +==== VariableDeclaration6_es6.ts (2 errors) ==== let ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2304: Cannot find name 'let'. \ No newline at end of file diff --git a/tests/baselines/reference/YieldExpression1_es6.errors.txt b/tests/baselines/reference/YieldExpression1_es6.errors.txt index 5c5cf3714b9b1..853cf1ff814f3 100644 --- a/tests/baselines/reference/YieldExpression1_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression1_es6.errors.txt @@ -1,7 +1,10 @@ +YieldExpression1_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. YieldExpression1_es6.ts(1,1): error TS2304: Cannot find name 'yield'. -==== YieldExpression1_es6.ts (1 errors) ==== +==== YieldExpression1_es6.ts (2 errors) ==== yield; ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. \ No newline at end of file diff --git a/tests/baselines/reference/YieldExpression8_es6.errors.txt b/tests/baselines/reference/YieldExpression8_es6.errors.txt index e7db07eb354f9..f5047733b6a83 100644 --- a/tests/baselines/reference/YieldExpression8_es6.errors.txt +++ b/tests/baselines/reference/YieldExpression8_es6.errors.txt @@ -1,9 +1,12 @@ +YieldExpression8_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. YieldExpression8_es6.ts(1,1): error TS2304: Cannot find name 'yield'. -==== YieldExpression8_es6.ts (1 errors) ==== +==== YieldExpression8_es6.ts (2 errors) ==== yield(foo); ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. function* foo() { yield(foo); diff --git a/tests/baselines/reference/YieldStarExpression1_es6.errors.txt b/tests/baselines/reference/YieldStarExpression1_es6.errors.txt index e7776535f90cb..cf59d189bc301 100644 --- a/tests/baselines/reference/YieldStarExpression1_es6.errors.txt +++ b/tests/baselines/reference/YieldStarExpression1_es6.errors.txt @@ -1,10 +1,13 @@ +YieldStarExpression1_es6.ts(1,1): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. YieldStarExpression1_es6.ts(1,1): error TS2304: Cannot find name 'yield'. YieldStarExpression1_es6.ts(1,9): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. -==== YieldStarExpression1_es6.ts (2 errors) ==== +==== YieldStarExpression1_es6.ts (3 errors) ==== yield * []; ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + ~~~~~ !!! error TS2304: Cannot find name 'yield'. ~~ !!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. \ No newline at end of file diff --git a/tests/baselines/reference/ambientWithStatements.errors.txt b/tests/baselines/reference/ambientWithStatements.errors.txt index 5201538571011..2978458091e9b 100644 --- a/tests/baselines/reference/ambientWithStatements.errors.txt +++ b/tests/baselines/reference/ambientWithStatements.errors.txt @@ -1,10 +1,11 @@ ambientWithStatements.ts(2,5): error TS1036: Statements are not allowed in ambient contexts. ambientWithStatements.ts(3,5): error TS1104: A 'continue' statement can only be used within an enclosing iteration statement. ambientWithStatements.ts(11,5): error TS1108: A 'return' statement can only be used within a function body. +ambientWithStatements.ts(25,5): error TS1101: 'with' statements are not allowed in strict mode. ambientWithStatements.ts(25,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== ambientWithStatements.ts (4 errors) ==== +==== ambientWithStatements.ts (5 errors) ==== declare module M { break; ~~~~~ @@ -36,6 +37,8 @@ ambientWithStatements.ts(25,5): error TS2410: The 'with' statement is not suppor finally { } with (x) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. } diff --git a/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt b/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt index 6f0eacb5dff5a..e603cc83c1632 100644 --- a/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt +++ b/tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt @@ -1,10 +1,16 @@ +argumentsBindsToFunctionScopeArgumentList.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. +argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS1100: Invalid use of 'arguments' in strict mode. argumentsBindsToFunctionScopeArgumentList.ts(3,5): error TS2322: Type 'number' is not assignable to type 'IArguments'. -==== argumentsBindsToFunctionScopeArgumentList.ts (1 errors) ==== +==== argumentsBindsToFunctionScopeArgumentList.ts (3 errors) ==== var arguments = 10; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function foo(a) { arguments = 10; /// This shouldnt be of type number and result in error. ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + ~~~~~~~~~ !!! error TS2322: Type 'number' is not assignable to type 'IArguments'. } \ No newline at end of file diff --git a/tests/baselines/reference/argumentsReferenceInConstructor5_Js.js b/tests/baselines/reference/argumentsReferenceInConstructor5_Js.js index d3a79c828ddf5..bfd690fae4bb2 100644 --- a/tests/baselines/reference/argumentsReferenceInConstructor5_Js.js +++ b/tests/baselines/reference/argumentsReferenceInConstructor5_Js.js @@ -47,3 +47,34 @@ declare class A { */ bar: object; } + + +//// [DtsFileErrors] + + +/a.d.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== /a.d.ts (1 errors) ==== + declare namespace bar { + let arguments: {}; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + declare class A { + /** + * Constructor + * + * @param {object} [foo={}] + */ + constructor(foo?: object); + /** + * @type object + */ + foo: object; + /** + * @type object + */ + bar: object; + } + \ No newline at end of file diff --git a/tests/baselines/reference/argumentsReferenceInMethod5_Js.js b/tests/baselines/reference/argumentsReferenceInMethod5_Js.js index 4e1d7c797b9d4..bcfdf8959ef22 100644 --- a/tests/baselines/reference/argumentsReferenceInMethod5_Js.js +++ b/tests/baselines/reference/argumentsReferenceInMethod5_Js.js @@ -43,3 +43,32 @@ declare class A { */ bar: object; } + + +//// [DtsFileErrors] + + +/a.d.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== /a.d.ts (1 errors) ==== + declare namespace bar { + let arguments: {}; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + declare class A { + /** + * @param {object} [foo={}] + */ + m(foo?: object): void; + /** + * @type object + */ + foo: object; + /** + * @type object + */ + bar: object; + } + \ No newline at end of file diff --git a/tests/baselines/reference/argumentsReferenceInObjectLiteral_Js.errors.txt b/tests/baselines/reference/argumentsReferenceInObjectLiteral_Js.errors.txt index 1c26e2e60116b..4ab9073c95059 100644 --- a/tests/baselines/reference/argumentsReferenceInObjectLiteral_Js.errors.txt +++ b/tests/baselines/reference/argumentsReferenceInObjectLiteral_Js.errors.txt @@ -1,7 +1,8 @@ /a.js(16,9): error TS18004: No value exists in scope for the shorthand property 'arguments'. Either declare one or provide an initializer. +/a.js(21,11): error TS1100: Invalid use of 'arguments' in strict mode. -==== /a.js (1 errors) ==== +==== /a.js (2 errors) ==== const a = () => { return { arguments: [], @@ -25,6 +26,8 @@ const d = () => { const arguments = undefined; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. return { arguments, }; diff --git a/tests/baselines/reference/arrowFunctionContexts.errors.txt b/tests/baselines/reference/arrowFunctionContexts.errors.txt index 1e27fe363487b..fb4c7440ef691 100644 --- a/tests/baselines/reference/arrowFunctionContexts.errors.txt +++ b/tests/baselines/reference/arrowFunctionContexts.errors.txt @@ -1,14 +1,18 @@ +arrowFunctionContexts.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. arrowFunctionContexts.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. arrowFunctionContexts.ts(30,9): error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. arrowFunctionContexts.ts(31,16): error TS2332: 'this' cannot be referenced in current location. +arrowFunctionContexts.ts(43,5): error TS1101: 'with' statements are not allowed in strict mode. arrowFunctionContexts.ts(43,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. arrowFunctionContexts.ts(71,13): error TS18033: Type '() => number' is not assignable to type 'number' as required for computed enum member values. arrowFunctionContexts.ts(72,20): error TS2332: 'this' cannot be referenced in current location. -==== arrowFunctionContexts.ts (6 errors) ==== +==== arrowFunctionContexts.ts (8 errors) ==== // Arrow function used in with statement with (window) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. var p = () => this; @@ -56,6 +60,8 @@ arrowFunctionContexts.ts(72,20): error TS2332: 'this' cannot be referenced in cu module M2 { // Arrow function used in with statement with (window) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. var p = () => this; diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface01.errors.txt b/tests/baselines/reference/asiPreventsParsingAsInterface01.errors.txt new file mode 100644 index 0000000000000..0a02c70360b7e --- /dev/null +++ b/tests/baselines/reference/asiPreventsParsingAsInterface01.errors.txt @@ -0,0 +1,14 @@ +asiPreventsParsingAsInterface01.ts(1,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface01.ts(3,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + +==== asiPreventsParsingAsInterface01.ts (2 errors) ==== + var interface: number, I: string; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + interface // This should be the identifier 'interface' + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + I // This should be the identifier 'I' + {} // This should be a block body \ No newline at end of file diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface02.errors.txt b/tests/baselines/reference/asiPreventsParsingAsInterface02.errors.txt new file mode 100644 index 0000000000000..7668be900dff4 --- /dev/null +++ b/tests/baselines/reference/asiPreventsParsingAsInterface02.errors.txt @@ -0,0 +1,14 @@ +asiPreventsParsingAsInterface02.ts(1,12): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface02.ts(2,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + +==== asiPreventsParsingAsInterface02.ts (2 errors) ==== + function f(interface: number, I: string) { + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + interface // This should be the identifier 'interface' + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + I // This should be the identifier 'I' + {} // This should be a block body + } \ No newline at end of file diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface03.errors.txt b/tests/baselines/reference/asiPreventsParsingAsInterface03.errors.txt new file mode 100644 index 0000000000000..827183b498f30 --- /dev/null +++ b/tests/baselines/reference/asiPreventsParsingAsInterface03.errors.txt @@ -0,0 +1,16 @@ +asiPreventsParsingAsInterface03.ts(1,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface03.ts(4,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + +==== asiPreventsParsingAsInterface03.ts (2 errors) ==== + var interface: number, I: string; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + namespace n { + interface // This should be the identifier 'interface' + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + I // This should be the identifier 'I' + {} // This should be a block body + } \ No newline at end of file diff --git a/tests/baselines/reference/asiPreventsParsingAsInterface04.errors.txt b/tests/baselines/reference/asiPreventsParsingAsInterface04.errors.txt new file mode 100644 index 0000000000000..326a6df7eb468 --- /dev/null +++ b/tests/baselines/reference/asiPreventsParsingAsInterface04.errors.txt @@ -0,0 +1,15 @@ +asiPreventsParsingAsInterface04.ts(1,23): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +asiPreventsParsingAsInterface04.ts(4,1): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + +==== asiPreventsParsingAsInterface04.ts (2 errors) ==== + var declare: boolean, interface: number, I: string; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + + declare // This should be the identifier 'declare' + interface // This should be the identifier 'interface' + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. + I // This should be the identifier 'I' + {} // This should be a block body \ No newline at end of file diff --git a/tests/baselines/reference/asiPublicPrivateProtected.errors.txt b/tests/baselines/reference/asiPublicPrivateProtected.errors.txt index c3653603ddc74..73bb539683e31 100644 --- a/tests/baselines/reference/asiPublicPrivateProtected.errors.txt +++ b/tests/baselines/reference/asiPublicPrivateProtected.errors.txt @@ -1,11 +1,16 @@ +asiPublicPrivateProtected.ts(1,1): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. asiPublicPrivateProtected.ts(1,1): error TS2304: Cannot find name 'public'. +asiPublicPrivateProtected.ts(12,1): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. asiPublicPrivateProtected.ts(12,1): error TS2304: Cannot find name 'private'. +asiPublicPrivateProtected.ts(23,1): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. -==== asiPublicPrivateProtected.ts (3 errors) ==== +==== asiPublicPrivateProtected.ts (6 errors) ==== public ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + ~~~~~~ !!! error TS2304: Cannot find name 'public'. class NonPublicClass { public s() { @@ -19,6 +24,8 @@ asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. } private ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. + ~~~~~~~ !!! error TS2304: Cannot find name 'private'. class NonPrivateClass { private s() { @@ -32,6 +39,8 @@ asiPublicPrivateProtected.ts(23,1): error TS2304: Cannot find name 'protected'. } protected ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. + ~~~~~~~~~ !!! error TS2304: Cannot find name 'protected'. class NonProtectedClass { protected s() { diff --git a/tests/baselines/reference/asyncOrYieldAsBindingIdentifier1.errors.txt b/tests/baselines/reference/asyncOrYieldAsBindingIdentifier1.errors.txt index 2f031b8577301..b45795634ffc4 100644 --- a/tests/baselines/reference/asyncOrYieldAsBindingIdentifier1.errors.txt +++ b/tests/baselines/reference/asyncOrYieldAsBindingIdentifier1.errors.txt @@ -1,12 +1,15 @@ asyncOrYieldAsBindingIdentifier1.ts(14,9): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. asyncOrYieldAsBindingIdentifier1.ts(18,9): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. asyncOrYieldAsBindingIdentifier1.ts(22,11): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -asyncOrYieldAsBindingIdentifier1.ts(38,9): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -asyncOrYieldAsBindingIdentifier1.ts(42,9): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +asyncOrYieldAsBindingIdentifier1.ts(26,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(30,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(34,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(38,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(42,9): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. -==== asyncOrYieldAsBindingIdentifier1.ts (6 errors) ==== +==== asyncOrYieldAsBindingIdentifier1.ts (9 errors) ==== function f_let () { let await = 1 } @@ -39,30 +42,36 @@ asyncOrYieldAsBindingIdentifier1.ts(46,11): error TS1359: Identifier expected. ' function f3_let () { let yield = 2 + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function f3_var () { var yield = 2 + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function f3_const () { const yield = 2 + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function * f4_let () { let yield = 2; ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function * f4_var () { var yield = 2; ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } function * f4_const () { const yield = 2; ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES5.errors.txt b/tests/baselines/reference/blockScopedFunctionDeclarationES5.errors.txt new file mode 100644 index 0000000000000..94b9d0c6c550f --- /dev/null +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES5.errors.txt @@ -0,0 +1,14 @@ +blockScopedFunctionDeclarationES5.ts(2,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +blockScopedFunctionDeclarationES5.ts(5,1): error TS2304: Cannot find name 'foo'. + + +==== blockScopedFunctionDeclarationES5.ts (2 errors) ==== + if (true) { + function foo() { } + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + foo(); + } + foo(); + ~~~ +!!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES5.symbols b/tests/baselines/reference/blockScopedFunctionDeclarationES5.symbols index 7a4653165a1e3..3a54ffb3303d5 100644 --- a/tests/baselines/reference/blockScopedFunctionDeclarationES5.symbols +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES5.symbols @@ -9,5 +9,3 @@ if (true) { >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) } foo(); ->foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES5.ts, 0, 11)) - diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES5.types b/tests/baselines/reference/blockScopedFunctionDeclarationES5.types index 5edf7f7fdf725..eec0d5dd2bd6c 100644 --- a/tests/baselines/reference/blockScopedFunctionDeclarationES5.types +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES5.types @@ -16,8 +16,8 @@ if (true) { > : ^^^^^^^^^^ } foo(); ->foo() : void -> : ^^^^ ->foo : () => void -> : ^^^^^^^^^^ +>foo() : any +> : ^^^ +>foo : any +> : ^^^ diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES6.errors.txt b/tests/baselines/reference/blockScopedFunctionDeclarationES6.errors.txt new file mode 100644 index 0000000000000..99935089e46a1 --- /dev/null +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES6.errors.txt @@ -0,0 +1,11 @@ +blockScopedFunctionDeclarationES6.ts(5,1): error TS2304: Cannot find name 'foo'. + + +==== blockScopedFunctionDeclarationES6.ts (1 errors) ==== + if (true) { + function foo() { } + foo(); + } + foo(); + ~~~ +!!! error TS2304: Cannot find name 'foo'. \ No newline at end of file diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES6.symbols b/tests/baselines/reference/blockScopedFunctionDeclarationES6.symbols index f19c147b66749..b05ed0cb85fc5 100644 --- a/tests/baselines/reference/blockScopedFunctionDeclarationES6.symbols +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES6.symbols @@ -9,5 +9,3 @@ if (true) { >foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) } foo(); ->foo : Symbol(foo, Decl(blockScopedFunctionDeclarationES6.ts, 0, 11)) - diff --git a/tests/baselines/reference/blockScopedFunctionDeclarationES6.types b/tests/baselines/reference/blockScopedFunctionDeclarationES6.types index fbaec812410ca..3d3b9c479b487 100644 --- a/tests/baselines/reference/blockScopedFunctionDeclarationES6.types +++ b/tests/baselines/reference/blockScopedFunctionDeclarationES6.types @@ -16,8 +16,8 @@ if (true) { > : ^^^^^^^^^^ } foo(); ->foo() : void -> : ^^^^ ->foo : () => void -> : ^^^^^^^^^^ +>foo() : any +> : ^^^ +>foo : any +> : ^^^ diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.errors.txt b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.errors.txt index 47b4cf9a063cf..7fd3eac2af197 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.errors.txt +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.errors.txt @@ -1,8 +1,8 @@ -blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS2393: Duplicate function implementation. +blockScopedSameNameFunctionDeclarationES5.ts(3,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. blockScopedSameNameFunctionDeclarationES5.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS2393: Duplicate function implementation. +blockScopedSameNameFunctionDeclarationES5.ts(8,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. blockScopedSameNameFunctionDeclarationES5.ts(10,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES5.ts(12,9): error TS2554: Expected 0 arguments, but got 1. +blockScopedSameNameFunctionDeclarationES5.ts(13,5): error TS2554: Expected 1 arguments, but got 0. blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arguments, but got 0. @@ -11,7 +11,7 @@ blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arg if (a === 1) { function foo() { } // duplicate function ~~~ -!!! error TS2393: Duplicate function implementation. +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. foo(); foo(10); // not ok ~~ @@ -20,16 +20,17 @@ blockScopedSameNameFunctionDeclarationES5.ts(16,1): error TS2554: Expected 1 arg else { function foo() { } // duplicate function ~~~ -!!! error TS2393: Duplicate function implementation. +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. foo(); foo(10); // not ok ~~ !!! error TS2554: Expected 0 arguments, but got 1. } foo(10); // not ok - ~~ -!!! error TS2554: Expected 0 arguments, but got 1. foo(); + ~~~ +!!! error TS2554: Expected 1 arguments, but got 0. +!!! related TS6210 blockScopedSameNameFunctionDeclarationES5.ts:1:14: An argument for 'a' was not provided. } foo(10); foo(); // not ok - needs number diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.symbols b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.symbols index 9059c98982ce8..094cdcd450a7e 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.symbols +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.symbols @@ -9,29 +9,29 @@ function foo(a: number) { >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 13)) function foo() { } // duplicate function ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18)) } else { function foo() { } // duplicate function ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) } foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 1, 18), Decl(blockScopedSameNameFunctionDeclarationES5.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) } foo(10); >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES5.ts, 0, 0)) diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types index 33989fec6734f..810aa8608c57f 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES5.types @@ -16,55 +16,55 @@ function foo(a: number) { > : ^ function foo() { } // duplicate function ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(); >foo() : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(10); // not ok >foo(10) : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ >10 : 10 > : ^^ } else { function foo() { } // duplicate function ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(); >foo() : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(10); // not ok >foo(10) : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ >10 : 10 > : ^^ } foo(10); // not ok >foo(10) : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : (a: number) => void +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ foo(); >foo() : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : (a: number) => void +> : ^ ^^ ^^^^^^^^^ } foo(10); >foo(10) : void diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.errors.txt b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.errors.txt index 19f6f09e639f4..8f634b2d0b334 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.errors.txt +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.errors.txt @@ -1,17 +1,13 @@ -blockScopedSameNameFunctionDeclarationES6.ts(3,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES6.ts(5,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES6.ts(8,18): error TS2393: Duplicate function implementation. blockScopedSameNameFunctionDeclarationES6.ts(10,13): error TS2554: Expected 0 arguments, but got 1. -blockScopedSameNameFunctionDeclarationES6.ts(12,9): error TS2554: Expected 0 arguments, but got 1. +blockScopedSameNameFunctionDeclarationES6.ts(13,5): error TS2554: Expected 1 arguments, but got 0. blockScopedSameNameFunctionDeclarationES6.ts(16,1): error TS2554: Expected 1 arguments, but got 0. -==== blockScopedSameNameFunctionDeclarationES6.ts (6 errors) ==== +==== blockScopedSameNameFunctionDeclarationES6.ts (4 errors) ==== function foo(a: number) { if (a === 10) { function foo() { } // duplicate - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10); // not ok ~~ @@ -19,17 +15,16 @@ blockScopedSameNameFunctionDeclarationES6.ts(16,1): error TS2554: Expected 1 arg } else { function foo() { } // duplicate - ~~~ -!!! error TS2393: Duplicate function implementation. foo(); foo(10);// not ok ~~ !!! error TS2554: Expected 0 arguments, but got 1. } foo(10); // not ok - ~~ -!!! error TS2554: Expected 0 arguments, but got 1. foo(); + ~~~ +!!! error TS2554: Expected 1 arguments, but got 0. +!!! related TS6210 blockScopedSameNameFunctionDeclarationES6.ts:1:14: An argument for 'a' was not provided. } foo(10); foo(); // not ok - needs number diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.symbols b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.symbols index 125116a09b49e..29d15d21f43f4 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.symbols +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.symbols @@ -9,29 +9,29 @@ function foo(a: number) { >a : Symbol(a, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 13)) function foo() { } // duplicate ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19)) } else { function foo() { } // duplicate ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) foo(10);// not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) } foo(10); // not ok ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) foo(); ->foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 1, 19), Decl(blockScopedSameNameFunctionDeclarationES6.ts, 6, 10)) +>foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) } foo(10); >foo : Symbol(foo, Decl(blockScopedSameNameFunctionDeclarationES6.ts, 0, 0)) diff --git a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types index 5820765d029d3..ff7ce8d82c286 100644 --- a/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types +++ b/tests/baselines/reference/blockScopedSameNameFunctionDeclarationES6.types @@ -16,55 +16,55 @@ function foo(a: number) { > : ^^ function foo() { } // duplicate ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(); >foo() : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(10); // not ok >foo(10) : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ >10 : 10 > : ^^ } else { function foo() { } // duplicate ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(); >foo() : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ foo(10);// not ok >foo(10) : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : () => void +> : ^^^^^^^^^^ >10 : 10 > : ^^ } foo(10); // not ok >foo(10) : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : (a: number) => void +> : ^ ^^ ^^^^^^^^^ >10 : 10 > : ^^ foo(); >foo() : void > : ^^^^ ->foo : { (): void; (): void; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>foo : (a: number) => void +> : ^ ^^ ^^^^^^^^^ } foo(10); >foo(10) : void diff --git a/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt b/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt index 9b82de8363447..d2c6965999699 100644 --- a/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt +++ b/tests/baselines/reference/breakNotInIterationOrSwitchStatement2.errors.txt @@ -1,9 +1,12 @@ +breakNotInIterationOrSwitchStatement2.ts(2,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. breakNotInIterationOrSwitchStatement2.ts(3,5): error TS1107: Jump target cannot cross function boundary. -==== breakNotInIterationOrSwitchStatement2.ts (1 errors) ==== +==== breakNotInIterationOrSwitchStatement2.ts (2 errors) ==== while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. break; ~~~~~~ !!! error TS1107: Jump target cannot cross function boundary. diff --git a/tests/baselines/reference/breakTarget5.errors.txt b/tests/baselines/reference/breakTarget5.errors.txt index b842116ccca78..3a1c8c4a7bc8a 100644 --- a/tests/baselines/reference/breakTarget5.errors.txt +++ b/tests/baselines/reference/breakTarget5.errors.txt @@ -1,10 +1,13 @@ +breakTarget5.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. breakTarget5.ts(5,7): error TS1107: Jump target cannot cross function boundary. -==== breakTarget5.ts (1 errors) ==== +==== breakTarget5.ts (2 errors) ==== target: while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. while (true) { break target; ~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/collisionArgumentsArrowFunctions.errors.txt b/tests/baselines/reference/collisionArgumentsArrowFunctions.errors.txt index c3ed9abd5f8b7..615931277062e 100644 --- a/tests/baselines/reference/collisionArgumentsArrowFunctions.errors.txt +++ b/tests/baselines/reference/collisionArgumentsArrowFunctions.errors.txt @@ -1,25 +1,49 @@ collisionArgumentsArrowFunctions.ts(1,22): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsArrowFunctions.ts(1,25): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(4,12): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsArrowFunctions.ts(4,12): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsArrowFunctions.ts(5,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(7,18): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(8,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(12,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsArrowFunctions.ts(15,9): error TS1100: Invalid use of 'arguments' in strict mode. -==== collisionArgumentsArrowFunctions.ts (2 errors) ==== +==== collisionArgumentsArrowFunctions.ts (10 errors) ==== var f1 = (i: number, ...arguments) => { //arguments is error ~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any[]; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } var f12 = (arguments: number, ...rest) => { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. ~~~~~~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } var f1NoError = (arguments: number) => { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } var f2 = (...restParameters) => { var arguments = 10; // No Error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } var f2NoError = () => { var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/collisionArgumentsFunction.errors.txt b/tests/baselines/reference/collisionArgumentsFunction.errors.txt index 1d7d2b3c99b7f..a21a8d87b6317 100644 --- a/tests/baselines/reference/collisionArgumentsFunction.errors.txt +++ b/tests/baselines/reference/collisionArgumentsFunction.errors.txt @@ -1,23 +1,55 @@ +collisionArgumentsFunction.ts(2,13): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunction.ts(2,13): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunction.ts(3,9): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunction.ts(5,25): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunction.ts(5,28): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(8,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(9,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(17,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(20,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(23,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(24,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(25,13): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunction.ts(25,13): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunction.ts(26,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(28,28): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(29,28): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunction.ts(30,22): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunction.ts(30,25): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(31,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(33,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(34,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(35,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunction.ts(36,9): error TS1100: Invalid use of 'arguments' in strict mode. -==== collisionArgumentsFunction.ts (4 errors) ==== +==== collisionArgumentsFunction.ts (24 errors) ==== // Functions function f1(arguments: number, ...restParameters) { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. ~~~~~~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f12(i: number, ...arguments) { //arguments is error ~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any[]; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f1NoError(arguments: number) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } declare function f2(i: number, ...arguments); // no error - no code gen @@ -26,29 +58,57 @@ collisionArgumentsFunction.ts(30,22): error TS2396: Duplicate identifier 'argume function f3(...restParameters) { var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f3NoError() { var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f4(arguments: number, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4(arguments: string, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4(arguments: any, ...rest) { // error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. ~~~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f42(i: number, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f42(i: string, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f42(i: any, ...arguments) { // error ~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any[]; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f4NoError(arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4NoError(arguments: string); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4NoError(arguments: any) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } declare function f5(arguments: number, ...rest); // no codegen no error diff --git a/tests/baselines/reference/collisionArgumentsFunctionExpressions.errors.txt b/tests/baselines/reference/collisionArgumentsFunctionExpressions.errors.txt index f85bd42c754d8..33c1973c9fa23 100644 --- a/tests/baselines/reference/collisionArgumentsFunctionExpressions.errors.txt +++ b/tests/baselines/reference/collisionArgumentsFunctionExpressions.errors.txt @@ -1,49 +1,109 @@ +collisionArgumentsFunctionExpressions.ts(2,17): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunctionExpressions.ts(2,17): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunctionExpressions.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunctionExpressions.ts(5,29): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunctionExpressions.ts(5,32): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(6,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(8,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(9,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(13,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(16,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(19,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(20,17): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(21,17): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunctionExpressions.ts(21,17): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunctionExpressions.ts(22,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(24,32): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(25,32): error TS1100: Invalid use of 'arguments' in strict mode. collisionArgumentsFunctionExpressions.ts(26,26): error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. +collisionArgumentsFunctionExpressions.ts(26,29): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(27,13): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(29,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(30,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(31,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsFunctionExpressions.ts(32,13): error TS1100: Invalid use of 'arguments' in strict mode. -==== collisionArgumentsFunctionExpressions.ts (4 errors) ==== +==== collisionArgumentsFunctionExpressions.ts (24 errors) ==== function foo() { function f1(arguments: number, ...restParameters) { //arguments is error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. ~~~~~~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f12(i: number, ...arguments) { //arguments is error ~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any[]; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f1NoError(arguments: number) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f3(...restParameters) { var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f3NoError() { var arguments = 10; // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f4(arguments: number, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4(arguments: string, ...rest); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4(arguments: any, ...rest) { // error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. ~~~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f42(i: number, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f42(i: string, ...arguments); // no codegen no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f42(i: any, ...arguments) { // error ~~~~~~~~~~~~ !!! error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any[]; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } function f4NoError(arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4NoError(arguments: string); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. function f4NoError(arguments: any) { // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var arguments: any; // No error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } } \ No newline at end of file diff --git a/tests/baselines/reference/collisionArgumentsInType.errors.txt b/tests/baselines/reference/collisionArgumentsInType.errors.txt new file mode 100644 index 0000000000000..51a0a82db76ff --- /dev/null +++ b/tests/baselines/reference/collisionArgumentsInType.errors.txt @@ -0,0 +1,47 @@ +collisionArgumentsInType.ts(1,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(4,6): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(5,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(7,12): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(10,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(11,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(12,23): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInType.ts(13,26): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== collisionArgumentsInType.ts (10 errors) ==== + var v1: (i: number, ...arguments) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var v12: (arguments: number, ...restParameters) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var v2: { + (arguments: number, ...restParameters); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + new (arguments: number, ...restParameters); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + foo(arguments: number, ...restParameters); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + prop: (arguments: number, ...restParameters) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + var v21: { + (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + new (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + foo(i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + prop: (i: number, ...arguments) => void; // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/collisionArgumentsInterfaceMembers.errors.txt b/tests/baselines/reference/collisionArgumentsInterfaceMembers.errors.txt new file mode 100644 index 0000000000000..d7bbdbfb10074 --- /dev/null +++ b/tests/baselines/reference/collisionArgumentsInterfaceMembers.errors.txt @@ -0,0 +1,58 @@ +collisionArgumentsInterfaceMembers.ts(3,20): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(6,6): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(9,6): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(14,24): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(17,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(20,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(25,23): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(26,10): error TS1100: Invalid use of 'arguments' in strict mode. +collisionArgumentsInterfaceMembers.ts(27,16): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== collisionArgumentsInterfaceMembers.ts (9 errors) ==== + // call + interface i1 { + (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i12 { + (arguments: number, ...rest); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i1NoError { + (arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + // new + interface i2 { + new (i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i21 { + new (arguments: number, ...rest); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + interface i2NoError { + new (arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } + + // method + interface i3 { + foo(i: number, ...arguments); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + foo1(arguments: number, ...rest); // no error - no code gen + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + fooNoError(arguments: number); // no error + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/constDeclarations-invalidContexts.errors.txt b/tests/baselines/reference/constDeclarations-invalidContexts.errors.txt index 7134a60544137..953604c1da149 100644 --- a/tests/baselines/reference/constDeclarations-invalidContexts.errors.txt +++ b/tests/baselines/reference/constDeclarations-invalidContexts.errors.txt @@ -2,14 +2,17 @@ constDeclarations-invalidContexts.ts(3,5): error TS1156: 'const' declarations ca constDeclarations-invalidContexts.ts(5,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(8,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(11,5): error TS1156: 'const' declarations can only be declared inside a block. +constDeclarations-invalidContexts.ts(15,1): error TS1101: 'with' statements are not allowed in strict mode. constDeclarations-invalidContexts.ts(15,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. constDeclarations-invalidContexts.ts(19,5): error TS1156: 'const' declarations can only be declared inside a block. constDeclarations-invalidContexts.ts(22,5): error TS1156: 'const' declarations can only be declared inside a block. +constDeclarations-invalidContexts.ts(25,5): error TS1344: 'A label is not allowed here. constDeclarations-invalidContexts.ts(25,12): error TS1156: 'const' declarations can only be declared inside a block. +constDeclarations-invalidContexts.ts(28,21): error TS1344: 'A label is not allowed here. constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations can only be declared inside a block. -==== constDeclarations-invalidContexts.ts (9 errors) ==== +==== constDeclarations-invalidContexts.ts (12 errors) ==== // Errors, const must be defined inside a block if (true) const c1 = 0; @@ -33,6 +36,8 @@ constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations var obj; with (obj) + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. const c5 = 0; // No Error will be reported here since we turn off all type checking @@ -49,11 +54,15 @@ constDeclarations-invalidContexts.ts(28,29): error TS1156: 'const' declarations if (true) label: const c8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~~~ !!! error TS1156: 'const' declarations can only be declared inside a block. while (false) label2: label3: label4: const c9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~~~ !!! error TS1156: 'const' declarations can only be declared inside a block. diff --git a/tests/baselines/reference/constDeclarations-scopes.errors.txt b/tests/baselines/reference/constDeclarations-scopes.errors.txt index 9e20946833e59..30972d017e7b8 100644 --- a/tests/baselines/reference/constDeclarations-scopes.errors.txt +++ b/tests/baselines/reference/constDeclarations-scopes.errors.txt @@ -1,7 +1,10 @@ +constDeclarations-scopes.ts(27,1): error TS1101: 'with' statements are not allowed in strict mode. constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +constDeclarations-scopes.ts(43,5): error TS1344: 'A label is not allowed here. +constDeclarations-scopes.ts(48,21): error TS1344: 'A label is not allowed here. -==== constDeclarations-scopes.ts (1 errors) ==== +==== constDeclarations-scopes.ts (4 errors) ==== // global const c = "string"; @@ -29,6 +32,8 @@ constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not sup var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. const c = 0; @@ -47,11 +52,15 @@ constDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not sup if (true) { label: const c = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. n = c; } while (false) { label2: label3: label4: const c = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. n = c; } diff --git a/tests/baselines/reference/constDeclarations-validContexts.errors.txt b/tests/baselines/reference/constDeclarations-validContexts.errors.txt index 35f0f8b777163..56e7d0f11628f 100644 --- a/tests/baselines/reference/constDeclarations-validContexts.errors.txt +++ b/tests/baselines/reference/constDeclarations-validContexts.errors.txt @@ -1,7 +1,11 @@ +constDeclarations-validContexts.ts(18,1): error TS1101: 'with' statements are not allowed in strict mode. constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +constDeclarations-validContexts.ts(31,5): error TS1344: 'A label is not allowed here. +constDeclarations-validContexts.ts(35,21): error TS1344: 'A label is not allowed here. +constDeclarations-validContexts.ts(64,9): error TS1344: 'A label is not allowed here. -==== constDeclarations-validContexts.ts (1 errors) ==== +==== constDeclarations-validContexts.ts (5 errors) ==== // Control flow statements with blocks if (true) { const c1 = 0; @@ -20,6 +24,8 @@ constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. const c5 = 0; @@ -35,10 +41,14 @@ constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is if (true) { label: const c8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. } while (false) { label2: label3: label4: const c9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } // Try/catch/finally @@ -68,6 +78,8 @@ constDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is { const c16 = 0 label17: const c17 = 0; + ~~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } diff --git a/tests/baselines/reference/continueNotInIterationStatement2.errors.txt b/tests/baselines/reference/continueNotInIterationStatement2.errors.txt index 38a95d8dda24e..d208f097e9267 100644 --- a/tests/baselines/reference/continueNotInIterationStatement2.errors.txt +++ b/tests/baselines/reference/continueNotInIterationStatement2.errors.txt @@ -1,9 +1,12 @@ +continueNotInIterationStatement2.ts(2,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. continueNotInIterationStatement2.ts(3,5): error TS1107: Jump target cannot cross function boundary. -==== continueNotInIterationStatement2.ts (1 errors) ==== +==== continueNotInIterationStatement2.ts (2 errors) ==== while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. continue; ~~~~~~~~~ !!! error TS1107: Jump target cannot cross function boundary. diff --git a/tests/baselines/reference/continueTarget5.errors.txt b/tests/baselines/reference/continueTarget5.errors.txt index 64e5270ac83f1..ca06fd7709027 100644 --- a/tests/baselines/reference/continueTarget5.errors.txt +++ b/tests/baselines/reference/continueTarget5.errors.txt @@ -1,10 +1,13 @@ +continueTarget5.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. continueTarget5.ts(5,7): error TS1107: Jump target cannot cross function boundary. -==== continueTarget5.ts (1 errors) ==== +==== continueTarget5.ts (2 errors) ==== target: while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. while (true) { continue target; ~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/controlFlowDeleteOperator.errors.txt b/tests/baselines/reference/controlFlowDeleteOperator.errors.txt index 61f5f1df52263..5bdb63f7a6957 100644 --- a/tests/baselines/reference/controlFlowDeleteOperator.errors.txt +++ b/tests/baselines/reference/controlFlowDeleteOperator.errors.txt @@ -1,8 +1,9 @@ controlFlowDeleteOperator.ts(10,12): error TS2790: The operand of a 'delete' operator must be optional. +controlFlowDeleteOperator.ts(14,12): error TS1102: 'delete' cannot be called on an identifier in strict mode. controlFlowDeleteOperator.ts(14,12): error TS2703: The operand of a 'delete' operator must be a property reference. -==== controlFlowDeleteOperator.ts (2 errors) ==== +==== controlFlowDeleteOperator.ts (3 errors) ==== function f() { let x: { a?: number | string, b: number | string } = { b: 1 }; x.a; @@ -20,6 +21,8 @@ controlFlowDeleteOperator.ts(14,12): error TS2703: The operand of a 'delete' ope x; delete x; // No effect ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. x; } \ No newline at end of file diff --git a/tests/baselines/reference/convertKeywordsYes.errors.txt b/tests/baselines/reference/convertKeywordsYes.errors.txt index c88882db813e8..578ff8ffb95ff 100644 --- a/tests/baselines/reference/convertKeywordsYes.errors.txt +++ b/tests/baselines/reference/convertKeywordsYes.errors.txt @@ -1,3 +1,30 @@ +convertKeywordsYes.ts(6,5): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. +convertKeywordsYes.ts(7,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +convertKeywordsYes.ts(8,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +convertKeywordsYes.ts(11,5): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. +convertKeywordsYes.ts(12,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. +convertKeywordsYes.ts(13,5): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. +convertKeywordsYes.ts(14,5): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. +convertKeywordsYes.ts(16,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. +convertKeywordsYes.ts(19,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +convertKeywordsYes.ts(24,5): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. +convertKeywordsYes.ts(25,5): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +convertKeywordsYes.ts(26,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +convertKeywordsYes.ts(28,5): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. +convertKeywordsYes.ts(29,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. +convertKeywordsYes.ts(30,5): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. +convertKeywordsYes.ts(31,5): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. +convertKeywordsYes.ts(33,5): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. +convertKeywordsYes.ts(35,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +convertKeywordsYes.ts(40,8): error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. +convertKeywordsYes.ts(41,9): error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. +convertKeywordsYes.ts(42,8): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +convertKeywordsYes.ts(45,8): error TS1212: Identifier expected. 'package' is a reserved word in strict mode. +convertKeywordsYes.ts(46,9): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. +convertKeywordsYes.ts(47,9): error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. +convertKeywordsYes.ts(48,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. +convertKeywordsYes.ts(50,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. +convertKeywordsYes.ts(53,8): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. convertKeywordsYes.ts(175,12): error TS18006: Classes may not have a field named 'constructor'. convertKeywordsYes.ts(292,11): error TS1213: Identifier expected. 'implements' is a reserved word in strict mode. Class definitions are automatically in strict mode. convertKeywordsYes.ts(293,11): error TS1213: Identifier expected. 'interface' is a reserved word in strict mode. Class definitions are automatically in strict mode. @@ -10,60 +37,114 @@ convertKeywordsYes.ts(301,11): error TS1213: Identifier expected. 'static' is a convertKeywordsYes.ts(303,11): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. -==== convertKeywordsYes.ts (10 errors) ==== +==== convertKeywordsYes.ts (37 errors) ==== // reserved ES5 future in strict mode var constructor = 0; var any = 0; var boolean = 0; var implements = 0; + ~~~~~~~~~~ +!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. var interface = 0; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. var let = 0; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. var module = 0; var number = 0; var package = 0; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. var private = 0; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. var protected = 0; + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. var public = 0; + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. var set = 0; var static = 0; + ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. var string = 0; var get = 0; var yield = 0; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. var declare = 0; function bigGeneric< constructor, implements , + ~~~~~~~~~~ +!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. interface , + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. let, + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. module , package, + ~~~~~~~ +!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. private , + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. protected, + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. public , + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. set , static , + ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. get , yield, + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. declare >(c: constructor, a: any, b2: boolean, i: implements , + ~~~~~~~~~~ +!!! error TS1212: Identifier expected. 'implements' is a reserved word in strict mode. i2: interface , + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'interface' is a reserved word in strict mode. l: let, + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. m: module , n: number, p: package, + ~~~~~~~ +!!! error TS1212: Identifier expected. 'package' is a reserved word in strict mode. p2: private , + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. p3: protected, + ~~~~~~~~~ +!!! error TS1212: Identifier expected. 'protected' is a reserved word in strict mode. p4: public , + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. s: set , s2: static , + ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. s3: string, g: get , y: yield, + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. d: declare ) { } var bigObject = { diff --git a/tests/baselines/reference/deleteOperator1.errors.txt b/tests/baselines/reference/deleteOperator1.errors.txt index 19feefa6c6228..7f01da08d18eb 100644 --- a/tests/baselines/reference/deleteOperator1.errors.txt +++ b/tests/baselines/reference/deleteOperator1.errors.txt @@ -1,19 +1,28 @@ +deleteOperator1.ts(2,25): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperator1.ts(2,25): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperator1.ts(3,21): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperator1.ts(3,21): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperator1.ts(4,5): error TS2322: Type 'boolean' is not assignable to type 'number'. +deleteOperator1.ts(4,24): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperator1.ts(4,24): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperator1.ts (4 errors) ==== +==== deleteOperator1.ts (7 errors) ==== var a; var x: boolean = delete a; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var y: any = delete a; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var z: number = delete a; ~ !!! error TS2322: Type 'boolean' is not assignable to type 'number'. ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. \ No newline at end of file diff --git a/tests/baselines/reference/deleteOperatorInvalidOperations.errors.txt b/tests/baselines/reference/deleteOperatorInvalidOperations.errors.txt index df4c0ad868f5a..ce87d1518af74 100644 --- a/tests/baselines/reference/deleteOperatorInvalidOperations.errors.txt +++ b/tests/baselines/reference/deleteOperatorInvalidOperations.errors.txt @@ -1,13 +1,15 @@ deleteOperatorInvalidOperations.ts(5,20): error TS1005: ',' expected. +deleteOperatorInvalidOperations.ts(5,26): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorInvalidOperations.ts(5,26): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorInvalidOperations.ts(5,27): error TS1109: Expression expected. +deleteOperatorInvalidOperations.ts(8,22): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorInvalidOperations.ts(8,22): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorInvalidOperations.ts(8,23): error TS1109: Expression expected. deleteOperatorInvalidOperations.ts(13,16): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorInvalidOperations.ts (7 errors) ==== +==== deleteOperatorInvalidOperations.ts (9 errors) ==== // Unary operator delete var ANY; @@ -16,6 +18,8 @@ deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delet ~~~~~~ !!! error TS1005: ',' expected. +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~ !!! error TS1109: Expression expected. @@ -23,6 +27,8 @@ deleteOperatorInvalidOperations.ts(13,16): error TS2703: The operand of a 'delet // miss an operand var BOOLEAN2 = delete ; +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~ !!! error TS1109: Expression expected. diff --git a/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt index 1a4f2b723b211..15c4e8a4b1bd4 100644 --- a/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt @@ -1,9 +1,16 @@ +deleteOperatorWithAnyOtherType.ts(25,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(25,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(26,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(27,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(28,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(28,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(29,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(29,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(30,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(33,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(33,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(34,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(42,32): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -16,16 +23,20 @@ deleteOperatorWithAnyOtherType.ts(46,33): error TS2703: The operand of a 'delete deleteOperatorWithAnyOtherType.ts(47,33): error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'. deleteOperatorWithAnyOtherType.ts(47,33): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(50,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(50,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(50,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(51,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(51,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithAnyOtherType.ts(51,47): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(54,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(54,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(55,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(55,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithAnyOtherType.ts(57,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithAnyOtherType.ts (25 errors) ==== +==== deleteOperatorWithAnyOtherType.ts (36 errors) ==== // delete operator on any type var ANY: any; @@ -52,26 +63,40 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' // any type var var ResultIsBoolean1 = delete ANY1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete ANY2; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean3 = delete A; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean4 = delete M; ~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean5 = delete obj; ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean6 = delete obj1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // any type literal var ResultIsBoolean7 = delete undefined; ~~~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean8 = delete null; ~~~~ @@ -113,6 +138,8 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' ~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean21 = delete delete delete (ANY + ANY1); ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,13 +152,19 @@ deleteOperatorWithAnyOtherType.ts(57,8): error TS2703: The operand of a 'delete' // miss assignment operators delete ANY; ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ANY1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ANY2[0]; delete ANY, ANY1; ~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete obj1.x; delete obj1.y; diff --git a/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt b/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt index 63a0d427ded7d..8530e8a0f28e3 100644 --- a/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithBooleanType.errors.txt @@ -1,17 +1,20 @@ +deleteOperatorWithBooleanType.ts(17,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithBooleanType.ts(17,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(20,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(21,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(26,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(27,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(30,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithBooleanType.ts(30,38): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithBooleanType.ts(30,38): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(33,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithBooleanType.ts(34,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithBooleanType.ts(34,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(35,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithBooleanType.ts (11 errors) ==== +==== deleteOperatorWithBooleanType.ts (14 errors) ==== // delete operator on boolean type var BOOLEAN: boolean; @@ -30,6 +33,8 @@ deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' // boolean type var var ResultIsBoolean1 = delete BOOLEAN; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // boolean type literal @@ -55,6 +60,8 @@ deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' ~~~~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // miss assignment operators @@ -63,6 +70,8 @@ deleteOperatorWithBooleanType.ts(36,8): error TS2703: The operand of a 'delete' !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete BOOLEAN; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete foo(); ~~~~~ diff --git a/tests/baselines/reference/deleteOperatorWithEnumType.errors.txt b/tests/baselines/reference/deleteOperatorWithEnumType.errors.txt index 087b0635132a9..c673275cf7987 100644 --- a/tests/baselines/reference/deleteOperatorWithEnumType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithEnumType.errors.txt @@ -1,19 +1,25 @@ +deleteOperatorWithEnumType.ts(7,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(7,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(8,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(8,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(11,31): error TS2704: The operand of a 'delete' operator cannot be a read-only property. deleteOperatorWithEnumType.ts(12,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(15,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(15,38): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(15,38): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(16,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(16,38): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(16,46): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(19,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(19,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithEnumType.ts(20,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(20,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithEnumType.ts(21,8): error TS2704: The operand of a 'delete' operator cannot be a read-only property. +deleteOperatorWithEnumType.ts(22,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithEnumType.ts (13 errors) ==== +==== deleteOperatorWithEnumType.ts (19 errors) ==== // delete operator on enum type enum ENUM { }; @@ -22,9 +28,13 @@ deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' ope // enum type var var ResultIsBoolean1 = delete ENUM; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete ENUM1; ~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // enum type expressions @@ -40,6 +50,8 @@ deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' ope ~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean6 = delete delete delete (ENUM[0] + ENUM1["B"]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -52,13 +64,19 @@ deleteOperatorWithEnumType.ts(22,8): error TS2703: The operand of a 'delete' ope // miss assignment operators delete ENUM; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ENUM1; ~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete ENUM1.B; ~~~~~~~ !!! error TS2704: The operand of a 'delete' operator cannot be a read-only property. delete ENUM, ENUM1; ~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. \ No newline at end of file diff --git a/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt b/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt index 97094ff5839d4..0f01bf2d3ab7b 100644 --- a/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithNumberType.errors.txt @@ -1,4 +1,6 @@ +deleteOperatorWithNumberType.ts(18,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(18,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(19,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(19,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(22,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(23,31): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -7,17 +9,20 @@ deleteOperatorWithNumberType.ts(30,31): error TS2703: The operand of a 'delete' deleteOperatorWithNumberType.ts(31,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(32,33): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(35,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(35,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(35,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(36,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(36,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(36,47): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(39,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(40,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(40,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithNumberType.ts(41,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithNumberType.ts(41,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithNumberType.ts (17 errors) ==== +==== deleteOperatorWithNumberType.ts (22 errors) ==== // delete operator on number type var NUMBER: number; var NUMBER1: number[] = [1, 2]; @@ -37,9 +42,13 @@ deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' o // number type var var ResultIsBoolean1 = delete NUMBER; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete NUMBER1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // number type literal @@ -72,6 +81,8 @@ deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' o ~~~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean13 = delete delete delete (NUMBER + NUMBER); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -87,9 +98,13 @@ deleteOperatorWithNumberType.ts(42,8): error TS2703: The operand of a 'delete' o !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete NUMBER; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete NUMBER1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete foo(); ~~~~~ diff --git a/tests/baselines/reference/deleteOperatorWithStringType.errors.txt b/tests/baselines/reference/deleteOperatorWithStringType.errors.txt index a872e8a070b99..c195b3be54983 100644 --- a/tests/baselines/reference/deleteOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/deleteOperatorWithStringType.errors.txt @@ -1,4 +1,6 @@ +deleteOperatorWithStringType.ts(18,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(18,31): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(19,31): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(19,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(22,31): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(23,31): error TS2703: The operand of a 'delete' operator must be a property reference. @@ -8,17 +10,20 @@ deleteOperatorWithStringType.ts(31,32): error TS2703: The operand of a 'delete' deleteOperatorWithStringType.ts(32,33): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(33,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(36,32): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(36,39): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(36,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(37,32): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(37,39): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(37,47): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(40,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(41,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(41,8): error TS2703: The operand of a 'delete' operator must be a property reference. +deleteOperatorWithStringType.ts(42,8): error TS1102: 'delete' cannot be called on an identifier in strict mode. deleteOperatorWithStringType.ts(42,8): error TS2703: The operand of a 'delete' operator must be a property reference. deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' operator must be a property reference. -==== deleteOperatorWithStringType.ts (18 errors) ==== +==== deleteOperatorWithStringType.ts (23 errors) ==== // delete operator on string type var STRING: string; var STRING1: string[] = ["", "abc"]; @@ -38,9 +43,13 @@ deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' o // string type var var ResultIsBoolean1 = delete STRING; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean2 = delete STRING1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. // string type literal @@ -76,6 +85,8 @@ deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' o ~~~~~~~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. var ResultIsBoolean14 = delete delete delete (STRING + STRING); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -91,9 +102,13 @@ deleteOperatorWithStringType.ts(43,8): error TS2703: The operand of a 'delete' o !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete STRING; ~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete STRING1; ~~~~~~~ +!!! error TS1102: 'delete' cannot be called on an identifier in strict mode. + ~~~~~~~ !!! error TS2703: The operand of a 'delete' operator must be a property reference. delete foo(); ~~~~~ diff --git a/tests/baselines/reference/downlevelLetConst6.errors.txt b/tests/baselines/reference/downlevelLetConst6.errors.txt index efb292ac95142..67f961f1a90d9 100644 --- a/tests/baselines/reference/downlevelLetConst6.errors.txt +++ b/tests/baselines/reference/downlevelLetConst6.errors.txt @@ -1,7 +1,10 @@ +downlevelLetConst6.ts(1,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. downlevelLetConst6.ts(1,1): error TS2304: Cannot find name 'let'. -==== downlevelLetConst6.ts (1 errors) ==== +==== downlevelLetConst6.ts (2 errors) ==== let ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2304: Cannot find name 'let'. \ No newline at end of file diff --git a/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt b/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt index 53aa06835010b..02aaeb8ce6e68 100644 --- a/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt +++ b/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt @@ -1,20 +1,17 @@ -duplicateIdentifierInCatchBlock.ts(1,5): error TS2300: Duplicate identifier 'v'. -duplicateIdentifierInCatchBlock.ts(3,14): error TS2300: Duplicate identifier 'v'. +duplicateIdentifierInCatchBlock.ts(3,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. duplicateIdentifierInCatchBlock.ts(6,10): error TS2300: Duplicate identifier 'w'. duplicateIdentifierInCatchBlock.ts(8,9): error TS2300: Duplicate identifier 'w'. -duplicateIdentifierInCatchBlock.ts(12,9): error TS2300: Duplicate identifier 'x'. -duplicateIdentifierInCatchBlock.ts(13,14): error TS2300: Duplicate identifier 'x'. +duplicateIdentifierInCatchBlock.ts(13,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +duplicateIdentifierInCatchBlock.ts(14,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'string', but here has type 'number'. -==== duplicateIdentifierInCatchBlock.ts (7 errors) ==== +==== duplicateIdentifierInCatchBlock.ts (6 errors) ==== var v; - ~ -!!! error TS2300: Duplicate identifier 'v'. try { } catch (e) { function v() { } ~ -!!! error TS2300: Duplicate identifier 'v'. +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. } function w() { } @@ -28,12 +25,12 @@ duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Subsequent variable decl try { } catch (e) { var x; - ~ -!!! error TS2300: Duplicate identifier 'x'. function x() { } // error ~ -!!! error TS2300: Duplicate identifier 'x'. +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. function e() { } // error + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. var p: string; var p: number; // error ~ diff --git a/tests/baselines/reference/duplicateLabel3.errors.txt b/tests/baselines/reference/duplicateLabel3.errors.txt new file mode 100644 index 0000000000000..0f6b762ba1f18 --- /dev/null +++ b/tests/baselines/reference/duplicateLabel3.errors.txt @@ -0,0 +1,14 @@ +duplicateLabel3.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + + +==== duplicateLabel3.ts (1 errors) ==== + target: + while (true) { + function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + target: + while (true) { + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03.errors.txt index c9f5526b14ebe..4b3bd937f9fec 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03.errors.txt @@ -1,8 +1,11 @@ +emitArrowFunctionWhenUsingArguments03.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments03.ts(2,15): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments03.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments03.ts (2 errors) ==== var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var a = () => arguments; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.errors.txt new file mode 100644 index 0000000000000..d5496138bb520 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.errors.txt @@ -0,0 +1,8 @@ +emitArrowFunctionWhenUsingArguments03_ES6.ts(1,5): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments03_ES6.ts (1 errors) ==== + var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.types index f255903903057..2779840ecb7b9 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments03_ES6.types @@ -3,6 +3,7 @@ === emitArrowFunctionWhenUsingArguments03_ES6.ts === var arguments; >arguments : any +> : ^^^ var a = () => arguments; >a : () => any @@ -10,4 +11,5 @@ var a = () => arguments; >() => arguments : () => any > : ^^^^^^^^^ >arguments : any +> : ^^^ diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04.errors.txt index b962c5453e1bf..93e9809dde71f 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04.errors.txt @@ -1,9 +1,12 @@ +emitArrowFunctionWhenUsingArguments04.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments04.ts(3,19): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments04.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments04.ts (2 errors) ==== function f() { var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var a = () => arguments; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.errors.txt new file mode 100644 index 0000000000000..7f18575e8b6c1 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.errors.txt @@ -0,0 +1,10 @@ +emitArrowFunctionWhenUsingArguments04_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments04_ES6.ts (1 errors) ==== + function f() { + var arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.types index b6b6a39254d6e..f165f38180df0 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments04_ES6.types @@ -7,6 +7,7 @@ function f() { var arguments; >arguments : any +> : ^^^ var a = () => arguments; >a : () => any @@ -14,4 +15,5 @@ function f() { >() => arguments : () => any > : ^^^^^^^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05.errors.txt index 802e88b146761..163eb3852b309 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05.errors.txt @@ -1,8 +1,11 @@ +emitArrowFunctionWhenUsingArguments05.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments05.ts(2,19): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments05.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments05.ts (2 errors) ==== function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var a = () => arguments; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.errors.txt new file mode 100644 index 0000000000000..965c8bc8a84f9 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.errors.txt @@ -0,0 +1,9 @@ +emitArrowFunctionWhenUsingArguments05_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments05_ES6.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => arguments; + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.types index db3a8162f8ca4..121ea6447a88a 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments05_ES6.types @@ -5,6 +5,7 @@ function f(arguments) { >f : (arguments: any) => void > : ^ ^^^^^^^^^^^^^^ >arguments : any +> : ^^^ var a = () => arguments; >a : () => any @@ -12,4 +13,5 @@ function f(arguments) { >() => arguments : () => any > : ^^^^^^^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06.errors.txt index 1d17c2669a321..b0ae5ecf1f887 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06.errors.txt @@ -1,8 +1,11 @@ +emitArrowFunctionWhenUsingArguments06.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments06.ts(2,25): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments06.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments06.ts (2 errors) ==== function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var a = () => () => arguments; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.errors.txt new file mode 100644 index 0000000000000..7d719319caf3a --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.errors.txt @@ -0,0 +1,9 @@ +emitArrowFunctionWhenUsingArguments06_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments06_ES6.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => () => arguments; + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.types index fd66dc71493a3..18aed6b01e027 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments06_ES6.types @@ -5,6 +5,7 @@ function f(arguments) { >f : (arguments: any) => void > : ^ ^^^^^^^^^^^^^^ >arguments : any +> : ^^^ var a = () => () => arguments; >a : () => () => any @@ -14,4 +15,5 @@ function f(arguments) { >() => arguments : () => any > : ^^^^^^^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07.errors.txt index c3037a6e2b559..eda078533f6c2 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07.errors.txt @@ -1,9 +1,15 @@ +emitArrowFunctionWhenUsingArguments07.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments07.ts(2,14): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments07.ts(2,34): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments07.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments07.ts (3 errors) ==== function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var a = (arguments) => () => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.errors.txt new file mode 100644 index 0000000000000..81f21de0e6fb2 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.errors.txt @@ -0,0 +1,12 @@ +emitArrowFunctionWhenUsingArguments07_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments07_ES6.ts(2,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments07_ES6.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = (arguments) => () => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.types index 2db42c24a88ec..fcd4f4569c791 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments07_ES6.types @@ -5,6 +5,7 @@ function f(arguments) { >f : (arguments: any) => void > : ^ ^^^^^^^^^^^^^^ >arguments : any +> : ^^^ var a = (arguments) => () => arguments; >a : (arguments: any) => () => any @@ -12,7 +13,9 @@ function f(arguments) { >(arguments) => () => arguments : (arguments: any) => () => any > : ^ ^^^^^^^^^^^^^^^^^^^ >arguments : any +> : ^^^ >() => arguments : () => any > : ^^^^^^^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.errors.txt new file mode 100644 index 0000000000000..1764f2f84bef6 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.errors.txt @@ -0,0 +1,12 @@ +emitArrowFunctionWhenUsingArguments08.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments08.ts(2,20): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments08.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => (arguments) => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.types index b47b22daec481..90a6b46b58d41 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08.types @@ -5,6 +5,7 @@ function f(arguments) { >f : (arguments: any) => void > : ^ ^^^^^^^^^^^^^^ >arguments : any +> : ^^^ var a = () => (arguments) => arguments; >a : () => (arguments: any) => any @@ -14,5 +15,7 @@ function f(arguments) { >(arguments) => arguments : (arguments: any) => any > : ^ ^^^^^^^^^^^^^ >arguments : any +> : ^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.errors.txt new file mode 100644 index 0000000000000..f55b018eff4a1 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.errors.txt @@ -0,0 +1,12 @@ +emitArrowFunctionWhenUsingArguments08_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments08_ES6.ts(2,20): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments08_ES6.ts (2 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var a = () => (arguments) => arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.types index 0f6f1c03d6407..aeea922a665ba 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments08_ES6.types @@ -5,6 +5,7 @@ function f(arguments) { >f : (arguments: any) => void > : ^ ^^^^^^^^^^^^^^ >arguments : any +> : ^^^ var a = () => (arguments) => arguments; >a : () => (arguments: any) => any @@ -14,5 +15,7 @@ function f(arguments) { >(arguments) => arguments : (arguments: any) => any > : ^ ^^^^^^^^^^^^^ >arguments : any +> : ^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11.errors.txt index dcce324a922d3..9bacfc14b76eb 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11.errors.txt @@ -1,8 +1,11 @@ +emitArrowFunctionWhenUsingArguments11.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments11.ts(3,25): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments11.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments11.ts (2 errors) ==== function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. var _arguments = 10; var a = () => () => arguments; ~~~~~~~~~ diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.errors.txt new file mode 100644 index 0000000000000..0bc335d9e0200 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.errors.txt @@ -0,0 +1,10 @@ +emitArrowFunctionWhenUsingArguments11_ES6.ts(1,12): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments11_ES6.ts (1 errors) ==== + function f(arguments) { + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + var _arguments = 10; + var a = () => () => arguments; + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types index 1d6162b54968c..2ec0fa53e0742 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments11_ES6.types @@ -5,6 +5,7 @@ function f(arguments) { >f : (arguments: any) => void > : ^ ^^^^^^^^^^^^^^ >arguments : any +> : ^^^ var _arguments = 10; >_arguments : number @@ -20,4 +21,5 @@ function f(arguments) { >() => arguments : () => any > : ^^^^^^^^^ >arguments : any +> : ^^^ } diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.errors.txt new file mode 100644 index 0000000000000..014ac9794db26 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.errors.txt @@ -0,0 +1,10 @@ +emitArrowFunctionWhenUsingArguments13.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments13.ts (1 errors) ==== + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types index 6de9462639006..90f2c840dc66c 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13.types @@ -17,6 +17,7 @@ function f() { >(arguments) => () => _arguments : (arguments: any) => () => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >arguments : any +> : ^^^ >() => _arguments : () => number > : ^^^^^^^^^^^^ >_arguments : number diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.errors.txt new file mode 100644 index 0000000000000..b57bbf9baeb78 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.errors.txt @@ -0,0 +1,10 @@ +emitArrowFunctionWhenUsingArguments13_ES6.ts(3,14): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments13_ES6.ts (1 errors) ==== + function f() { + var _arguments = 10; + var a = (arguments) => () => _arguments; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types index fe34d30f83068..c3f12720f0f3c 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments13_ES6.types @@ -17,6 +17,7 @@ function f() { >(arguments) => () => _arguments : (arguments: any) => () => number > : ^ ^^^^^^^^^^^^^^^^^^^^^^ >arguments : any +> : ^^^ >() => _arguments : () => number > : ^^^^^^^^^^^^ >_arguments : number diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.errors.txt index 38491ae7195a5..1f73dd4d42f2d 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14.errors.txt @@ -1,10 +1,13 @@ +emitArrowFunctionWhenUsingArguments14.ts(3,15): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments14.ts(4,22): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments14.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments14.ts (2 errors) ==== function f() { if (Math.random()) { const arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. return () => arguments; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.errors.txt new file mode 100644 index 0000000000000..39f7734b72e60 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments14_ES6.errors.txt @@ -0,0 +1,12 @@ +emitArrowFunctionWhenUsingArguments14_ES6.ts(3,13): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments14_ES6.ts (1 errors) ==== + function f() { + if (Math.random()) { + let arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return () => arguments; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.errors.txt index 08a608ae1216d..052edf9546011 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15.errors.txt @@ -1,11 +1,17 @@ +emitArrowFunctionWhenUsingArguments15.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments15.ts(4,15): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments15.ts(5,22): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. -==== emitArrowFunctionWhenUsingArguments15.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments15.ts (3 errors) ==== function f() { var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. if (Math.random()) { const arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. return () => arguments; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.errors.txt new file mode 100644 index 0000000000000..672c64982bdb6 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments15_ES6.errors.txt @@ -0,0 +1,16 @@ +emitArrowFunctionWhenUsingArguments15_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments15_ES6.ts(4,15): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments15_ES6.ts (2 errors) ==== + function f() { + var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + const arguments = 100; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + return () => arguments; + } + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.errors.txt index f3becb13393c7..71e9b035d1325 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16.errors.txt @@ -1,13 +1,19 @@ +emitArrowFunctionWhenUsingArguments16.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments16.ts(4,22): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. +emitArrowFunctionWhenUsingArguments16.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. -==== emitArrowFunctionWhenUsingArguments16.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments16.ts (3 errors) ==== function f() { var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. if (Math.random()) { return () => arguments[0]; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. } var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.errors.txt new file mode 100644 index 0000000000000..958c33c5f0e08 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments16_ES6.errors.txt @@ -0,0 +1,16 @@ +emitArrowFunctionWhenUsingArguments16_ES6.ts(2,9): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments16_ES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments16_ES6.ts (2 errors) ==== + function f() { + var arguments = "hello"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.errors.txt index 47a1971378097..73fa1d0bf4926 100644 --- a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.errors.txt +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17.errors.txt @@ -1,13 +1,19 @@ +emitArrowFunctionWhenUsingArguments17.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. emitArrowFunctionWhenUsingArguments17.ts(4,22): error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. +emitArrowFunctionWhenUsingArguments17.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. -==== emitArrowFunctionWhenUsingArguments17.ts (1 errors) ==== +==== emitArrowFunctionWhenUsingArguments17.ts (3 errors) ==== function f() { var { arguments } = { arguments: "hello" }; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. if (Math.random()) { return () => arguments[0]; ~~~~~~~~~ !!! error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression. } var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. } \ No newline at end of file diff --git a/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.errors.txt b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.errors.txt new file mode 100644 index 0000000000000..5ffd967d5f0e7 --- /dev/null +++ b/tests/baselines/reference/emitArrowFunctionWhenUsingArguments17_ES6.errors.txt @@ -0,0 +1,16 @@ +emitArrowFunctionWhenUsingArguments17_ES6.ts(2,11): error TS1100: Invalid use of 'arguments' in strict mode. +emitArrowFunctionWhenUsingArguments17_ES6.ts(6,9): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== emitArrowFunctionWhenUsingArguments17_ES6.ts (2 errors) ==== + function f() { + var { arguments } = { arguments: "hello" }; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + if (Math.random()) { + return () => arguments[0]; + } + var arguments = "world"; + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt b/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt index b1245d7c46e27..74edf96ff9326 100644 --- a/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt +++ b/tests/baselines/reference/es5-asyncFunctionWithStatements.errors.txt @@ -1,19 +1,26 @@ +es5-asyncFunctionWithStatements.ts(4,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(4,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(4,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(10,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(10,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(10,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(16,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(16,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(16,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(24,5): error TS1101: 'with' statements are not allowed in strict mode. es5-asyncFunctionWithStatements.ts(24,5): error TS1300: 'with' statements are not allowed in an async function block. es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +es5-asyncFunctionWithStatements.ts(25,9): error TS1101: 'with' statements are not allowed in strict mode. -==== es5-asyncFunctionWithStatements.ts (8 errors) ==== +==== es5-asyncFunctionWithStatements.ts (13 errors) ==== declare var x, y, z, a, b, c; async function withStatement0() { with (x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. @@ -24,6 +31,8 @@ es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is async function withStatement1() { with (await x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. @@ -34,6 +43,8 @@ es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is async function withStatement2() { with (x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. @@ -46,10 +57,14 @@ es5-asyncFunctionWithStatements.ts(24,5): error TS2410: The 'with' statement is async function withStatement3() { with (x) { ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. + ~~~~ !!! error TS1300: 'with' statements are not allowed in an async function block. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. with (z) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. a; await y; b; diff --git a/tests/baselines/reference/for-of51.errors.txt b/tests/baselines/reference/for-of51.errors.txt index b58f4ca58a42f..2df64cf3202ac 100644 --- a/tests/baselines/reference/for-of51.errors.txt +++ b/tests/baselines/reference/for-of51.errors.txt @@ -1,7 +1,10 @@ +for-of51.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. for-of51.ts(1,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== for-of51.ts (1 errors) ==== +==== for-of51.ts (2 errors) ==== for (let let of []) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. \ No newline at end of file diff --git a/tests/baselines/reference/for-of56.errors.txt b/tests/baselines/reference/for-of56.errors.txt new file mode 100644 index 0000000000000..d2b1cc974f91c --- /dev/null +++ b/tests/baselines/reference/for-of56.errors.txt @@ -0,0 +1,7 @@ +for-of56.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== for-of56.ts (1 errors) ==== + for (var let of []) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/tests/baselines/reference/for-of56.types b/tests/baselines/reference/for-of56.types index 8c4b7a9d8a4df..0571d0cd09367 100644 --- a/tests/baselines/reference/for-of56.types +++ b/tests/baselines/reference/for-of56.types @@ -3,6 +3,7 @@ === for-of56.ts === for (var let of []) {} >let : any +> : ^^^ >[] : undefined[] > : ^^^^^^^^^^^ diff --git a/tests/baselines/reference/functionExpressionInWithBlock.errors.txt b/tests/baselines/reference/functionExpressionInWithBlock.errors.txt index d5b6ea80835cb..94d4228fce28a 100644 --- a/tests/baselines/reference/functionExpressionInWithBlock.errors.txt +++ b/tests/baselines/reference/functionExpressionInWithBlock.errors.txt @@ -1,12 +1,18 @@ +functionExpressionInWithBlock.ts(2,2): error TS1101: 'with' statements are not allowed in strict mode. functionExpressionInWithBlock.ts(2,2): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +functionExpressionInWithBlock.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. -==== functionExpressionInWithBlock.ts (1 errors) ==== +==== functionExpressionInWithBlock.ts (3 errors) ==== function x() { with({}) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. () => this; } } diff --git a/tests/baselines/reference/functionInIfStatementInModule.errors.txt b/tests/baselines/reference/functionInIfStatementInModule.errors.txt new file mode 100644 index 0000000000000..ffd29f450a0df --- /dev/null +++ b/tests/baselines/reference/functionInIfStatementInModule.errors.txt @@ -0,0 +1,16 @@ +functionInIfStatementInModule.ts(5,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + + +==== functionInIfStatementInModule.ts (1 errors) ==== + + module Midori + { + if (false) { + function Foo(src) + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + { + } + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/functionInIfStatementInModule.types b/tests/baselines/reference/functionInIfStatementInModule.types index 0c2ff67fcbeb0..fbc5420cba46d 100644 --- a/tests/baselines/reference/functionInIfStatementInModule.types +++ b/tests/baselines/reference/functionInIfStatementInModule.types @@ -14,6 +14,7 @@ module Midori >Foo : (src: any) => void > : ^ ^^^^^^^^^^^^^^ >src : any +> : ^^^ { } } diff --git a/tests/baselines/reference/functionsWithModifiersInBlocks1.errors.txt b/tests/baselines/reference/functionsWithModifiersInBlocks1.errors.txt index d8f81e8ea16cb..a080994eea616 100644 --- a/tests/baselines/reference/functionsWithModifiersInBlocks1.errors.txt +++ b/tests/baselines/reference/functionsWithModifiersInBlocks1.errors.txt @@ -1,19 +1,24 @@ functionsWithModifiersInBlocks1.ts(2,4): error TS1184: Modifiers cannot appear here. +functionsWithModifiersInBlocks1.ts(2,21): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. functionsWithModifiersInBlocks1.ts(2,21): error TS2393: Duplicate function implementation. functionsWithModifiersInBlocks1.ts(2,25): error TS1183: An implementation cannot be declared in ambient contexts. functionsWithModifiersInBlocks1.ts(3,4): error TS1184: Modifiers cannot appear here. +functionsWithModifiersInBlocks1.ts(3,20): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. functionsWithModifiersInBlocks1.ts(3,20): error TS2393: Duplicate function implementation. functionsWithModifiersInBlocks1.ts(4,4): error TS1184: Modifiers cannot appear here. +functionsWithModifiersInBlocks1.ts(4,28): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. functionsWithModifiersInBlocks1.ts(4,28): error TS2393: Duplicate function implementation. functionsWithModifiersInBlocks1.ts(4,32): error TS1183: An implementation cannot be declared in ambient contexts. -==== functionsWithModifiersInBlocks1.ts (8 errors) ==== +==== functionsWithModifiersInBlocks1.ts (11 errors) ==== { declare function f() { } ~~~~~~~ !!! error TS1184: Modifiers cannot appear here. ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~ !!! error TS2393: Duplicate function implementation. ~ !!! error TS1183: An implementation cannot be declared in ambient contexts. @@ -21,11 +26,15 @@ functionsWithModifiersInBlocks1.ts(4,32): error TS1183: An implementation cannot ~~~~~~ !!! error TS1184: Modifiers cannot appear here. ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~ !!! error TS2393: Duplicate function implementation. declare export function f() { } ~~~~~~~ !!! error TS1184: Modifiers cannot appear here. ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~ !!! error TS2393: Duplicate function implementation. ~ !!! error TS1183: An implementation cannot be declared in ambient contexts. diff --git a/tests/baselines/reference/generatorTypeCheck38.errors.txt b/tests/baselines/reference/generatorTypeCheck38.errors.txt new file mode 100644 index 0000000000000..d3948ae800df1 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck38.errors.txt @@ -0,0 +1,14 @@ +generatorTypeCheck38.ts(1,5): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +generatorTypeCheck38.ts(4,19): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + + +==== generatorTypeCheck38.ts (2 errors) ==== + var yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + function* g() { + yield 0; + var v: typeof yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. + } \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck38.types b/tests/baselines/reference/generatorTypeCheck38.types index da815c386e60f..d8ad76a698fc6 100644 --- a/tests/baselines/reference/generatorTypeCheck38.types +++ b/tests/baselines/reference/generatorTypeCheck38.types @@ -3,6 +3,7 @@ === generatorTypeCheck38.ts === var yield; >yield : any +> : ^^^ function* g() { >g : () => Generator @@ -10,10 +11,13 @@ function* g() { yield 0; >yield 0 : any +> : ^^^ >0 : 0 > : ^ var v: typeof yield; >v : any +> : ^^^ >yield : any +> : ^^^ } diff --git a/tests/baselines/reference/importCallExpressionInScriptContext1.errors.txt b/tests/baselines/reference/importCallExpressionInScriptContext1.errors.txt new file mode 100644 index 0000000000000..1de82f64ddbe3 --- /dev/null +++ b/tests/baselines/reference/importCallExpressionInScriptContext1.errors.txt @@ -0,0 +1,11 @@ +1.ts(2,10): error TS1100: Invalid use of 'arguments' in strict mode. + + +==== 0.ts (0 errors) ==== + export function foo() { return "foo"; } + +==== 1.ts (1 errors) ==== + var p1 = import("./0"); + function arguments() { } // this is allow as the file doesn't have implicit "use strict" + ~~~~~~~~~ +!!! error TS1100: Invalid use of 'arguments' in strict mode. \ No newline at end of file diff --git a/tests/baselines/reference/innerModExport1.errors.txt b/tests/baselines/reference/innerModExport1.errors.txt index 1aa62fd7d503a..528ac90b7af43 100644 --- a/tests/baselines/reference/innerModExport1.errors.txt +++ b/tests/baselines/reference/innerModExport1.errors.txt @@ -1,8 +1,11 @@ innerModExport1.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. innerModExport1.ts(5,12): error TS1437: Namespace must be given a name. +innerModExport1.ts(9,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +innerModExport1.ts(11,25): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +innerModExport1.ts(19,7): error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. -==== innerModExport1.ts (2 errors) ==== +==== innerModExport1.ts (5 errors) ==== module Outer { // inner mod 1 @@ -16,8 +19,12 @@ innerModExport1.ts(5,12): error TS1437: Namespace must be given a name. export var export_var = 1; function NonExportFunc() { return 0; } + ~~~~~~~~~~~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. export function ExportFunc() { return 0; } + ~~~~~~~~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. } export var outer_var_export = 0; @@ -25,4 +32,6 @@ innerModExport1.ts(5,12): error TS1437: Namespace must be given a name. } - Outer.ExportFunc(); \ No newline at end of file + Outer.ExportFunc(); + ~~~~~~~~~~ +!!! error TS2339: Property 'ExportFunc' does not exist on type 'typeof Outer'. \ No newline at end of file diff --git a/tests/baselines/reference/innerModExport1.symbols b/tests/baselines/reference/innerModExport1.symbols index 395bd9f6cc11e..4dc254d955eb3 100644 --- a/tests/baselines/reference/innerModExport1.symbols +++ b/tests/baselines/reference/innerModExport1.symbols @@ -31,7 +31,5 @@ module Outer { } Outer.ExportFunc(); ->Outer.ExportFunc : Symbol(Outer.ExportFunc, Decl(innerModExport1.ts, 8, 46)) >Outer : Symbol(Outer, Decl(innerModExport1.ts, 0, 0)) ->ExportFunc : Symbol(Outer.ExportFunc, Decl(innerModExport1.ts, 8, 46)) diff --git a/tests/baselines/reference/innerModExport1.types b/tests/baselines/reference/innerModExport1.types index 79adf2835a47e..dd77a351c3452 100644 --- a/tests/baselines/reference/innerModExport1.types +++ b/tests/baselines/reference/innerModExport1.types @@ -54,12 +54,12 @@ module Outer { } Outer.ExportFunc(); ->Outer.ExportFunc() : number -> : ^^^^^^ ->Outer.ExportFunc : () => number -> : ^^^^^^^^^^^^ +>Outer.ExportFunc() : any +> : ^^^ +>Outer.ExportFunc : any +> : ^^^ >Outer : typeof Outer > : ^^^^^^^^^^^^ ->ExportFunc : () => number -> : ^^^^^^^^^^^^ +>ExportFunc : any +> : ^^^ diff --git a/tests/baselines/reference/innerModExport2.errors.txt b/tests/baselines/reference/innerModExport2.errors.txt index 8ee2da64c160c..1ff3e4060f398 100644 --- a/tests/baselines/reference/innerModExport2.errors.txt +++ b/tests/baselines/reference/innerModExport2.errors.txt @@ -1,11 +1,13 @@ innerModExport2.ts(5,5): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. innerModExport2.ts(5,12): error TS1437: Namespace must be given a name. innerModExport2.ts(7,20): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. +innerModExport2.ts(9,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +innerModExport2.ts(11,25): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. innerModExport2.ts(13,9): error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. -innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? +innerModExport2.ts(20,7): error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. -==== innerModExport2.ts (5 errors) ==== +==== innerModExport2.ts (7 errors) ==== module Outer { // inner mod 1 @@ -21,8 +23,12 @@ innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist !!! error TS2395: Individual declarations in merged declaration 'export_var' must be all exported or all local. function NonExportFunc() { return 0; } + ~~~~~~~~~~~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. export function ExportFunc() { return 0; } + ~~~~~~~~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. } var export_var: number; ~~~~~~~~~~ @@ -35,5 +41,4 @@ innerModExport2.ts(20,7): error TS2551: Property 'NonExportFunc' does not exist Outer.NonExportFunc(); ~~~~~~~~~~~~~ -!!! error TS2551: Property 'NonExportFunc' does not exist on type 'typeof Outer'. Did you mean 'ExportFunc'? -!!! related TS2728 innerModExport2.ts:11:25: 'ExportFunc' is declared here. \ No newline at end of file +!!! error TS2339: Property 'NonExportFunc' does not exist on type 'typeof Outer'. \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementWithLabel_es2015.errors.txt b/tests/baselines/reference/labeledStatementWithLabel_es2015.errors.txt index 9009aca4d1575..ae952fad4a060 100644 --- a/tests/baselines/reference/labeledStatementWithLabel_es2015.errors.txt +++ b/tests/baselines/reference/labeledStatementWithLabel_es2015.errors.txt @@ -1,23 +1,59 @@ +labeledStatementWithLabel_es2015.ts(1,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(2,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(3,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(4,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(5,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(6,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(7,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(8,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(9,1): error TS1344: 'A label is not allowed here. +labeledStatementWithLabel_es2015.ts(11,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel_es2015.ts(11,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel_es2015.ts(12,1): error TS1344: 'A label is not allowed here. labeledStatementWithLabel_es2015.ts(12,8): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. +labeledStatementWithLabel_es2015.ts(13,1): error TS1344: 'A label is not allowed here. -==== labeledStatementWithLabel_es2015.ts (2 errors) ==== +==== labeledStatementWithLabel_es2015.ts (14 errors) ==== label: function fn() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: function* gen() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: async function gen1() { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: enum E {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: interface I {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: class C { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: var a = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: let b = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: const c = 1; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. label: module M { } + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~ !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. label: namespace N {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~ !!! error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. label: type T = {} + ~~~~~ +!!! error TS1344: 'A label is not allowed here. \ No newline at end of file diff --git a/tests/baselines/reference/letAndVarRedeclaration.errors.txt b/tests/baselines/reference/letAndVarRedeclaration.errors.txt index 32dde58a19b01..b5e5fa938750f 100644 --- a/tests/baselines/reference/letAndVarRedeclaration.errors.txt +++ b/tests/baselines/reference/letAndVarRedeclaration.errors.txt @@ -6,13 +6,11 @@ letAndVarRedeclaration.ts(7,9): error TS2300: Duplicate identifier 'x1'. letAndVarRedeclaration.ts(8,14): error TS2300: Duplicate identifier 'x1'. letAndVarRedeclaration.ts(12,9): error TS2451: Cannot redeclare block-scoped variable 'x'. letAndVarRedeclaration.ts(14,13): error TS2451: Cannot redeclare block-scoped variable 'x'. -letAndVarRedeclaration.ts(17,18): error TS2451: Cannot redeclare block-scoped variable 'x'. letAndVarRedeclaration.ts(22,9): error TS2300: Duplicate identifier 'x2'. letAndVarRedeclaration.ts(23,9): error TS2300: Duplicate identifier 'x2'. letAndVarRedeclaration.ts(24,14): error TS2300: Duplicate identifier 'x2'. letAndVarRedeclaration.ts(28,9): error TS2451: Cannot redeclare block-scoped variable 'x2'. letAndVarRedeclaration.ts(30,13): error TS2451: Cannot redeclare block-scoped variable 'x2'. -letAndVarRedeclaration.ts(33,18): error TS2451: Cannot redeclare block-scoped variable 'x2'. letAndVarRedeclaration.ts(37,5): error TS2451: Cannot redeclare block-scoped variable 'x11'. letAndVarRedeclaration.ts(38,10): error TS2451: Cannot redeclare block-scoped variable 'x11'. letAndVarRedeclaration.ts(42,9): error TS2451: Cannot redeclare block-scoped variable 'x11'. @@ -21,7 +19,7 @@ letAndVarRedeclaration.ts(48,9): error TS2451: Cannot redeclare block-scoped var letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped variable 'x11'. -==== letAndVarRedeclaration.ts (21 errors) ==== +==== letAndVarRedeclaration.ts (19 errors) ==== let e0 ~~ !!! error TS2300: Duplicate identifier 'e0'. @@ -55,8 +53,6 @@ letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped va } { function x() { } - ~ -!!! error TS2451: Cannot redeclare block-scoped variable 'x'. } } @@ -83,8 +79,6 @@ letAndVarRedeclaration.ts(49,14): error TS2451: Cannot redeclare block-scoped va } { function x2() { } - ~~ -!!! error TS2451: Cannot redeclare block-scoped variable 'x2'. } } diff --git a/tests/baselines/reference/letAsIdentifier.errors.txt b/tests/baselines/reference/letAsIdentifier.errors.txt index f5fe550997581..e34f634d5e3ce 100644 --- a/tests/baselines/reference/letAsIdentifier.errors.txt +++ b/tests/baselines/reference/letAsIdentifier.errors.txt @@ -1,13 +1,19 @@ +letAsIdentifier.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letAsIdentifier.ts(2,5): error TS2300: Duplicate identifier 'a'. +letAsIdentifier.ts(3,1): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letAsIdentifier.ts(5,1): error TS2300: Duplicate identifier 'a'. -==== letAsIdentifier.ts (2 errors) ==== +==== letAsIdentifier.ts (4 errors) ==== var let = 10; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. var a = 10; ~ !!! error TS2300: Duplicate identifier 'a'. let = 30; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. let a; ~ diff --git a/tests/baselines/reference/letAsIdentifier2.errors.txt b/tests/baselines/reference/letAsIdentifier2.errors.txt new file mode 100644 index 0000000000000..84bc1ea4938d5 --- /dev/null +++ b/tests/baselines/reference/letAsIdentifier2.errors.txt @@ -0,0 +1,7 @@ +letAsIdentifier2.ts(1,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letAsIdentifier2.ts (1 errors) ==== + function let() {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/tests/baselines/reference/letDeclarations-invalidContexts.errors.txt b/tests/baselines/reference/letDeclarations-invalidContexts.errors.txt index 645962e02e130..4f913ff135ec0 100644 --- a/tests/baselines/reference/letDeclarations-invalidContexts.errors.txt +++ b/tests/baselines/reference/letDeclarations-invalidContexts.errors.txt @@ -2,14 +2,17 @@ letDeclarations-invalidContexts.ts(3,5): error TS1156: 'let' declarations can on letDeclarations-invalidContexts.ts(5,5): error TS1156: 'let' declarations can only be declared inside a block. letDeclarations-invalidContexts.ts(8,5): error TS1156: 'let' declarations can only be declared inside a block. letDeclarations-invalidContexts.ts(11,5): error TS1156: 'let' declarations can only be declared inside a block. +letDeclarations-invalidContexts.ts(15,1): error TS1101: 'with' statements are not allowed in strict mode. letDeclarations-invalidContexts.ts(15,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. letDeclarations-invalidContexts.ts(19,5): error TS1156: 'let' declarations can only be declared inside a block. letDeclarations-invalidContexts.ts(22,5): error TS1156: 'let' declarations can only be declared inside a block. +letDeclarations-invalidContexts.ts(25,5): error TS1344: 'A label is not allowed here. letDeclarations-invalidContexts.ts(25,12): error TS1156: 'let' declarations can only be declared inside a block. +letDeclarations-invalidContexts.ts(28,21): error TS1344: 'A label is not allowed here. letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can only be declared inside a block. -==== letDeclarations-invalidContexts.ts (9 errors) ==== +==== letDeclarations-invalidContexts.ts (12 errors) ==== // Errors, let must be defined inside a block if (true) let l1 = 0; @@ -33,6 +36,8 @@ letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can var obj; with (obj) + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. let l5 = 0; @@ -49,11 +54,15 @@ letDeclarations-invalidContexts.ts(28,29): error TS1156: 'let' declarations can if (true) label: let l8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~ !!! error TS1156: 'let' declarations can only be declared inside a block. while (false) label2: label3: label4: let l9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. ~~~~~~~~~~~ !!! error TS1156: 'let' declarations can only be declared inside a block. diff --git a/tests/baselines/reference/letDeclarations-scopes.errors.txt b/tests/baselines/reference/letDeclarations-scopes.errors.txt index 821b2e4dcf71f..a001db783bfdd 100644 --- a/tests/baselines/reference/letDeclarations-scopes.errors.txt +++ b/tests/baselines/reference/letDeclarations-scopes.errors.txt @@ -1,7 +1,11 @@ +letDeclarations-scopes.ts(27,1): error TS1101: 'with' statements are not allowed in strict mode. letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +letDeclarations-scopes.ts(43,5): error TS1344: 'A label is not allowed here. +letDeclarations-scopes.ts(48,21): error TS1344: 'A label is not allowed here. +letDeclarations-scopes.ts(119,5): error TS1344: 'A label is not allowed here. -==== letDeclarations-scopes.ts (1 errors) ==== +==== letDeclarations-scopes.ts (5 errors) ==== // global let l = "string"; @@ -29,6 +33,8 @@ letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not suppo var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. let l = 0; @@ -47,11 +53,15 @@ letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not suppo if (true) { label: let l = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. n = l; } while (false) { label2: label3: label4: let l = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. n = l; } @@ -123,6 +133,8 @@ letDeclarations-scopes.ts(27,1): error TS2410: The 'with' statement is not suppo } lable: let l2 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. } // methods diff --git a/tests/baselines/reference/letDeclarations-validContexts.errors.txt b/tests/baselines/reference/letDeclarations-validContexts.errors.txt index 4c449306eaf6b..bf478f15ea3e5 100644 --- a/tests/baselines/reference/letDeclarations-validContexts.errors.txt +++ b/tests/baselines/reference/letDeclarations-validContexts.errors.txt @@ -1,7 +1,17 @@ +letDeclarations-validContexts.ts(18,1): error TS1101: 'with' statements are not allowed in strict mode. letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +letDeclarations-validContexts.ts(31,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(35,21): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(64,9): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(124,1): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(126,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(130,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(132,9): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(137,5): error TS1344: 'A label is not allowed here. +letDeclarations-validContexts.ts(139,9): error TS1344: 'A label is not allowed here. -==== letDeclarations-validContexts.ts (1 errors) ==== +==== letDeclarations-validContexts.ts (11 errors) ==== // Control flow statements with blocks if (true) { let l1 = 0; @@ -20,6 +30,8 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no var obj; with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. let l5 = 0; @@ -35,10 +47,14 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no if (true) { label: let l8 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. } while (false) { label2: label3: label4: let l9 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } // Try/catch/finally @@ -68,6 +84,8 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no { let l16 = 0 label17: let l17 = 0; + ~~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } @@ -128,20 +146,32 @@ letDeclarations-validContexts.ts(18,1): error TS2410: The 'with' statement is no // labels label: let l30 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. { label2: let l31 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } function f3() { label: let l32 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. { label2: let l33 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } module m3 { label: let l34 = 0; + ~~~~~ +!!! error TS1344: 'A label is not allowed here. { label2: let l35 = 0; + ~~~~~~ +!!! error TS1344: 'A label is not allowed here. } } \ No newline at end of file diff --git a/tests/baselines/reference/letIdentifierInElementAccess01.errors.txt b/tests/baselines/reference/letIdentifierInElementAccess01.errors.txt new file mode 100644 index 0000000000000..ad5189793ed36 --- /dev/null +++ b/tests/baselines/reference/letIdentifierInElementAccess01.errors.txt @@ -0,0 +1,11 @@ +letIdentifierInElementAccess01.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letIdentifierInElementAccess01.ts(2,2): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letIdentifierInElementAccess01.ts (2 errors) ==== + var let: any = {}; + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + (let[0] = 100); + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. \ No newline at end of file diff --git a/tests/baselines/reference/letIdentifierInElementAccess01.types b/tests/baselines/reference/letIdentifierInElementAccess01.types index eaf69777d7509..8a19511352e77 100644 --- a/tests/baselines/reference/letIdentifierInElementAccess01.types +++ b/tests/baselines/reference/letIdentifierInElementAccess01.types @@ -3,6 +3,7 @@ === letIdentifierInElementAccess01.ts === var let: any = {}; >let : any +> : ^^^ >{} : {} > : ^^ @@ -12,7 +13,9 @@ var let: any = {}; >let[0] = 100 : 100 > : ^^^ >let[0] : any +> : ^^^ >let : any +> : ^^^ >0 : 0 > : ^ >100 : 100 diff --git a/tests/baselines/reference/letInConstDeclarations_ES5.errors.txt b/tests/baselines/reference/letInConstDeclarations_ES5.errors.txt index a0637a1b9d0ba..8382bccd97616 100644 --- a/tests/baselines/reference/letInConstDeclarations_ES5.errors.txt +++ b/tests/baselines/reference/letInConstDeclarations_ES5.errors.txt @@ -1,15 +1,21 @@ +letInConstDeclarations_ES5.ts(2,15): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES5.ts(2,15): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInConstDeclarations_ES5.ts(5,19): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES5.ts(5,19): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInConstDeclarations_ES5.ts (2 errors) ==== +==== letInConstDeclarations_ES5.ts (4 errors) ==== // All use of let in const declaration should be an error const x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { const x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/tests/baselines/reference/letInConstDeclarations_ES6.errors.txt b/tests/baselines/reference/letInConstDeclarations_ES6.errors.txt index 3bd8501e1a610..71b556c64c238 100644 --- a/tests/baselines/reference/letInConstDeclarations_ES6.errors.txt +++ b/tests/baselines/reference/letInConstDeclarations_ES6.errors.txt @@ -1,15 +1,21 @@ +letInConstDeclarations_ES6.ts(2,15): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES6.ts(2,15): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInConstDeclarations_ES6.ts(5,19): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInConstDeclarations_ES6.ts(5,19): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInConstDeclarations_ES6.ts (2 errors) ==== +==== letInConstDeclarations_ES6.ts (4 errors) ==== // All use of let in const declaration should be an error const x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { const x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES5.errors.txt b/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES5.errors.txt index 0bb7d4e38b242..60ecd6d1afb00 100644 --- a/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES5.errors.txt +++ b/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES5.errors.txt @@ -1,46 +1,70 @@ +letInLetConstDeclOfForOfAndForIn_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(2,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(4,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(4,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(6,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(6,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(8,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(8,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(11,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(11,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(13,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(13,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(15,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(15,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES5.ts(17,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES5.ts(17,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetConstDeclOfForOfAndForIn_ES5.ts (8 errors) ==== +==== letInLetConstDeclOfForOfAndForIn_ES5.ts (16 errors) ==== // Should be an error for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } diff --git a/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt b/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt index f2118a7c694ae..607a6e71e7cf3 100644 --- a/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt +++ b/tests/baselines/reference/letInLetConstDeclOfForOfAndForIn_ES6.errors.txt @@ -1,46 +1,70 @@ +letInLetConstDeclOfForOfAndForIn_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(2,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(4,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(4,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(6,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(6,10): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(8,12): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(8,12): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(11,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(11,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(13,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(13,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(15,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(15,11): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetConstDeclOfForOfAndForIn_ES6.ts(17,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetConstDeclOfForOfAndForIn_ES6.ts(17,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetConstDeclOfForOfAndForIn_ES6.ts (8 errors) ==== +==== letInLetConstDeclOfForOfAndForIn_ES6.ts (16 errors) ==== // Should be an error for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { for (let let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let of [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (let let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. for (const let in [1,2,3]) {} ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } diff --git a/tests/baselines/reference/letInLetDeclarations_ES5.errors.txt b/tests/baselines/reference/letInLetDeclarations_ES5.errors.txt index 72c96cb1ab856..8e7addcb2b729 100644 --- a/tests/baselines/reference/letInLetDeclarations_ES5.errors.txt +++ b/tests/baselines/reference/letInLetDeclarations_ES5.errors.txt @@ -1,15 +1,21 @@ +letInLetDeclarations_ES5.ts(2,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES5.ts(2,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetDeclarations_ES5.ts(5,17): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES5.ts(5,17): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetDeclarations_ES5.ts (2 errors) ==== +==== letInLetDeclarations_ES5.ts (4 errors) ==== // All use of let in const declaration should be an error let x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { let x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/tests/baselines/reference/letInLetDeclarations_ES6.errors.txt b/tests/baselines/reference/letInLetDeclarations_ES6.errors.txt index e12b77e2bd1da..279674d37c763 100644 --- a/tests/baselines/reference/letInLetDeclarations_ES6.errors.txt +++ b/tests/baselines/reference/letInLetDeclarations_ES6.errors.txt @@ -1,15 +1,21 @@ +letInLetDeclarations_ES6.ts(2,13): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES6.ts(2,13): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. +letInLetDeclarations_ES6.ts(5,17): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. letInLetDeclarations_ES6.ts(5,17): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. -==== letInLetDeclarations_ES6.ts (2 errors) ==== +==== letInLetDeclarations_ES6.ts (4 errors) ==== // All use of let in const declaration should be an error let x = 50, let = 5; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. { let x = 10, let = 20; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. } \ No newline at end of file diff --git a/tests/baselines/reference/letInVarDeclOfForIn_ES5.errors.txt b/tests/baselines/reference/letInVarDeclOfForIn_ES5.errors.txt new file mode 100644 index 0000000000000..82c8fbaba35c8 --- /dev/null +++ b/tests/baselines/reference/letInVarDeclOfForIn_ES5.errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForIn_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForIn_ES5.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForIn_ES5.ts (2 errors) ==== + // should not be an error + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/tests/baselines/reference/letInVarDeclOfForIn_ES6.errors.txt b/tests/baselines/reference/letInVarDeclOfForIn_ES6.errors.txt new file mode 100644 index 0000000000000..23b8312aa835d --- /dev/null +++ b/tests/baselines/reference/letInVarDeclOfForIn_ES6.errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForIn_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForIn_ES6.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForIn_ES6.ts (2 errors) ==== + // should not be an error + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let in [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/tests/baselines/reference/letInVarDeclOfForOf_ES5.errors.txt b/tests/baselines/reference/letInVarDeclOfForOf_ES5.errors.txt new file mode 100644 index 0000000000000..f87781e649ea7 --- /dev/null +++ b/tests/baselines/reference/letInVarDeclOfForOf_ES5.errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForOf_ES5.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForOf_ES5.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForOf_ES5.ts (2 errors) ==== + // should not be an error + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/tests/baselines/reference/letInVarDeclOfForOf_ES6.errors.txt b/tests/baselines/reference/letInVarDeclOfForOf_ES6.errors.txt new file mode 100644 index 0000000000000..de8fb7a9b9781 --- /dev/null +++ b/tests/baselines/reference/letInVarDeclOfForOf_ES6.errors.txt @@ -0,0 +1,16 @@ +letInVarDeclOfForOf_ES6.ts(2,10): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. +letInVarDeclOfForOf_ES6.ts(5,11): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + +==== letInVarDeclOfForOf_ES6.ts (2 errors) ==== + // should not be an error + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + + { + for (var let of [1,2,3]) {} + ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + } + \ No newline at end of file diff --git a/tests/baselines/reference/missingCloseParenStatements.errors.txt b/tests/baselines/reference/missingCloseParenStatements.errors.txt index 2c7829a92049b..0d2e3bdca3f6d 100644 --- a/tests/baselines/reference/missingCloseParenStatements.errors.txt +++ b/tests/baselines/reference/missingCloseParenStatements.errors.txt @@ -1,10 +1,11 @@ missingCloseParenStatements.ts(2,26): error TS1005: ')' expected. missingCloseParenStatements.ts(4,5): error TS1005: ')' expected. +missingCloseParenStatements.ts(8,13): error TS1101: 'with' statements are not allowed in strict mode. missingCloseParenStatements.ts(8,39): error TS1005: ')' expected. missingCloseParenStatements.ts(11,35): error TS1005: ')' expected. -==== missingCloseParenStatements.ts (4 errors) ==== +==== missingCloseParenStatements.ts (5 errors) ==== var a1, a2, a3 = 0; if ( a1 && (a2 + a3 > 0) { ~ @@ -19,6 +20,8 @@ missingCloseParenStatements.ts(11,35): error TS1005: ')' expected. var i = i + 1; a1 = a1 + i; with ((a2 + a3 > 0) && a1 { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~ !!! error TS1005: ')' expected. !!! related TS1007 missingCloseParenStatements.ts:8:18: The parser expected to find a ')' to match the '(' token here. diff --git a/tests/baselines/reference/moduleElementsInWrongContext.errors.txt b/tests/baselines/reference/moduleElementsInWrongContext.errors.txt index 205ad33b96f35..30af08d392e22 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext.errors.txt +++ b/tests/baselines/reference/moduleElementsInWrongContext.errors.txt @@ -3,12 +3,14 @@ moduleElementsInWrongContext.ts(3,5): error TS1235: A namespace declaration is o moduleElementsInWrongContext.ts(7,5): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. moduleElementsInWrongContext.ts(9,5): error TS1234: An ambient module declaration is only allowed at the top level in a file. moduleElementsInWrongContext.ts(13,5): error TS1231: An export assignment must be at the top level of a file or module declaration. +moduleElementsInWrongContext.ts(16,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. moduleElementsInWrongContext.ts(17,5): error TS1233: An export declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext.ts(18,5): error TS1233: An export declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext.ts(19,5): error TS1233: An export declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext.ts(20,5): error TS1258: A default export must be at the top level of a file or module declaration. moduleElementsInWrongContext.ts(21,5): error TS1184: Modifiers cannot appear here. moduleElementsInWrongContext.ts(22,5): error TS1184: Modifiers cannot appear here. +moduleElementsInWrongContext.ts(22,21): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. moduleElementsInWrongContext.ts(23,5): error TS1232: An import declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext.ts(24,5): error TS1232: An import declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext.ts(25,5): error TS1232: An import declaration can only be used at the top level of a namespace or module. @@ -17,7 +19,7 @@ moduleElementsInWrongContext.ts(27,5): error TS1232: An import declaration can o moduleElementsInWrongContext.ts(28,5): error TS1232: An import declaration can only be used at the top level of a namespace or module. -==== moduleElementsInWrongContext.ts (17 errors) ==== +==== moduleElementsInWrongContext.ts (19 errors) ==== { module M { } ~~~~~~ @@ -44,6 +46,8 @@ moduleElementsInWrongContext.ts(28,5): error TS1232: An import declaration can o var v; function foo() { } + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. export * from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used at the top level of a namespace or module. @@ -62,6 +66,8 @@ moduleElementsInWrongContext.ts(28,5): error TS1232: An import declaration can o export function bee() { } ~~~~~~ !!! error TS1184: Modifiers cannot appear here. + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. import I = M; ~~~~~~ !!! error TS1232: An import declaration can only be used at the top level of a namespace or module. diff --git a/tests/baselines/reference/moduleElementsInWrongContext.symbols b/tests/baselines/reference/moduleElementsInWrongContext.symbols index ee24c9ed3710e..4923266207932 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext.symbols +++ b/tests/baselines/reference/moduleElementsInWrongContext.symbols @@ -28,11 +28,11 @@ >v : Symbol(v, Decl(moduleElementsInWrongContext.ts, 14, 7)) function foo() { } ->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) +>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10)) export * from "ambient"; export { foo }; ->foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 14, 10), Decl(moduleElementsInWrongContext.ts, 17, 12)) +>foo : Symbol(foo, Decl(moduleElementsInWrongContext.ts, 17, 12)) export { baz as b } from "ambient"; >b : Symbol(b, Decl(moduleElementsInWrongContext.ts, 18, 12)) diff --git a/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt b/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt index 52720f8a0b7c2..ca219332d2813 100644 --- a/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt +++ b/tests/baselines/reference/moduleElementsInWrongContext3.errors.txt @@ -3,12 +3,14 @@ moduleElementsInWrongContext3.ts(4,9): error TS1235: A namespace declaration is moduleElementsInWrongContext3.ts(8,9): error TS1235: A namespace declaration is only allowed at the top level of a namespace or module. moduleElementsInWrongContext3.ts(10,9): error TS1234: An ambient module declaration is only allowed at the top level in a file. moduleElementsInWrongContext3.ts(14,9): error TS1231: An export assignment must be at the top level of a file or module declaration. +moduleElementsInWrongContext3.ts(17,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. moduleElementsInWrongContext3.ts(18,9): error TS1233: An export declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext3.ts(19,9): error TS1233: An export declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext3.ts(20,9): error TS1233: An export declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext3.ts(21,9): error TS1258: A default export must be at the top level of a file or module declaration. moduleElementsInWrongContext3.ts(22,9): error TS1184: Modifiers cannot appear here. moduleElementsInWrongContext3.ts(23,9): error TS1184: Modifiers cannot appear here. +moduleElementsInWrongContext3.ts(23,25): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. moduleElementsInWrongContext3.ts(24,9): error TS1232: An import declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext3.ts(25,9): error TS1232: An import declaration can only be used at the top level of a namespace or module. moduleElementsInWrongContext3.ts(26,9): error TS1232: An import declaration can only be used at the top level of a namespace or module. @@ -17,7 +19,7 @@ moduleElementsInWrongContext3.ts(28,9): error TS1232: An import declaration can moduleElementsInWrongContext3.ts(29,9): error TS1232: An import declaration can only be used at the top level of a namespace or module. -==== moduleElementsInWrongContext3.ts (17 errors) ==== +==== moduleElementsInWrongContext3.ts (19 errors) ==== module P { { module M { } @@ -45,6 +47,8 @@ moduleElementsInWrongContext3.ts(29,9): error TS1232: An import declaration can var v; function foo() { } + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. export * from "ambient"; ~~~~~~ !!! error TS1233: An export declaration can only be used at the top level of a namespace or module. @@ -63,6 +67,8 @@ moduleElementsInWrongContext3.ts(29,9): error TS1232: An import declaration can export function bee() { } ~~~~~~ !!! error TS1184: Modifiers cannot appear here. + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. import I = M; ~~~~~~ !!! error TS1232: An import declaration can only be used at the top level of a namespace or module. diff --git a/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt b/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt index 3e12752d88810..3fa9d7d1aa578 100644 --- a/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt +++ b/tests/baselines/reference/noUnusedLocals_selfReference_skipsBlockLocations.errors.txt @@ -1,9 +1,11 @@ noUnusedLocals_selfReference_skipsBlockLocations.ts(2,14): error TS6133: 'f' is declared but its value is never read. +noUnusedLocals_selfReference_skipsBlockLocations.ts(8,22): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. noUnusedLocals_selfReference_skipsBlockLocations.ts(8,22): error TS6133: 'g' is declared but its value is never read. +noUnusedLocals_selfReference_skipsBlockLocations.ts(12,22): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. noUnusedLocals_selfReference_skipsBlockLocations.ts(12,22): error TS6133: 'h' is declared but its value is never read. -==== noUnusedLocals_selfReference_skipsBlockLocations.ts (3 errors) ==== +==== noUnusedLocals_selfReference_skipsBlockLocations.ts (5 errors) ==== namespace n { function f() { ~ @@ -15,12 +17,16 @@ noUnusedLocals_selfReference_skipsBlockLocations.ts(12,22): error TS6133: 'h' is case 0: function g() { ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~ !!! error TS6133: 'g' is declared but its value is never read. g; } default: function h() { ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~ !!! error TS6133: 'h' is declared but its value is never read. h; } diff --git a/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.errors.txt b/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.errors.txt index cfd5b716ff941..3b2d03801b956 100644 --- a/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.errors.txt +++ b/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.errors.txt @@ -8,6 +8,7 @@ nestedFunctionDeclarationNamedAwaitIsError.ts(3,18): error TS1359: Identifier ex nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. nestedFunctionExpressionNamedAwaitIsError.ts(3,28): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. +yieldAsTypeIsStrictError.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldAsTypeIsStrictError.ts(4,16): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. yieldInClassComputedPropertyIsError.ts(2,14): error TS1213: Identifier expected. 'yield' is a reserved word in strict mode. Class definitions are automatically in strict mode. yieldInClassComputedPropertyIsError.ts(2,14): error TS2693: 'yield' only refers to a type, but is being used as a value here. @@ -149,8 +150,10 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. let x: await; } } -==== yieldAsTypeIsStrictError.ts (1 errors) ==== +==== yieldAsTypeIsStrictError.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. class C20 { async * f() { let x: yield; diff --git a/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.errors.txt b/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.errors.txt index c2ed90eace221..7a90af94f3d97 100644 --- a/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.errors.txt +++ b/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.errors.txt @@ -2,11 +2,14 @@ awaitInParameterInitializerIsError.ts(1,25): error TS2524: 'await' expressions c awaitMissingValueIsError.ts(2,10): error TS1109: Expression expected. awaitParameterIsError.ts(1,21): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionDeclarationNamedAwaitIsError.ts(2,14): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(3,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldInParameterInitializerIsError.ts(1,25): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldParameterIsError.ts(1,21): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +yieldNameIsOk.ts(1,18): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldParameterIsError.ts(1,21): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. @@ -16,8 +19,10 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== awaitNameIsOk.ts (0 errors) ==== async function * await() { } -==== yieldNameIsOk.ts (0 errors) ==== +==== yieldNameIsOk.ts (1 errors) ==== async function * yield() { + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } ==== awaitParameterIsError.ts (1 errors) ==== async function * f4(await) { @@ -27,7 +32,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== yieldParameterIsError.ts (1 errors) ==== async function * f5(yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } ==== awaitInParameterInitializerIsError.ts (1 errors) ==== async function * f6(a = await 1) { @@ -48,14 +53,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. async function * f9() { function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } } ==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== async function * f10() { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; } ==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== @@ -69,7 +74,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. async function * f12() { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; } ==== yieldIsOk.ts (0 errors) ==== @@ -105,10 +110,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. async function * f19() { let x: await; } -==== yieldAsTypeIsOk.ts (0 errors) ==== +==== yieldAsTypeIsOk.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. async function * f20() { let x: yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== async function * f21() { diff --git a/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.errors.txt b/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.errors.txt index 87e4127bc8816..1479b8abf37f9 100644 --- a/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.errors.txt +++ b/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.errors.txt @@ -3,12 +3,14 @@ awaitMissingValueIsError.ts(2,10): error TS1109: Expression expected. awaitNameIsError.ts(1,29): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. awaitParameterIsError.ts(1,30): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionDeclarationNamedAwaitIsError.ts(2,14): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionDeclarationNamedYieldIsError.ts(2,14): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. nestedFunctionExpressionNamedAwaitIsError.ts(2,24): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionExpressionNamedYieldIsError.ts(2,24): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(3,12): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldInParameterInitializerIsError.ts(1,34): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldNameIsError.ts(1,29): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. -yieldParameterIsError.ts(1,30): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +yieldNameIsError.ts(1,29): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldParameterIsError.ts(1,30): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. @@ -23,7 +25,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== yieldNameIsError.ts (1 errors) ==== const f3 = async function * yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; ==== awaitParameterIsError.ts (1 errors) ==== const f4 = async function * (await) { @@ -33,7 +35,7 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. ==== yieldParameterIsError.ts (1 errors) ==== const f5 = async function * (yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; ==== awaitInParameterInitializerIsError.ts (1 errors) ==== const f6 = async function * (a = await 1) { @@ -54,14 +56,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. const f9 = async function * () { function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } }; ==== nestedFunctionExpressionNamedYieldIsError.ts (1 errors) ==== const f10 = async function * () { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; }; ==== nestedFunctionDeclarationNamedAwaitIsError.ts (1 errors) ==== @@ -111,10 +113,14 @@ yieldStarMissingValueIsError.ts(2,12): error TS1109: Expression expected. const f19 = async function * () { let x: await; }; -==== yieldAsTypeIsOk.ts (0 errors) ==== +==== yieldAsTypeIsOk.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. const f20 = async function * () { let x: yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== const f21 = async function *() { diff --git a/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.errors.txt b/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.errors.txt index ab637edec9c6f..b53846a75432a 100644 --- a/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.errors.txt +++ b/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.errors.txt @@ -5,11 +5,13 @@ awaitInParameterInitializerIsError.ts(2,19): error TS2524: 'await' expressions c awaitMissingValueIsError.ts(3,14): error TS1109: Expression expected. awaitParameterIsError.ts(2,15): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. nestedFunctionDeclarationNamedAwaitIsError.ts(3,18): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionDeclarationNamedYieldIsError.ts(3,18): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. nestedFunctionExpressionNamedAwaitIsError.ts(3,28): error TS1359: Identifier expected. 'await' is a reserved word that cannot be used here. -nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +nestedFunctionExpressionNamedYieldIsError.ts(3,28): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(1,11): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. +yieldAsTypeIsOk.ts(4,16): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldInParameterInitializerIsError.ts(2,19): error TS2523: 'yield' expressions cannot be used in a parameter initializer. -yieldParameterIsError.ts(2,15): error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +yieldParameterIsError.ts(2,15): error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. @@ -39,7 +41,7 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. const o5 = { async * f(yield) { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } }; ==== awaitInParameterInitializerIsError.ts (1 errors) ==== @@ -68,7 +70,7 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. async * f() { function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } } }; @@ -77,7 +79,7 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. async * f() { const x = function yield() { ~~~~~ -!!! error TS1359: Identifier expected. 'yield' is a reserved word that cannot be used here. +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. }; } }; @@ -146,11 +148,15 @@ yieldStarMissingValueIsError.ts(3,16): error TS1109: Expression expected. let x: await; } }; -==== yieldAsTypeIsOk.ts (0 errors) ==== +==== yieldAsTypeIsOk.ts (2 errors) ==== interface yield {} + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. const o20 = { async * f() { let x: yield; + ~~~~~ +!!! error TS1212: Identifier expected. 'yield' is a reserved word in strict mode. } }; ==== yieldInNestedComputedPropertyIsOk.ts (0 errors) ==== diff --git a/tests/baselines/reference/parserComputedPropertyName37.errors.txt b/tests/baselines/reference/parserComputedPropertyName37.errors.txt index 8185dc214a323..71a324b073f8e 100644 --- a/tests/baselines/reference/parserComputedPropertyName37.errors.txt +++ b/tests/baselines/reference/parserComputedPropertyName37.errors.txt @@ -1,9 +1,12 @@ +parserComputedPropertyName37.ts(2,6): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. parserComputedPropertyName37.ts(2,6): error TS2304: Cannot find name 'public'. -==== parserComputedPropertyName37.ts (1 errors) ==== +==== parserComputedPropertyName37.ts (2 errors) ==== var v = { [public]: 0 ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. + ~~~~~~ !!! error TS2304: Cannot find name 'public'. }; \ No newline at end of file diff --git a/tests/baselines/reference/parserFunctionDeclaration6.errors.txt b/tests/baselines/reference/parserFunctionDeclaration6.errors.txt index 04f1d313e16c6..079fe37f56f52 100644 --- a/tests/baselines/reference/parserFunctionDeclaration6.errors.txt +++ b/tests/baselines/reference/parserFunctionDeclaration6.errors.txt @@ -1,10 +1,16 @@ +parserFunctionDeclaration6.ts(2,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. +parserFunctionDeclaration6.ts(3,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. parserFunctionDeclaration6.ts(3,14): error TS2389: Function implementation name must be 'foo'. -==== parserFunctionDeclaration6.ts (1 errors) ==== +==== parserFunctionDeclaration6.ts (3 errors) ==== { function foo(); + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. function bar() { } ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + ~~~ !!! error TS2389: Function implementation name must be 'foo'. } \ No newline at end of file diff --git a/tests/baselines/reference/parserModifierOnStatementInBlock4.errors.txt b/tests/baselines/reference/parserModifierOnStatementInBlock4.errors.txt index dc3470994ad5a..c647dc015e9f4 100644 --- a/tests/baselines/reference/parserModifierOnStatementInBlock4.errors.txt +++ b/tests/baselines/reference/parserModifierOnStatementInBlock4.errors.txt @@ -1,11 +1,14 @@ parserModifierOnStatementInBlock4.ts(2,4): error TS1184: Modifiers cannot appear here. +parserModifierOnStatementInBlock4.ts(2,20): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. -==== parserModifierOnStatementInBlock4.ts (1 errors) ==== +==== parserModifierOnStatementInBlock4.ts (2 errors) ==== { export function bar() { ~~~~~~ !!! error TS1184: Modifiers cannot appear here. + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. } } \ No newline at end of file diff --git a/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt b/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt index 0550c53d433f5..f82d4967ff7fa 100644 --- a/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt +++ b/tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt @@ -1,11 +1,12 @@ -error TS-1: Pre-emit (1) and post-emit (2) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! +error TS-1: Pre-emit (2) and post-emit (3) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return' statement can only be used within a function body. +parserStatementIsNotAMemberVariableDeclaration1.ts(6,5): error TS1212: Identifier expected. 'private' is a reserved word in strict mode. -!!! error TS-1: Pre-emit (1) and post-emit (2) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! +!!! error TS-1: Pre-emit (2) and post-emit (3) diagnostic counts do not match! This can indicate that a semantic _error_ was added by the emit resolver - such an error may not be reflected on the command line or in the editor, but may be captured in a baseline here! !!! related TS-1: The excess diagnostics are: !!! related TS2304 parserStatementIsNotAMemberVariableDeclaration1.ts:6:5: Cannot find name 'private'. -==== parserStatementIsNotAMemberVariableDeclaration1.ts (1 errors) ==== +==== parserStatementIsNotAMemberVariableDeclaration1.ts (2 errors) ==== return { ~~~~~~ !!! error TS1108: A 'return' statement can only be used within a function body. @@ -14,6 +15,8 @@ parserStatementIsNotAMemberVariableDeclaration1.ts(1,1): error TS1108: A 'return // 'private' should not be considered a member variable here. private[key] = value; + ~~~~~~~ +!!! error TS1212: Identifier expected. 'private' is a reserved word in strict mode. } diff --git a/tests/baselines/reference/parserStrictMode1.errors.txt b/tests/baselines/reference/parserStrictMode1.errors.txt index 4942df4ee0435..8dc2950d19950 100644 --- a/tests/baselines/reference/parserStrictMode1.errors.txt +++ b/tests/baselines/reference/parserStrictMode1.errors.txt @@ -1,10 +1,11 @@ parserStrictMode1.ts(1,1): error TS2304: Cannot find name 'foo1'. parserStrictMode1.ts(2,1): error TS2304: Cannot find name 'foo1'. parserStrictMode1.ts(3,1): error TS2304: Cannot find name 'foo1'. +parserStrictMode1.ts(4,1): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. parserStrictMode1.ts(4,1): error TS2304: Cannot find name 'static'. -==== parserStrictMode1.ts (4 errors) ==== +==== parserStrictMode1.ts (5 errors) ==== foo1(); ~~~~ !!! error TS2304: Cannot find name 'foo1'. @@ -16,4 +17,6 @@ parserStrictMode1.ts(4,1): error TS2304: Cannot find name 'static'. !!! error TS2304: Cannot find name 'foo1'. static(); ~~~~~~ +!!! error TS1212: Identifier expected. 'static' is a reserved word in strict mode. + ~~~~~~ !!! error TS2304: Cannot find name 'static'. \ No newline at end of file diff --git a/tests/baselines/reference/parserStrictMode3-negative.errors.txt b/tests/baselines/reference/parserStrictMode3-negative.errors.txt index dc71bb8931631..e68ede85aa5a2 100644 --- a/tests/baselines/reference/parserStrictMode3-negative.errors.txt +++ b/tests/baselines/reference/parserStrictMode3-negative.errors.txt @@ -1,7 +1,10 @@ +parserStrictMode3-negative.ts(1,1): error TS1100: Invalid use of 'eval' in strict mode. parserStrictMode3-negative.ts(1,1): error TS2630: Cannot assign to 'eval' because it is a function. -==== parserStrictMode3-negative.ts (1 errors) ==== +==== parserStrictMode3-negative.ts (2 errors) ==== eval = 1; ~~~~ +!!! error TS1100: Invalid use of 'eval' in strict mode. + ~~~~ !!! error TS2630: Cannot assign to 'eval' because it is a function. \ No newline at end of file diff --git a/tests/baselines/reference/parserStrictMode6-negative.errors.txt b/tests/baselines/reference/parserStrictMode6-negative.errors.txt index 677972b4c1ac0..0181626710252 100644 --- a/tests/baselines/reference/parserStrictMode6-negative.errors.txt +++ b/tests/baselines/reference/parserStrictMode6-negative.errors.txt @@ -1,7 +1,10 @@ +parserStrictMode6-negative.ts(1,1): error TS1100: Invalid use of 'eval' in strict mode. parserStrictMode6-negative.ts(1,1): error TS2630: Cannot assign to 'eval' because it is a function. -==== parserStrictMode6-negative.ts (1 errors) ==== +==== parserStrictMode6-negative.ts (2 errors) ==== eval++; ~~~~ +!!! error TS1100: Invalid use of 'eval' in strict mode. + ~~~~ !!! error TS2630: Cannot assign to 'eval' because it is a function. \ No newline at end of file diff --git a/tests/baselines/reference/parserWithStatement1.d.errors.txt b/tests/baselines/reference/parserWithStatement1.d.errors.txt index fea706378c405..ff1b088ef2976 100644 --- a/tests/baselines/reference/parserWithStatement1.d.errors.txt +++ b/tests/baselines/reference/parserWithStatement1.d.errors.txt @@ -1,12 +1,15 @@ parserWithStatement1.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts. +parserWithStatement1.d.ts(1,1): error TS1101: 'with' statements are not allowed in strict mode. parserWithStatement1.d.ts(1,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. parserWithStatement1.d.ts(1,7): error TS2304: Cannot find name 'foo'. -==== parserWithStatement1.d.ts (3 errors) ==== +==== parserWithStatement1.d.ts (4 errors) ==== with (foo) { ~~~~ !!! error TS1036: Statements are not allowed in ambient contexts. + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. ~~~ diff --git a/tests/baselines/reference/parserWithStatement2.errors.txt b/tests/baselines/reference/parserWithStatement2.errors.txt index f99a936c2fcd3..f0d3815b5aad5 100644 --- a/tests/baselines/reference/parserWithStatement2.errors.txt +++ b/tests/baselines/reference/parserWithStatement2.errors.txt @@ -1,8 +1,11 @@ +parserWithStatement2.ts(1,1): error TS1101: 'with' statements are not allowed in strict mode. parserWithStatement2.ts(1,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== parserWithStatement2.ts (1 errors) ==== +==== parserWithStatement2.ts (2 errors) ==== with (1) + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. return; \ No newline at end of file diff --git a/tests/baselines/reference/parser_breakNotInIterationOrSwitchStatement2.errors.txt b/tests/baselines/reference/parser_breakNotInIterationOrSwitchStatement2.errors.txt index c32d369e2f470..d47d5e5235a48 100644 --- a/tests/baselines/reference/parser_breakNotInIterationOrSwitchStatement2.errors.txt +++ b/tests/baselines/reference/parser_breakNotInIterationOrSwitchStatement2.errors.txt @@ -1,9 +1,12 @@ +parser_breakNotInIterationOrSwitchStatement2.ts(2,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. parser_breakNotInIterationOrSwitchStatement2.ts(3,5): error TS1107: Jump target cannot cross function boundary. -==== parser_breakNotInIterationOrSwitchStatement2.ts (1 errors) ==== +==== parser_breakNotInIterationOrSwitchStatement2.ts (2 errors) ==== while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. break; ~~~~~~ !!! error TS1107: Jump target cannot cross function boundary. diff --git a/tests/baselines/reference/parser_breakTarget5.errors.txt b/tests/baselines/reference/parser_breakTarget5.errors.txt index 46eede4e845bc..8484e8968633a 100644 --- a/tests/baselines/reference/parser_breakTarget5.errors.txt +++ b/tests/baselines/reference/parser_breakTarget5.errors.txt @@ -1,10 +1,13 @@ +parser_breakTarget5.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. parser_breakTarget5.ts(5,7): error TS1107: Jump target cannot cross function boundary. -==== parser_breakTarget5.ts (1 errors) ==== +==== parser_breakTarget5.ts (2 errors) ==== target: while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. while (true) { break target; ~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/parser_continueNotInIterationStatement2.errors.txt b/tests/baselines/reference/parser_continueNotInIterationStatement2.errors.txt index 1c18e075a6b76..08b81951eee94 100644 --- a/tests/baselines/reference/parser_continueNotInIterationStatement2.errors.txt +++ b/tests/baselines/reference/parser_continueNotInIterationStatement2.errors.txt @@ -1,9 +1,12 @@ +parser_continueNotInIterationStatement2.ts(2,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. parser_continueNotInIterationStatement2.ts(3,5): error TS1107: Jump target cannot cross function boundary. -==== parser_continueNotInIterationStatement2.ts (1 errors) ==== +==== parser_continueNotInIterationStatement2.ts (2 errors) ==== while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. continue; ~~~~~~~~~ !!! error TS1107: Jump target cannot cross function boundary. diff --git a/tests/baselines/reference/parser_continueTarget5.errors.txt b/tests/baselines/reference/parser_continueTarget5.errors.txt index 1a80e2d9f968c..1d8870facc1da 100644 --- a/tests/baselines/reference/parser_continueTarget5.errors.txt +++ b/tests/baselines/reference/parser_continueTarget5.errors.txt @@ -1,10 +1,13 @@ +parser_continueTarget5.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. parser_continueTarget5.ts(5,7): error TS1107: Jump target cannot cross function boundary. -==== parser_continueTarget5.ts (1 errors) ==== +==== parser_continueTarget5.ts (2 errors) ==== target: while (true) { function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. while (true) { continue target; ~~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/parser_duplicateLabel3.errors.txt b/tests/baselines/reference/parser_duplicateLabel3.errors.txt new file mode 100644 index 0000000000000..9d7653c2a84c8 --- /dev/null +++ b/tests/baselines/reference/parser_duplicateLabel3.errors.txt @@ -0,0 +1,14 @@ +parser_duplicateLabel3.ts(3,12): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + + +==== parser_duplicateLabel3.ts (1 errors) ==== + target: + while (true) { + function f() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + target: + while (true) { + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/privateConstructorFunction.errors.txt b/tests/baselines/reference/privateConstructorFunction.errors.txt new file mode 100644 index 0000000000000..ca88b72f7fa1d --- /dev/null +++ b/tests/baselines/reference/privateConstructorFunction.errors.txt @@ -0,0 +1,17 @@ +privateConstructorFunction.js(6,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + + +==== privateConstructorFunction.js (1 errors) ==== + { + // make sure not to crash when parent's a block rather than a source file or some other + // symbol-having node. + + /** @private */ + function C() { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + this.x = 1 + } + new C() + } + \ No newline at end of file diff --git a/tests/baselines/reference/privateConstructorFunction.js b/tests/baselines/reference/privateConstructorFunction.js index 473d78c308694..783a1d4c7178e 100644 --- a/tests/baselines/reference/privateConstructorFunction.js +++ b/tests/baselines/reference/privateConstructorFunction.js @@ -26,8 +26,3 @@ //// [privateConstructorFunction.d.ts] -/** @private */ -declare function C(): void; -declare class C { - x: number; -} diff --git a/tests/baselines/reference/privateConstructorFunction.types b/tests/baselines/reference/privateConstructorFunction.types index 4204a947a4599..23bbb85de79c0 100644 --- a/tests/baselines/reference/privateConstructorFunction.types +++ b/tests/baselines/reference/privateConstructorFunction.types @@ -14,6 +14,7 @@ >this.x = 1 : 1 > : ^ >this.x : any +> : ^^^ >this : this > : ^^^^ >x : any diff --git a/tests/baselines/reference/sourceMapValidationStatements.errors.txt b/tests/baselines/reference/sourceMapValidationStatements.errors.txt index baa166bdcd031..6e6b222c65293 100644 --- a/tests/baselines/reference/sourceMapValidationStatements.errors.txt +++ b/tests/baselines/reference/sourceMapValidationStatements.errors.txt @@ -1,7 +1,8 @@ +sourceMapValidationStatements.ts(43,5): error TS1101: 'with' statements are not allowed in strict mode. sourceMapValidationStatements.ts(43,5): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== sourceMapValidationStatements.ts (1 errors) ==== +==== sourceMapValidationStatements.ts (2 errors) ==== function f() { var y; var x = 0; @@ -45,6 +46,8 @@ sourceMapValidationStatements.ts(43,5): error TS2410: The 'with' statement is no y = 70; } with (obj) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. i = 2; diff --git a/tests/baselines/reference/strictModeReservedWord.errors.txt b/tests/baselines/reference/strictModeReservedWord.errors.txt index 0adf12e8b7398..ca0a01a3423b9 100644 --- a/tests/baselines/reference/strictModeReservedWord.errors.txt +++ b/tests/baselines/reference/strictModeReservedWord.errors.txt @@ -1,3 +1,4 @@ +strictModeReservedWord.ts(1,5): error TS1212: Identifier expected. 'let' is a reserved word in strict mode. strictModeReservedWord.ts(1,5): error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. strictModeReservedWord.ts(5,9): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. strictModeReservedWord.ts(6,9): error TS1212: Identifier expected. 'static' is a reserved word in strict mode. @@ -39,9 +40,11 @@ strictModeReservedWord.ts(24,5): error TS2349: This expression is not callable. Type 'String' has no call signatures. -==== strictModeReservedWord.ts (38 errors) ==== +==== strictModeReservedWord.ts (39 errors) ==== let let = 10; ~~~ +!!! error TS1212: Identifier expected. 'let' is a reserved word in strict mode. + ~~~ !!! error TS2480: 'let' is not allowed to be used as a name in 'let' or 'const' declarations. function foo() { diff --git a/tests/baselines/reference/strictModeReservedWordInClassDeclaration.errors.txt b/tests/baselines/reference/strictModeReservedWordInClassDeclaration.errors.txt index 2c24535590596..a70617e40df51 100644 --- a/tests/baselines/reference/strictModeReservedWordInClassDeclaration.errors.txt +++ b/tests/baselines/reference/strictModeReservedWordInClassDeclaration.errors.txt @@ -1,3 +1,4 @@ +strictModeReservedWordInClassDeclaration.ts(1,11): error TS1212: Identifier expected. 'public' is a reserved word in strict mode. strictModeReservedWordInClassDeclaration.ts(4,17): error TS1213: Identifier expected. 'private' is a reserved word in strict mode. Class definitions are automatically in strict mode. strictModeReservedWordInClassDeclaration.ts(4,26): error TS1213: Identifier expected. 'public' is a reserved word in strict mode. Class definitions are automatically in strict mode. strictModeReservedWordInClassDeclaration.ts(4,34): error TS1213: Identifier expected. 'static' is a reserved word in strict mode. Class definitions are automatically in strict mode. @@ -25,8 +26,10 @@ strictModeReservedWordInClassDeclaration.ts(28,17): error TS1213: Identifier exp strictModeReservedWordInClassDeclaration.ts(28,17): error TS2304: Cannot find name 'package'. -==== strictModeReservedWordInClassDeclaration.ts (25 errors) ==== +==== strictModeReservedWordInClassDeclaration.ts (26 errors) ==== interface public { } + ~~~~~~ +!!! error TS1212: Identifier expected. 'public' is a reserved word in strict mode. class Foo { constructor(private, public, static) { diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-composite.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-composite.js index c204189b22d53..76d774874190d 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-composite.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-composite.js @@ -59,13 +59,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -157,7 +162,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -273,6 +278,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -286,7 +298,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2145 + "size": 2253 } @@ -305,10 +317,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -323,10 +343,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -366,13 +394,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-9508063301-export declare class classC {\n prop: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-9508063301-export declare class classC {\n prop: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -524,6 +557,13 @@ Found 2 errors. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -573,7 +613,7 @@ Found 2 errors. ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2801 + "size": 2909 } @@ -597,20 +637,25 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/src/class.js] file written with same contents //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -726,6 +771,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -739,7 +791,7 @@ Found 1 error. ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2145 + "size": 2253 } @@ -758,13 +810,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -784,10 +841,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -802,10 +867,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -820,13 +893,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -871,13 +949,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -902,7 +985,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1062,6 +1145,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1075,7 +1165,7 @@ export declare class classC { ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2681 + "size": 2789 } @@ -1114,13 +1204,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1160,8 +1255,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -1201,8 +1301,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors. + +Found 3 errors. @@ -1242,13 +1347,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1273,10 +1383,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1384,6 +1502,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1397,32 +1522,24 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "emitSignatures": [ @@ -1441,11 +1558,11 @@ Output:: ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2227 + "size": 2319 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1460,13 +1577,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -1491,7 +1613,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1607,6 +1729,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1620,7 +1749,7 @@ export declare class classC { ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2117 + "size": 2225 } @@ -1639,10 +1768,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1657,10 +1794,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1675,13 +1820,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental-declaration.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental-declaration.js index d5faa8a3dd4ef..12d337e1aca59 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental-declaration.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental-declaration.js @@ -60,13 +60,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -158,7 +163,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -274,6 +279,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -286,7 +298,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } @@ -305,10 +317,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -323,10 +343,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -366,13 +394,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -524,6 +557,13 @@ Found 2 errors. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -558,7 +598,7 @@ Found 2 errors. ] ], "version": "FakeTSVersion", - "size": 2580 + "size": 2688 } @@ -582,13 +622,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -599,7 +644,7 @@ Found 1 error. //// [/home/src/workspaces/project/src/directUse.d.ts] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.d.ts] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -715,6 +760,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -727,7 +779,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } @@ -746,13 +798,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -772,10 +829,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -790,10 +855,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -808,13 +881,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -859,13 +937,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -893,7 +976,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/directUse.d.ts] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.d.ts] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1053,6 +1136,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1065,7 +1155,7 @@ export declare class classC { ] ], "version": "FakeTSVersion", - "size": 2641 + "size": 2749 } @@ -1104,13 +1194,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1150,8 +1245,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -1191,8 +1291,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors. + +Found 3 errors. @@ -1232,13 +1337,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1263,10 +1373,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1374,6 +1492,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1387,40 +1512,32 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "version": "FakeTSVersion", - "size": 2032 + "size": 2124 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1435,13 +1552,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -1469,7 +1591,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/directUse.d.ts] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.d.ts] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1585,6 +1707,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1597,7 +1726,7 @@ export declare class classC { ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } @@ -1616,10 +1745,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1634,10 +1771,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1652,13 +1797,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental.js index eb857ed1cc7ee..52fcf8129807e 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-incremental.js @@ -59,13 +59,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -128,7 +133,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -220,6 +225,13 @@ function someFunc(arguments) { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -232,7 +244,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 1530 + "size": 1638 } @@ -251,10 +263,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -269,10 +289,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -312,13 +340,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -470,6 +503,13 @@ Found 2 errors. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -500,7 +540,7 @@ Found 2 errors. ] ], "version": "FakeTSVersion", - "size": 2460 + "size": 2568 } @@ -524,13 +564,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -539,7 +584,7 @@ Found 1 error. //// [/home/src/workspaces/project/src/directUse.js] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -639,6 +684,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -651,7 +703,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1757 + "size": 1865 } @@ -670,13 +722,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -696,10 +753,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -714,10 +779,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -732,13 +805,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -783,13 +861,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -808,7 +891,7 @@ exports.classC = classC; //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -952,6 +1035,13 @@ exports.classC = classC; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -964,7 +1054,7 @@ exports.classC = classC; ] ], "version": "FakeTSVersion", - "size": 2321 + "size": 2429 } @@ -1003,13 +1093,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1049,8 +1144,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -1090,8 +1190,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -1131,13 +1236,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1162,10 +1272,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1265,6 +1383,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1287,11 +1412,11 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1790 + "size": 1898 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1306,13 +1431,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -1331,7 +1461,7 @@ exports.classC = classC; //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1431,6 +1561,13 @@ exports.classC = classC; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1443,7 +1580,7 @@ exports.classC = classC; ] ], "version": "FakeTSVersion", - "size": 1757 + "size": 1865 } @@ -1462,10 +1599,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1480,10 +1625,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1498,13 +1651,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-composite.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-composite.js index 7acef4b437a12..7c53f7daac62b 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-composite.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-composite.js @@ -59,10 +59,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"emitSignatures":[2,3,4,5,6,7],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -157,6 +165,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -170,46 +185,28 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ - [ - "./src/directuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/directuse.ts", + "Js | Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ - [ - "./src/indirectuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectuse.ts", + "Js | Dts" ], [ - [ - "./src/nochangefile.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefile.ts", + "Js | Dts" ], [ - [ - "./src/nochangefilewithemitspecificerror.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefilewithemitspecificerror.ts", + "Js | Dts" ] ], "emitSignatures": [ @@ -221,11 +218,11 @@ Output:: "./src/nochangefilewithemitspecificerror.ts" ], "version": "FakeTSVersion", - "size": 1661 + "size": 1739 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -240,18 +237,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -367,6 +369,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -380,7 +389,7 @@ Found 1 error. ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2145 + "size": 2253 } //// [/home/src/workspaces/project/src/class.js] @@ -511,18 +520,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -682,6 +696,13 @@ Found 3 errors. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -695,7 +716,7 @@ Found 3 errors. ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2681 + "size": 2789 } //// [/home/src/workspaces/project/src/class.js] @@ -739,10 +760,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -850,6 +879,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -863,32 +899,24 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "emitSignatures": [ @@ -907,11 +935,11 @@ Output:: ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2227 + "size": 2319 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -926,18 +954,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1053,6 +1086,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1066,7 +1106,7 @@ Found 1 error. ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2117 + "size": 2225 } //// [/home/src/workspaces/project/src/class.js] diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js index d77dd388def64..1e4520372353b 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js @@ -60,10 +60,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -158,6 +166,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -171,54 +186,36 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ - [ - "./src/directuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/directuse.ts", + "Js | Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ - [ - "./src/indirectuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectuse.ts", + "Js | Dts" ], [ - [ - "./src/nochangefile.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefile.ts", + "Js | Dts" ], [ - [ - "./src/nochangefilewithemitspecificerror.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefilewithemitspecificerror.ts", + "Js | Dts" ] ], "version": "FakeTSVersion", - "size": 1632 + "size": 1710 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -233,18 +230,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -360,6 +362,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -372,7 +381,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } //// [/home/src/workspaces/project/src/class.js] @@ -503,18 +512,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -674,6 +688,13 @@ Found 3 errors. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -686,7 +707,7 @@ Found 3 errors. ] ], "version": "FakeTSVersion", - "size": 2641 + "size": 2749 } //// [/home/src/workspaces/project/src/class.js] @@ -733,10 +754,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -844,6 +873,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -857,40 +893,32 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "version": "FakeTSVersion", - "size": 2032 + "size": 2124 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -905,18 +933,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1032,6 +1065,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1044,7 +1084,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } //// [/home/src/workspaces/project/src/class.js] diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental.js index d9c1f4845d9cb..44cae0186250e 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/changes-with-initial-noEmit-incremental.js @@ -59,10 +59,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -154,6 +162,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -192,11 +207,11 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1571 + "size": 1679 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -211,18 +226,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -314,6 +334,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -326,7 +353,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1530 + "size": 1638 } //// [/home/src/workspaces/project/src/class.js] @@ -428,18 +455,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -591,6 +623,13 @@ Found 3 errors. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -603,7 +642,7 @@ Found 3 errors. ] ], "version": "FakeTSVersion", - "size": 2423 + "size": 2531 } //// [/home/src/workspaces/project/src/class.js] @@ -643,10 +682,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -746,6 +793,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -768,11 +822,11 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1790 + "size": 1898 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -787,18 +841,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -898,6 +957,13 @@ Found 1 error. [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -910,7 +976,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1757 + "size": 1865 } //// [/home/src/workspaces/project/src/class.js] diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-composite.js b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-composite.js index 14e741f10d0c4..910a4e6bc97e1 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-composite.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-composite.js @@ -61,13 +61,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -142,7 +147,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -189,6 +194,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -203,7 +215,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } @@ -222,10 +234,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -240,10 +260,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -283,13 +311,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -380,6 +413,13 @@ Found 2 errors. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -398,7 +438,7 @@ Found 2 errors. false ], "version": "FakeTSVersion", - "size": 2653 + "size": 2761 } @@ -422,19 +462,24 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.js] file written with same contents //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -481,6 +526,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -495,7 +547,7 @@ Found 1 error. "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } @@ -514,13 +566,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -540,10 +597,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -558,10 +623,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -576,13 +649,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -627,13 +705,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -708,7 +791,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -799,6 +882,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -813,7 +903,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2635 + "size": 2743 } @@ -852,13 +942,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -898,8 +993,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -939,8 +1039,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -980,13 +1085,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1011,10 +1121,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1061,6 +1179,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1075,15 +1200,15 @@ Output:: "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 2074 + "size": 2185 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1098,13 +1223,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -1179,7 +1309,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1226,6 +1356,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1240,7 +1377,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } @@ -1259,10 +1396,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1277,10 +1422,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1295,13 +1448,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental-declaration.js b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental-declaration.js index e77561c47c213..64e95bf65ed94 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental-declaration.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental-declaration.js @@ -62,13 +62,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -143,7 +148,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -190,6 +195,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -202,7 +214,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } @@ -221,10 +233,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -239,10 +259,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -282,13 +310,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -379,6 +412,13 @@ Found 2 errors. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -395,7 +435,7 @@ Found 2 errors. false ], "version": "FakeTSVersion", - "size": 2104 + "size": 2212 } @@ -419,20 +459,25 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.js] file written with same contents //// [/home/src/workspaces/outFile.d.ts] file written with same contents //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -479,6 +524,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -491,7 +543,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } @@ -510,13 +562,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -536,10 +593,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -554,10 +619,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -572,13 +645,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -623,13 +701,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -704,7 +787,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -795,6 +878,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -807,7 +897,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 2084 + "size": 2192 } @@ -846,13 +936,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -892,8 +987,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -933,8 +1033,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -974,13 +1079,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -1005,10 +1115,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1055,6 +1173,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1067,15 +1192,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1523 + "size": 1634 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1090,13 +1215,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -1171,7 +1301,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1218,6 +1348,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1230,7 +1367,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } @@ -1249,10 +1386,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1267,10 +1412,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1285,13 +1438,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental.js b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental.js index 1b823c6733191..6d3b0a80aa00e 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-incremental.js @@ -61,13 +61,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -122,7 +127,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -168,6 +173,13 @@ function someFunc(arguments) { [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -180,7 +192,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } @@ -199,10 +211,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -217,10 +237,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -260,13 +288,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -356,6 +389,13 @@ Found 2 errors. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -372,7 +412,7 @@ Found 2 errors. false ], "version": "FakeTSVersion", - "size": 2085 + "size": 2193 } @@ -396,19 +436,24 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.js] file written with same contents //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -454,6 +499,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -466,7 +518,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } @@ -485,13 +537,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -511,10 +568,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -529,10 +594,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -547,13 +620,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -598,13 +676,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -659,7 +742,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -749,6 +832,13 @@ function someFunc(arguments) { [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -761,7 +851,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 2065 + "size": 2173 } @@ -800,13 +890,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -846,8 +941,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -887,8 +987,13 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors. @@ -928,13 +1033,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. @@ -959,10 +1069,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1008,6 +1126,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1024,11 +1149,11 @@ Output:: false ], "version": "FakeTSVersion", - "size": 1507 + "size": 1615 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1043,13 +1168,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. @@ -1104,7 +1234,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1150,6 +1280,13 @@ function someFunc(arguments) { [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1162,7 +1299,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } @@ -1181,10 +1318,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1199,10 +1344,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1217,13 +1370,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-composite.js b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-composite.js index e87db495db75b..6b76608c6d247 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-composite.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-composite.js @@ -61,10 +61,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -111,6 +119,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -123,15 +138,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1521 + "size": 1632 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -146,18 +161,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -204,6 +224,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -218,7 +245,7 @@ Found 1 error. "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } //// [/home/src/workspaces/outFile.js] @@ -332,18 +359,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -434,6 +466,13 @@ Found 3 errors. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -448,7 +487,7 @@ Found 3 errors. "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2635 + "size": 2743 } //// [/home/src/workspaces/outFile.js] @@ -542,10 +581,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -592,6 +639,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -606,15 +660,15 @@ Output:: "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 2074 + "size": 2185 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -629,18 +683,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -687,6 +746,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -701,7 +767,7 @@ Found 1 error. "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } //// [/home/src/workspaces/outFile.js] diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js index 925f30999f8ed..0d9acc59a54ae 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js @@ -62,10 +62,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -112,6 +120,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -124,15 +139,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1523 + "size": 1634 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -147,18 +162,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -205,6 +225,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -217,7 +244,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } //// [/home/src/workspaces/outFile.js] @@ -331,18 +358,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -433,6 +465,13 @@ Found 3 errors. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -445,7 +484,7 @@ Found 3 errors. ] ], "version": "FakeTSVersion", - "size": 2084 + "size": 2192 } //// [/home/src/workspaces/outFile.js] @@ -539,10 +578,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -589,6 +636,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -601,15 +655,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1523 + "size": 1634 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -624,18 +678,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -682,6 +741,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -694,7 +760,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } //// [/home/src/workspaces/outFile.js] diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental.js b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental.js index e99c95f87fe5f..6769435f6cc12 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/changes-with-initial-noEmit-incremental.js @@ -61,10 +61,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -110,6 +118,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -126,11 +141,11 @@ Output:: false ], "version": "FakeTSVersion", - "size": 1507 + "size": 1615 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -145,18 +160,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -202,6 +222,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -214,7 +241,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } //// [/home/src/workspaces/outFile.js] @@ -308,18 +335,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors. +Found 4 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -409,6 +441,13 @@ Found 3 errors. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -421,7 +460,7 @@ Found 3 errors. ] ], "version": "FakeTSVersion", - "size": 2065 + "size": 2173 } //// [/home/src/workspaces/outFile.js] @@ -495,10 +534,18 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error. + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -544,6 +591,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -560,11 +614,11 @@ Output:: false ], "version": "FakeTSVersion", - "size": 1507 + "size": 1615 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -579,18 +633,23 @@ Output:: [HH:MM:SS AM] Building project '/home/src/workspaces/project/tsconfig.json'... +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error. +Found 2 errors. //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -636,6 +695,13 @@ Found 1 error. [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -648,7 +714,7 @@ Found 1 error. ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } //// [/home/src/workspaces/outFile.js] diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/changes-composite.js b/tests/baselines/reference/tsc/noEmit/multiFile/changes-composite.js index 4c86c930de831..2c92a7047e9d2 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/changes-composite.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/changes-composite.js @@ -52,13 +52,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -150,7 +155,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -266,6 +271,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -279,7 +291,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2145 + "size": 2253 } @@ -291,10 +303,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -302,10 +322,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -338,16 +366,22 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-9508063301-export declare class classC {\n prop: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-9508063301-export declare class classC {\n prop: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -499,6 +533,13 @@ Errors Files [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -548,7 +589,7 @@ Errors Files ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2801 + "size": 2909 } @@ -565,20 +606,25 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] file written with same contents //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -694,6 +740,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -707,7 +760,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2145 + "size": 2253 } @@ -719,13 +772,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -738,10 +796,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -749,10 +815,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -760,13 +834,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -804,18 +883,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] @@ -839,7 +923,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -999,6 +1083,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1012,7 +1103,7 @@ export declare class classC { ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2681 + "size": 2789 } @@ -1044,18 +1135,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1087,12 +1183,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1124,12 +1226,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1161,18 +1269,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1189,10 +1302,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1300,6 +1421,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1313,32 +1441,24 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "emitSignatures": [ @@ -1357,11 +1477,11 @@ Output:: ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2227 + "size": 2319 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -1369,13 +1489,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -1400,7 +1525,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1516,6 +1641,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1529,7 +1661,7 @@ export declare class classC { ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2117 + "size": 2225 } @@ -1541,10 +1673,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1552,10 +1692,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1563,13 +1711,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental-declaration.js b/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental-declaration.js index 4d88c01d85464..59ae1e70c7a59 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental-declaration.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental-declaration.js @@ -53,13 +53,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -151,7 +156,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -267,6 +272,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -279,7 +291,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } @@ -291,10 +303,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -302,10 +322,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -338,16 +366,22 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -499,6 +533,13 @@ Errors Files [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -533,7 +574,7 @@ Errors Files ] ], "version": "FakeTSVersion", - "size": 2580 + "size": 2688 } @@ -550,13 +591,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -567,7 +613,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/directUse.d.ts] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.d.ts] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -683,6 +729,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -695,7 +748,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } @@ -707,13 +760,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -726,10 +784,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -737,10 +803,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -748,13 +822,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -792,18 +871,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] @@ -830,7 +914,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/directUse.d.ts] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.d.ts] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -990,6 +1074,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1002,7 +1093,7 @@ export declare class classC { ] ], "version": "FakeTSVersion", - "size": 2641 + "size": 2749 } @@ -1034,18 +1125,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1077,12 +1173,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1114,12 +1216,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1151,18 +1259,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1179,10 +1292,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1290,6 +1411,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1303,40 +1431,32 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "version": "FakeTSVersion", - "size": 2032 + "size": 2124 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -1344,13 +1464,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -1378,7 +1503,7 @@ export declare class classC { //// [/home/src/workspaces/project/src/directUse.d.ts] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.d.ts] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1494,6 +1619,13 @@ export declare class classC { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1506,7 +1638,7 @@ export declare class classC { ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } @@ -1518,10 +1650,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1529,10 +1669,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1540,13 +1688,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental.js b/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental.js index 47ee3a3fb53b7..ea7e8f33ccda4 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/changes-incremental.js @@ -52,13 +52,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -121,7 +126,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -213,6 +218,13 @@ function someFunc(arguments) { [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -225,7 +237,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 1530 + "size": 1638 } @@ -237,10 +249,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -248,10 +268,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -284,16 +312,22 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -445,6 +479,13 @@ Errors Files [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -475,7 +516,7 @@ Errors Files ] ], "version": "FakeTSVersion", - "size": 2460 + "size": 2568 } @@ -492,13 +533,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -507,7 +553,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/directUse.js] file written with same contents //// [/home/src/workspaces/project/src/indirectUse.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -607,6 +653,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -619,7 +672,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1757 + "size": 1865 } @@ -631,13 +684,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -650,10 +708,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -661,10 +727,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -672,13 +746,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -716,18 +795,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/src/class.js] @@ -745,7 +829,7 @@ exports.classC = classC; //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -889,6 +973,13 @@ exports.classC = classC; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -901,7 +992,7 @@ exports.classC = classC; ] ], "version": "FakeTSVersion", - "size": 2321 + "size": 2429 } @@ -933,18 +1024,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -976,12 +1072,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1013,12 +1115,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1050,18 +1158,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -1078,10 +1191,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1181,6 +1302,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1203,11 +1331,11 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1790 + "size": 1898 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -1215,13 +1343,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -1240,7 +1373,7 @@ exports.classC = classC; //// [/home/src/workspaces/project/src/indirectClass.js] file written with same contents //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1340,6 +1473,13 @@ exports.classC = classC; [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1352,7 +1492,7 @@ exports.classC = classC; ] ], "version": "FakeTSVersion", - "size": 1757 + "size": 1865 } @@ -1364,10 +1504,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1375,10 +1523,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1386,13 +1542,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-composite.js b/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-composite.js index fafd9e9978aec..8c692e1b2b545 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-composite.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-composite.js @@ -52,10 +52,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"emitSignatures":[2,3,4,5,6,7],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"emitSignatures":[2,3,4,5,6,7],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -150,6 +158,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -163,46 +178,28 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ - [ - "./src/directuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/directuse.ts", + "Js | Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ - [ - "./src/indirectuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectuse.ts", + "Js | Dts" ], [ - [ - "./src/nochangefile.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefile.ts", + "Js | Dts" ], [ - [ - "./src/nochangefilewithemitspecificerror.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefilewithemitspecificerror.ts", + "Js | Dts" ] ], "emitSignatures": [ @@ -214,11 +211,11 @@ Output:: "./src/nochangefilewithemitspecificerror.ts" ], "version": "FakeTSVersion", - "size": 1661 + "size": 1739 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -226,18 +223,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/noChangeFileWithEmitSpecificError.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -353,6 +355,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -366,7 +375,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ], "latestChangedDtsFile": "./src/noChangeFileWithEmitSpecificError.d.ts", "version": "FakeTSVersion", - "size": 2145 + "size": 2253 } //// [/home/src/workspaces/project/src/class.js] @@ -490,22 +499,27 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -665,6 +679,13 @@ Errors Files [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -678,7 +699,7 @@ Errors Files ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2681 + "size": 2789 } //// [/home/src/workspaces/project/src/class.js] @@ -715,10 +736,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"emitSignatures":[[2,"-12157283604-export declare class classC {\n prop1: number;\n}\n"],[4,"-3531856636-export {};\n"],[5,"-3531856636-export {};\n"]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -826,6 +855,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -839,32 +875,24 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "emitSignatures": [ @@ -883,11 +911,11 @@ Output:: ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2227 + "size": 2319 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -895,18 +923,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"composite":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"latestChangedDtsFile":"./src/class.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1022,6 +1055,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1035,7 +1075,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ], "latestChangedDtsFile": "./src/class.d.ts", "version": "FakeTSVersion", - "size": 2117 + "size": 2225 } //// [/home/src/workspaces/project/src/class.js] diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js b/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js index 02b6fe1068cd6..1816ff8f55345 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental-declaration.js @@ -53,10 +53,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,17],[3,17],[5,17],[6,17],[7,17]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -151,6 +159,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -164,54 +179,36 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ - [ - "./src/directuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/directuse.ts", + "Js | Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ - [ - "./src/indirectuse.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectuse.ts", + "Js | Dts" ], [ - [ - "./src/nochangefile.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefile.ts", + "Js | Dts" ], [ - [ - "./src/nochangefilewithemitspecificerror.ts", - 17 - ], - "Js | DtsEmit" + "./src/nochangefilewithemitspecificerror.ts", + "Js | Dts" ] ], "version": "FakeTSVersion", - "size": 1632 + "size": 1710 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -219,18 +216,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -346,6 +348,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -358,7 +367,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } //// [/home/src/workspaces/project/src/class.js] @@ -482,22 +491,27 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -657,6 +671,13 @@ Errors Files [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -669,7 +690,7 @@ Errors Files ] ], "version": "FakeTSVersion", - "size": 2641 + "size": 2749 } //// [/home/src/workspaces/project/src/class.js] @@ -709,10 +730,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[[2,17],[4,16],[3,17],[5,16]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;",{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,[4],3,[5]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -820,6 +849,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -833,40 +869,32 @@ Output:: ], "affectedFilesPendingEmit": [ [ - [ - "./src/class.ts", - 17 - ], - "Js | DtsEmit" + "./src/class.ts", + "Js | Dts" ], [ [ - "./src/directuse.ts", - 16 + "./src/directuse.ts" ], - "DtsEmit" + "Dts" ], [ - [ - "./src/indirectclass.ts", - 17 - ], - "Js | DtsEmit" + "./src/indirectclass.ts", + "Js | Dts" ], [ [ - "./src/indirectuse.ts", - 16 + "./src/indirectuse.ts" ], - "DtsEmit" + "Dts" ] ], "version": "FakeTSVersion", - "size": 2032 + "size": 2124 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -874,18 +902,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"6714567633-export function writeLog(s: string) {\n}","signature":"8055010000-export declare function writeLog(s: string): void;\n"},{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","signature":"-5615417221-declare function someFunc(arguments: boolean, ...rest: any[]): void;\n","affectsGlobalScope":true}],"root":[[2,7]],"options":{"declaration":true},"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1001,6 +1034,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1013,7 +1053,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 2077 + "size": 2185 } //// [/home/src/workspaces/project/src/class.js] diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental.js b/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental.js index 5babbfa765ddc..ade02419c48c3 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/changes-with-initial-noEmit-incremental.js @@ -52,10 +52,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,4,3,5,6,7],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -147,6 +155,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -185,11 +200,11 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1571 + "size": 1679 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -197,18 +212,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -300,6 +320,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -312,7 +339,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1530 + "size": 1638 } //// [/home/src/workspaces/project/src/class.js] @@ -407,22 +434,27 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1786859709-export class classC {\n prop1 = 1;\n}","signature":"-12157283604-export declare class classC {\n prop1: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},{"version":"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","signature":"-3531856636-export {};\n"},"6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -574,6 +606,13 @@ Errors Files [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -586,7 +625,7 @@ Errors Files ] ], "version": "FakeTSVersion", - "size": 2423 + "size": 2531 } //// [/home/src/workspaces/project/src/class.js] @@ -619,10 +658,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"affectedFilesPendingEmit":[2,3],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -722,6 +769,13 @@ Output:: [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -744,11 +798,11 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1790 + "size": 1898 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -756,18 +810,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/project/tsconfig.tsbuildinfo] -{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../../tslibs/ts/lib/lib.d.ts","./src/class.ts","./src/indirectclass.ts","./src/directuse.ts","./src/indirectuse.ts","./src/nochangefile.ts","./src/nochangefilewithemitspecificerror.ts"],"fileIdsList":[[3],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"545032748-export class classC {\n prop = 1;\n}","signature":"-9508063301-export declare class classC {\n prop: number;\n}\n"},{"version":"6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","signature":"9337978648-import { classC } from './class';\nexport declare class indirectClass {\n classC: classC;\n}\n"},"-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}",{"version":"-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}","affectsGlobalScope":true}],"root":[[2,7]],"referencedMap":[[4,1],[3,2],[5,1]],"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -867,6 +926,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -879,7 +945,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1757 + "size": 1865 } //// [/home/src/workspaces/project/src/class.js] diff --git a/tests/baselines/reference/tsc/noEmit/outFile/changes-composite.js b/tests/baselines/reference/tsc/noEmit/outFile/changes-composite.js index 8a10d3973b84d..817e49e0461e6 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/changes-composite.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/changes-composite.js @@ -54,13 +54,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -135,7 +140,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -182,6 +187,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -196,7 +208,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } @@ -208,10 +220,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -219,10 +239,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -255,16 +283,22 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -355,6 +389,13 @@ Errors Files [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -373,7 +414,7 @@ Errors Files false ], "version": "FakeTSVersion", - "size": 2653 + "size": 2761 } @@ -390,19 +431,24 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.js] file written with same contents //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -449,6 +495,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -463,7 +516,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } @@ -475,13 +528,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -494,10 +552,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -505,10 +571,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -516,13 +590,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -560,18 +639,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.js] @@ -645,7 +729,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -736,6 +820,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -750,7 +841,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2635 + "size": 2743 } @@ -782,18 +873,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -825,12 +921,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -862,12 +964,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -899,18 +1007,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -927,10 +1040,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -977,6 +1098,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -991,15 +1119,15 @@ Output:: "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 2074 + "size": 2185 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -1007,13 +1135,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -1088,7 +1221,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1135,6 +1268,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1149,7 +1289,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } @@ -1161,10 +1301,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1172,10 +1320,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1183,13 +1339,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental-declaration.js b/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental-declaration.js index 577947584c186..c1436f097b9b2 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental-declaration.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental-declaration.js @@ -55,13 +55,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -136,7 +141,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -183,6 +188,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -195,7 +207,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } @@ -207,10 +219,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -218,10 +238,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -254,16 +282,22 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -354,6 +388,13 @@ Errors Files [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -370,7 +411,7 @@ Errors Files false ], "version": "FakeTSVersion", - "size": 2104 + "size": 2212 } @@ -387,20 +428,25 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.js] file written with same contents //// [/home/src/workspaces/outFile.d.ts] file written with same contents //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -447,6 +493,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -459,7 +512,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } @@ -471,13 +524,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -490,10 +548,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -501,10 +567,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -512,13 +586,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -556,18 +635,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.js] @@ -641,7 +725,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -732,6 +816,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -744,7 +835,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 2084 + "size": 2192 } @@ -776,18 +867,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -819,12 +915,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + -Found 2 errors in 2 files. +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -856,12 +958,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -893,18 +1001,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -921,10 +1034,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -971,6 +1092,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -983,15 +1111,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1523 + "size": 1634 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -999,13 +1127,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -1080,7 +1213,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1127,6 +1260,13 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1139,7 +1279,7 @@ declare function someFunc(arguments: boolean, ...rest: any[]): void; ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } @@ -1151,10 +1291,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1162,10 +1310,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1173,13 +1329,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental.js b/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental.js index 59a3860690c43..945ff5fea43a7 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/changes-incremental.js @@ -54,13 +54,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -115,7 +120,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -161,6 +166,13 @@ function someFunc(arguments) { [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -173,7 +185,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } @@ -185,10 +197,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -196,10 +216,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: Introduce error but still noEmit @@ -232,16 +260,22 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -331,6 +365,13 @@ Errors Files [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -347,7 +388,7 @@ Errors Files false ], "version": "FakeTSVersion", - "size": 2085 + "size": 2193 } @@ -364,19 +405,24 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.js] file written with same contents //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -422,6 +468,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -434,7 +487,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } @@ -446,13 +499,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -465,10 +523,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -476,10 +542,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -487,13 +561,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -531,18 +610,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.js] @@ -596,7 +680,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -686,6 +770,13 @@ function someFunc(arguments) { [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -698,7 +789,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 2065 + "size": 2173 } @@ -730,18 +821,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -773,12 +869,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ -Found 2 errors in 2 files. + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -810,12 +912,18 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. -Found 2 errors in 2 files. +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 3 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 + 1 src/noChangeFileWithEmitSpecificError.ts:1 @@ -847,18 +955,23 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 @@ -875,10 +988,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -924,6 +1045,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -940,11 +1068,11 @@ Output:: false ], "version": "FakeTSVersion", - "size": 1507 + "size": 1615 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -952,13 +1080,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 @@ -1013,7 +1146,7 @@ function someFunc(arguments) { //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1059,6 +1192,13 @@ function someFunc(arguments) { [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -1071,7 +1211,7 @@ function someFunc(arguments) { ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } @@ -1083,10 +1223,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with noEmit @@ -1094,10 +1242,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped Change:: No Change run with emit @@ -1105,13 +1261,18 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-composite.js b/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-composite.js index c607ca50982cd..7b71b40f98313 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-composite.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-composite.js @@ -54,10 +54,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -104,6 +112,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -116,15 +131,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1521 + "size": 1632 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -132,18 +147,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -190,6 +210,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -204,7 +231,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } //// [/home/src/workspaces/outFile.js] @@ -311,22 +338,27 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -417,6 +449,13 @@ Errors Files [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -431,7 +470,7 @@ Errors Files "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2635 + "size": 2743 } //// [/home/src/workspaces/outFile.js] @@ -518,10 +557,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -568,6 +615,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -582,15 +636,15 @@ Output:: "outSignature": "-1966987419-declare module \"src/class\" {\n export class classC {\n prop1: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 2074 + "size": 2185 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -598,18 +652,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"composite":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"outSignature":"8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n","latestChangedDtsFile":"./outFile.d.ts","version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -656,6 +715,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -670,7 +736,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 "outSignature": "8998999540-declare module \"src/class\" {\n export class classC {\n prop: number;\n }\n}\ndeclare module \"src/indirectClass\" {\n import { classC } from \"src/class\";\n export class indirectClass {\n classC: classC;\n }\n}\ndeclare module \"src/directUse\" { }\ndeclare module \"src/indirectUse\" { }\ndeclare module \"src/noChangeFile\" {\n export function writeLog(s: string): void;\n}\ndeclare function someFunc(arguments: boolean, ...rest: any[]): void;\n", "latestChangedDtsFile": "./outFile.d.ts", "version": "FakeTSVersion", - "size": 2055 + "size": 2163 } //// [/home/src/workspaces/outFile.js] diff --git a/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js b/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js index cdf6fed6ec378..3d9cfddbbc830 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental-declaration.js @@ -55,10 +55,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -105,6 +113,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -117,15 +132,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1523 + "size": 1634 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -133,18 +148,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -191,6 +211,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -203,7 +230,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } //// [/home/src/workspaces/outFile.js] @@ -310,22 +337,27 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -416,6 +448,13 @@ Errors Files [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -428,7 +467,7 @@ Errors Files ] ], "version": "FakeTSVersion", - "size": 2084 + "size": 2192 } //// [/home/src/workspaces/outFile.js] @@ -515,10 +554,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -565,6 +612,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -577,15 +631,15 @@ Output:: ] ], "pendingEmit": [ - "Js | DtsEmit", - 17 + "Js | Dts", + false ], "version": "FakeTSVersion", - "size": 1523 + "size": 1634 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -593,18 +647,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -651,6 +710,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -663,7 +729,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1506 + "size": 1614 } //// [/home/src/workspaces/outFile.js] diff --git a/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental.js b/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental.js index c59d2541326eb..7cb958af66bad 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/changes-with-initial-noEmit-incremental.js @@ -54,10 +54,18 @@ declare const console: { log(msg: any): void; }; /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -103,6 +111,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -119,11 +134,11 @@ Output:: false ], "version": "FakeTSVersion", - "size": 1507 + "size": 1615 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -131,18 +146,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -188,6 +208,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -200,7 +227,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } //// [/home/src/workspaces/outFile.js] @@ -287,22 +314,27 @@ Output::    ~~~~~ 'prop1' is declared here. +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 3 errors in 3 files. +Found 4 errors in 3 files. Errors Files 1 src/directUse.ts:2 1 src/indirectUse.ts:2 - 1 src/noChangeFileWithEmitSpecificError.ts:1 + 2 src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","1786859709-export class classC {\n prop1 = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[4,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[5,[{"start":76,"length":4,"code":2551,"category":1,"messageText":"Property 'prop' does not exist on type 'classC'. Did you mean 'prop1'?","relatedInformation":[{"file":"./project/src/class.ts","start":26,"length":5,"messageText":"'prop1' is declared here.","category":3,"code":2728}]}]],[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -392,6 +424,13 @@ Errors Files [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -404,7 +443,7 @@ Errors Files ] ], "version": "FakeTSVersion", - "size": 2065 + "size": 2173 } //// [/home/src/workspaces/outFile.js] @@ -471,10 +510,18 @@ export class classC { /home/src/tslibs/TS/Lib/tsc.js --p . --noEmit Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + + +Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 + //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"pendingEmit":false,"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -520,6 +567,13 @@ Output:: [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -536,11 +590,11 @@ Output:: false ], "version": "FakeTSVersion", - "size": 1507 + "size": 1615 } -exitCode:: ExitStatus.Success +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated Change:: No Change run with emit @@ -548,18 +602,23 @@ Input:: /home/src/tslibs/TS/Lib/tsc.js --p . Output:: +src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS1100: Invalid use of 'arguments' in strict mode. + +1 function someFunc(arguments: boolean, ...rest: any[]) { +   ~~~~~~~~~ + src/noChangeFileWithEmitSpecificError.ts:1:19 - error TS2396: Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters. 1 function someFunc(arguments: boolean, ...rest: any[]) {    ~~~~~~~~~~~~~~~~~~ -Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 +Found 2 errors in the same file, starting at: src/noChangeFileWithEmitSpecificError.ts:1 //// [/home/src/workspaces/outFile.tsbuildinfo] -{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} +{"fileNames":["../tslibs/ts/lib/lib.d.ts","./project/src/class.ts","./project/src/indirectclass.ts","./project/src/directuse.ts","./project/src/indirectuse.ts","./project/src/nochangefile.ts","./project/src/nochangefilewithemitspecificerror.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","545032748-export class classC {\n prop = 1;\n}","6324910780-import { classC } from './class';\nexport class indirectClass {\n classC = new classC();\n}","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","-8953710208-import { indirectClass } from './indirectClass';\nnew indirectClass().classC.prop;","6714567633-export function writeLog(s: string) {\n}","-19339541508-function someFunc(arguments: boolean, ...rest: any[]) {\n}"],"root":[[2,7]],"options":{"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[[7,[{"start":18,"length":9,"messageText":"Invalid use of 'arguments' in strict mode.","category":1,"code":1100},{"start":18,"length":18,"messageText":"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters.","category":1,"code":2396,"skippedOn":"noEmit"}]]],"version":"FakeTSVersion"} //// [/home/src/workspaces/outFile.tsbuildinfo.readable.baseline.txt] { @@ -605,6 +664,13 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 [ "./project/src/nochangefilewithemitspecificerror.ts", [ + { + "start": 18, + "length": 9, + "messageText": "Invalid use of 'arguments' in strict mode.", + "category": 1, + "code": 1100 + }, { "start": 18, "length": 18, @@ -617,7 +683,7 @@ Found 1 error in src/noChangeFileWithEmitSpecificError.ts:1 ] ], "version": "FakeTSVersion", - "size": 1487 + "size": 1595 } //// [/home/src/workspaces/outFile.js] diff --git a/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js index 9df1becc26efc..c6c3f0a4aca2a 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/correctly-handles-changes-in-lib-section-of-config-file.js @@ -61,7 +61,12 @@ Output:: 1 var x: Promise;    ~~~~~~~ -[HH:MM:SS AM] Found 1 error. Watching for file changes. +../../tslibs/TS/Lib/lib.es5.d.ts:14:15 - error TS1100: Invalid use of 'eval' in strict mode. + +14 declare const eval: any +   ~~~~ + +[HH:MM:SS AM] Found 2 errors. Watching for file changes. @@ -151,7 +156,12 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -[HH:MM:SS AM] Found 0 errors. Watching for file changes. +../../tslibs/TS/Lib/lib.es5.d.ts:14:15 - error TS1100: Invalid use of 'eval' in strict mode. + +14 declare const eval: any +   ~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.errors.txt b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.errors.txt new file mode 100644 index 0000000000000..718c5c5b7142a --- /dev/null +++ b/tests/baselines/reference/typeGuardsInFunctionAndModuleBlock.errors.txt @@ -0,0 +1,85 @@ +typeGuardsInFunctionAndModuleBlock.ts(47,18): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + + +==== typeGuardsInFunctionAndModuleBlock.ts (1 errors) ==== + // typeguards are scoped in function/module block + + function foo(x: number | string | boolean) { + return typeof x === "string" + ? x + : function f() { + var b = x; // number | boolean + return typeof x === "boolean" + ? x.toString() // boolean + : x.toString(); // number + } (); + } + function foo2(x: number | string | boolean) { + return typeof x === "string" + ? x + : function f(a: number | boolean) { + var b = x; // new scope - number | boolean + return typeof x === "boolean" + ? x.toString() // boolean + : x.toString(); // number + } (x); // x here is narrowed to number | boolean + } + function foo3(x: number | string | boolean) { + return typeof x === "string" + ? x + : (() => { + var b = x; // new scope - number | boolean + return typeof x === "boolean" + ? x.toString() // boolean + : x.toString(); // number + })(); + } + function foo4(x: number | string | boolean) { + return typeof x === "string" + ? x + : ((a: number | boolean) => { + var b = x; // new scope - number | boolean + return typeof x === "boolean" + ? x.toString() // boolean + : x.toString(); // number + })(x); // x here is narrowed to number | boolean + } + // Type guards do not affect nested function declarations + function foo5(x: number | string | boolean) { + if (typeof x === "string") { + var y = x; // string; + function foo() { + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. + var z = x; // string + } + } + } + module m { + var x: number | string | boolean; + module m2 { + var b = x; // new scope - number | boolean | string + var y: string; + if (typeof x === "string") { + y = x // string; + } else { + y = typeof x === "boolean" + ? x.toString() // boolean + : x.toString(); // number + } + } + } + module m1 { + var x: number | string | boolean; + module m2.m3 { + var b = x; // new scope - number | boolean | string + var y: string; + if (typeof x === "string") { + y = x // string; + } else { + y = typeof x === "boolean" + ? x.toString() // boolean + : x.toString(); // number + } + } + } \ No newline at end of file diff --git a/tests/baselines/reference/withStatement.errors.txt b/tests/baselines/reference/withStatement.errors.txt index 5924ab7909db0..1508863b79925 100644 --- a/tests/baselines/reference/withStatement.errors.txt +++ b/tests/baselines/reference/withStatement.errors.txt @@ -1,16 +1,22 @@ +withStatement.ts(3,1): error TS1101: 'with' statements are not allowed in strict mode. withStatement.ts(3,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +withStatement.ts(7,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. -==== withStatement.ts (1 errors) ==== +==== withStatement.ts (3 errors) ==== declare var ooo:any; with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. bing = true; // no error bang = true; // no error function bar() {} + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. bar(); diff --git a/tests/baselines/reference/withStatementErrors.errors.txt b/tests/baselines/reference/withStatementErrors.errors.txt index a4d59eb6f7b1d..99ceafffab57f 100644 --- a/tests/baselines/reference/withStatementErrors.errors.txt +++ b/tests/baselines/reference/withStatementErrors.errors.txt @@ -1,16 +1,22 @@ +withStatementErrors.ts(3,1): error TS1101: 'with' statements are not allowed in strict mode. withStatementErrors.ts(3,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +withStatementErrors.ts(7,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. -==== withStatementErrors.ts (1 errors) ==== +==== withStatementErrors.ts (3 errors) ==== declare var ooo:any; with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) { // error + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. bing = true; // no error bang = true; // no error function bar() {} // no error + ~~~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. bar(); // no error diff --git a/tests/baselines/reference/withStatementNestedScope.errors.txt b/tests/baselines/reference/withStatementNestedScope.errors.txt index 5f73f6c6296df..164cf18523493 100644 --- a/tests/baselines/reference/withStatementNestedScope.errors.txt +++ b/tests/baselines/reference/withStatementNestedScope.errors.txt @@ -1,12 +1,18 @@ +withStatementNestedScope.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. withStatementNestedScope.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. +withStatementNestedScope.ts(3,14): error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. -==== withStatementNestedScope.ts (1 errors) ==== +==== withStatementNestedScope.ts (3 errors) ==== var x = 1; with (x) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. function f(a: number) { + ~ +!!! error TS1250: Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. return 1; } // should be any diff --git a/tests/baselines/reference/withStatements.errors.txt b/tests/baselines/reference/withStatements.errors.txt index 2a77a294e6734..09473d5afed1b 100644 --- a/tests/baselines/reference/withStatements.errors.txt +++ b/tests/baselines/reference/withStatements.errors.txt @@ -1,9 +1,12 @@ +withStatements.ts(2,1): error TS1101: 'with' statements are not allowed in strict mode. withStatements.ts(2,1): error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. -==== withStatements.ts (1 errors) ==== +==== withStatements.ts (2 errors) ==== var x = 12; with (x) { + ~~~~ +!!! error TS1101: 'with' statements are not allowed in strict mode. ~~~~~~~~ !!! error TS2410: The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'. name = 'twelve'